Case Studies \ A multi-player online soccer management game
Our client wanted to create a virtual world for soccer lovers wherein they could assume the role of a manager of their favorite team and help improve its fortunes. Real world scenarios were required to be rendered in the virtual world. Icreon designed and developed the game on the .net framework.
Soccer is one of the most popular sports across the world. Our client wanted a solution that would allow him to tap into this huge fan base. Game-play was to involve players managing soccer teams. As in the case of managing real-world teams, the manager was to be provided with options to recruit players for the team, set player contracts, train players and prepare them for the game. Managers were to be provided with the means to formulate match strategies and participate in games to view the implementation of their strategies. Solution administrators were to be provided with the means to create and setup teams, schedule competitions, manage website members etc.
A virtual world for soccer
The solution developed on the .Net framework providers the client with the means to operate a virtual world for soccer fans. In the game, players assume the role of the manager of a soccer team. As in the real world, managers can control their teams, strategize, manage finances, participate in matches etc.
At a broad level, the solution has been divided into the following sections:
- Public Website
- Administration Interfaces
In addition to the gaming world, a member has access to a chat room and discussion forum. Third-party tools have been used to provide these functionalities.
The game play involves the implementation of a mangerís strategies on his team.
To play, members must setup a managerís profile, which is their avatar within the virtual world, and select a team to manage. The activities that a manager performs have an impact on the team. A detailed tracking mechanism has been built-in allowing the system to track activities of all managers and their impact on various items. For example, if a manger does not conduct training sessions for his team, then the performance of the team will be adversely impacted.
As in the real world, time progresses in the virtual world. Time has been scaled down with 1 year being equal to 31 human days. The date/time is setup when a member sets up a manager profile. Thereafter the time will be dependent on the time the member has spent managing the team or playing. As time goes by, both the players and manager will age, and once the retirement age has reached, the player and manager are removed from game-play.
At the start of the game-play each team is assigned a certain sum of virtual money (as setup by the admin) which can be spent on player/staff wages or for purchasing items from the store. Items can be purchased to improve the performance of individual players of a team. Money can be earned from playing matches and stadium ticket sales (for matches played in home stadiums).
Manager can earn additional points for their manager by participating in various predict and win competitions. Administrators can setup contests for real-life games, players can participate by selecting the wining team and score line. In case the answers match that entered by the administrators, the playerís manager will earn the defined number of points thereby adding to the manager experience.
As a manager a member can:
- Hire players to be part of the team
- Define the squad i.e. main players and reserve players.
- Manage contracts of players. A contract details out the wages to be paid, the duration of the contract and whether or not the playerís availability for transfer.
- Conduct training sessions for the team to improve performance. This has an impact on the matches played by the team.
- Trade players and items in the market place. For this they can setup individual stores and add players/items to it and define their costs. However a trade is possible only if both the parties (buyer and seller) are online.
- Participate in individual matches or competitions. Matches can be of various types; leagues (competitions against computer teams or teams belonging to other managers) and quests (wherein managers take on the responsibility of managing another team with the objective of helping the team reach a specific goal).
A match day in the virtual world begins with the manager selecting his/her line-up for the game, setting the player positions and issuing game-play instructions. These instructions will have an impact on the way individual team members perform. All these activities need to be performed within a given time-frame. In case the manager fails to do so, the system will assign defaults and the game will begin.
The outcome of the match, is calculated by the system, based on various parameters such as team/manager experience, playersí skills & experience, tactics and strategies, game-play instructions given by managers, weather conditions, home crowd advantage, referee bias, player attributes, strengths/weakness, fitness levels etc.
The results are determined by the algorithm. Several parameters are taken into consideration to determine a winner including, manager experience, individual player experience, instructions given to players, on-field positions that the players have been assigned to, the city and the time of the year that the match is being played in, the referee bias and the home crowd advantage etc.
The system will identify all playing scenarios and will the course of action that a player will take. This again will be decided upon by taking into consideration player attributes, instructions that have been given to the player, the playerís mental abilities etc. The game will be played out in probabilities- when two or more players are chasing the ball, the ball will eventually be taken by the person who has the highest probability for taking the ball. Each player movement within the game is tracked allowing the creation of detailed player statistics such as goals scored, missed, fouls etc.
At the end of the game play, the team with the higher probability of winning, in the given scenario, will be awarded the match. The outcome will involve updating the player and team profiles, the managerís experience points will be increased, player experience and other attributes will be increased etc. The gaming world time will be incremented by the time that the team was away playing the match/competition. The more games that teams play the better will be their experience points and that better are their chances of performing well in forthcoming matches.
Several checks have been put into place to ensure that a manger does not abandon a game mid-way. Managers will be penalized for doing so; a specified number of points will be deducted from their experience levels. In case a manager gets logged out during game play he can continue the same game in case he/she logs back within two minutes. On abandoning the game, the system will declare the opposing team as the winner; all end-of-game calculations will be performed and the player/team statistics will be updated.
Web based back-end interfaces have been provided, allowing game administrators to manage the website. Accessible only to authorized users, the back-end interfaces provide the administrator with the means to manage all game related. In addition, administrators can upload news, send messages and communicate with members.
Mentioned herein is a detailed look into the various modules available to the administrator:
- Admin Users: Herein authorized users can create and manage user accounts for people who can access the back-end interfaces. Permissions levels can be defined for users.
- Publish Content: Users can update and publish content appearing on the website including terms and conditions and news.
- Banned Word List: Users can create and manage a banned word list. In entering information on the website, members will not be allowed to enter any word that is mentioned within this list.
- Track Members: A list of all members who have registered with the website will be provided. Users can view & update their details. Options to block members from the website have also been provided.
- Game Settings: Users can define defaults that will be available to members the first time they play. Once members choose their teams and players, these default will change based on how the member plays the game. These include:
- Defining the various cities wherein matches can be played, the conditions, home team etc. Weather conditions will have an impact on the match being played.
- Setting up stadiums wherein matches can be played including capacity etc. This will impact the money earned by the home team.
- Setting up teams including the cash reserves available, the default experience points, their logos & kits, home stadium, rivals etc.
- Setting up player profiles including personal information such as name, age, nationality etc. The user can also set the default contract terms and transfer criteria. A comprehensive list of attributes for the player such as mental strength, personality type, fitness, playing capabilities, aggression, happiness level, fitness, etc can be set. These attributes have an impact on how a player will perform within a game. Avatars can also be uploaded for each of the players.
- Setting up profiles for support staff including coach, physio, scout etc. As with players, attributes defining mental strength, capabilities etc can be set. The default terms of contract can also be defined. The support staff abilities will impact how a team performs.
- Team Managers: Team managers are manager profiles setup by members. Users can view the details of all managers and can see track their progress within the game i.e. their current experience levels and attributes etc.
- Setup Competitions: Users can setup league and quest competitions. In these, soccer teams can complete against each other. Details of the contests can be setup including the rewards and registration criteria. Schedule of all matches can also be set. Users can also define items that are to be randomly offered to teams during a match.
- Game Promotions: Promotions are applicable to leagues or quest competitions and are a means of informing members about the scheduled quests and leagues. As enticement members can be offered special players, cash points etc for participating in specific leagues/quests.
- Manage Store: Items can be listed for sale in the storefront. Items can be purchased to improve the performance of a team and can include:
- Power Items to boost a playerís performance
- Recovery Items, to ensure speedy recovery of injured players
- Improvement items, to improve the overall team performance
- Ticket items, to allow team direct entry to specific rounds in a league or quest
- Special players, who can be added to a team.
Users can setup the exact attribute that each item would impact and the cost of the same. Cost can be in terms of virtual money (deducted from a teamís cash reserves) or real money (via credit card).
- Generate Reports: Users can generate a variety of reports to track activities on the website. These include reports for revenue earned (detailed payments made towards premium membership), customers (detailing members who have registered), competition history (detailing members who have participated in leagues/quests and the results of each), member purchase history, player statistics etc.
Technologies used in developing this application are: