Introduction 2 Fundamental Game Ideas 3 Player Classes 3 Security: 4 Business: 4 Media: 5 Game Balance: 5 Money: 5 Conclusions: 6 Introduction This is the design documentation for the sourceforge project currently known as 'downlink.' Upon completion of this, it should serve as a guide for implementation of the project. Until a better format is suggested, it will be kept as a word document for ease of tracking who made what changes when. Revision Information Revision 1 (18 Mar 2002): Added revision information and game setting sections. Added to login systems, and elaborated on what business and media classes do. This revision primarily due to ideas from user direwolfx of TopCoder.com Revision 0 (24 Feb 2002): Initial Revision Fundamental Game Ideas This game is based on the concept presented in the commercial game 'Uplink,' a single player game in which you are a hacker employed by others to break into computer systems for various reasons. Downlink expands on that by allowing you to be involved in not only the hacking aspect, but also the business aspect that consults with hackers to help them achieve goals and the media aspect, which reports on hacker activities as well as other things. Three player classes are created from this: business, media, and security. The goal is that eventually the players on the system will create a self-sustaining environment, however because that won't happen immediately, a fourth class, sysop, is created that allows the player to adjust parameters of the running system from within the system. The sysop class would not be selectable, but perhaps through in game trickery a player could attain this. (Administrators of the system would be able to set their class to sysop outside of the game environment.) When logging into the downlink environment, the user would first authenticate to the system with a username and password, to establish the users' out of game identity. Then the user would be presented with a login to their downlink terminal, asking for an identification number and a password, this would establish the users' in game identity. A user can have more than one in game identity, and the login to the in game identity could possibly be hacked through in game systems. The in game ID numbers and passwords will be randomly assigned. After authentication with a username and password, the user would be presented with a list of ID numbers and their corresponding passwords (or at least the last password, the user has successfully logged into that ID with). The password associated with the ID number can be changed, but only to another random password. This will prevent users from using passwords that they use in real life, which could cause the users real life difficulty. No details regarding the out of game identity, including any correlations between in and out of games identities will be made available through the system. While this is a game involving stylized hacking, no real world hacking of the system can be tolerated. Discouraging hacking of real world identities is one of the prime reasons for having the two login systems. Additionally, system status messages could be reported after the first login, so that users with many in game personalities would not be bothered by receiving the same update messages multiple times. Further benefits will probably be realized as the design and implementation progress. While any behaviors tracked by the system that are not accessible via the system will probably include the username as well as the identification logged into, as long as users are not operating outside any rules of conduct, no action will be taken on the logs. These rule of conduct have not yet been made, but will probably include such things as do not list real world contact information of other players, and don't harass (this will be defined better) people. Game Setting This game will be set in the future of earth. A general-purpose computer controls anything and everything a person does. And all of these computers need software to run them. Thus, most major corporations are strongly involved in software production. The global government provides food, water, and a place to sleep and live to all citizens; however, computer hardware still costs money, as does software. Characters will begin with a basic computer system and a small amount of money, as well as a debt to a bank. Because of so many companies in the same business (software), industrial espionage has run rampant. Player Classes This section discusses each of the player classes in detail. Some sort of experience system will be necessary, in order to gauge ability of players in different areas. The experience system will be broken into 3 measures, one for each of the normally playable classes; there will possibly be a 4th measure for sysop skills, that would not be visible to normal players, but could be gained for taking place in activities that better the system, if there was a need to recruit more sysops, this measure could be looked at to determine who would be a good candidate. One of the goals of the experience system is to limit the availability of certain options to those more experienced in the system (i.e. only good business people can be CEO's, only good media people can directly report to the major newspaper, etc). Additionally, it will take into account deterioration of skills due to disuse, so if a former media person decides to become a security person, but does not use their media skills anymore, if (s)he ends up going back to media after a fairly long period of time, the media skills and connections will not be as good. However, there is a certain level of skill that once attained will not go away, and if the user really wants to, they could create a character good at everything, but this would require a lot of effort. Without further ado, here are the player classes: Security: This is the type of player that uplink is devoted to, one who knows (or tries to know) the ins and outs of computer systems. This player could be involved in both hacking into systems and setting up systems to prevent hacking of them. As this player increases in experience, they would be more become more likely to be chosen for more difficult jobs. Additionally, software used in hacking and securing systems would require that its user have sufficient experience in security, or possibly to have taken courses in it. Also, software would not be available for purchase from reputable stores until the player has more than enough experience to use it, unless the player is certified to use it. After taking a course in a piece of software, a user would get a grade in that course; this grade would be semi-random, based on experience, successful use of this software (or previous versions), as well as the length of the course and other factors yet to be determined. The grade on this course will determine if you can use it (with a passing grade) and if you are certified to use it (with a high enough passing grade). A certification on a certain version of a piece of software does not necessarily equate to a certification on a higher version, but will work for a lower version. If a job requires specific software, you will be unlikely to get the job unless you can buy the software in a reputable store, regardless of if have a copy of the software and can use it. Software available for attack at any particular experience level will be able to successfully attack defense software available at that same level and possibly higher. Experience will be gained by hacking and defending against hackers. Unsuccessful, but close, attempts can also cause experience gain. Business: This is the type of player that is involved with management in a company. At the highest level of management of a company, this is the CEO. This player will have goals related to the company that will include budgeting, and time restrictions. To accomplish these goals a businessperson may need to hire abstracted workers, or seek the assistance of a security player. The rate of pay that the workers require will vary based on public perception of the company, as well as other factors based on the character's stats. For example, if a company has recently been involved in some sort of scandal, people will require more money to work for them. A company that has recently released a product will be able to acquire cheaper labor. An experienced business person would be able to find cheaper labor than someone just starting out. Additionally, this player may need to contact a media person to help get publicity. As an example, a player may be given a goal of developing software within some time limit and with some amount of money. The player could then hire some coders to work on it, and additionally could consult with a security expert to help safeguard the work of the coders. Alternatively, the player could hire a smaller amount of coders, and consult with a security expert to steal some research from another company writing similar software, and then have his coders finish it up. When he is done with the project, he could consult with a media person to have a product announcement. The purpose of the business player class is to generate a need for hacker missions. All of the employees the player hires are abstract, but the consultations are with other players. Experience for a business class player will allow the player to hire better employees for fewer costs, as well as hold higher positions in the management hierarchy, and work for more prestigious companies. Some business goals may be able to be broken down and given to business class players under you, or may be contracted out to other businesses. Experience is gained through successful project completion, and use of outside resources to help with project completion. Unsuccessful project completion can result in some experience gain depending on level of completion. When a project is completed, another project will be available, and there may be more than one to choose from. Possibly multiple projects can be worked on at once. Media: The media type player is involved with the news services of the game. The publications charge fees based on where the article will be placed, but pay submitters based on how many people click through the headline and read the full article. The submittal fees go down as experience level increases, and the pay increases with experience level. Experience is gained based on exposure of the headlines and how many people click through for the full article. Initially the player must submit articles through a wire agency, however a publication may make an offer of a staff position. A staff position means that a user no longer has to pay a submittal fee, and news is more likely to be accepted, however pay decreases, additionally the publication may pay the submittal fee for articles submitted to other publications, but will take a percentage of the payment from that publication. Additionally, a media player may be involved with editing and would be involved in choosing which articles make it, and which don't. Media plays a major role in public perception of companies. If a company is in the news a lot for good things, then the public will hold them in high regard, however, if there are reports of scandals within the company, their image will be tarnished. However, the type of publication (respected news journal, tabloid, etc) the articles are published in will change the amount of affect an article has on a company. Additionally, if the article is published with an author listed, the author's status changes the affect as well. Interaction Between Classes: In order for this game to be interesting, all the classes are necessary, and furthermore, they must interact. The business and media characters provide the security characters with jobs, the security and business characters provide the media with story leads, the security and media characters provide the business characters with a means to improve their company relative to others. Methods of communication between characters in-game will include bulletin boards, chat rooms, instant messaging and email. Through these means, business people will be able to look for security people to help them pursue industrial espionage, or media people to help them get press releases about their projects in development out. Game Balance: A goal of this game is to make a system that people will enjoy playing in, and will be self sustaining, only when the system can truly sustain itself will the creators be able to honestly play as regular players and have the fun they envision others have. In order for the game to be fun and self-sustaining all types of characters must be viable, and a good mix of character types must be played. In order to foster a good mix of characters, experience and monetary rewards will vary based on which classes there are too many players of and which classes there are not enough of. Money: The first concept for the monetary system will be inflation free. Software prices will be constant; the same will be true for the base prices for the abstract people that business class users hire. However money available to companies will vary, so business people may have different amounts of money to spend on security, and publications will have differing amounts of money to be able to spend for articles. Conclusions: This is an initial draft of the design document, and many things still need to be worked out. Hopefully this will provide a good framework for the project to continue design work under, and once the design is sufficiently good, implementation can begin. For the time being, the focus should be on design of the system as considered from the server side, but as soon as the server side design is fairly solid, work regarding the interface with the client side can begin. Downlink Design Documentation 6 of 7