Ocean Empires Design Document 1. Introduction 1.1 Revision History 1.2 Background and Story 1.3 Resources 2. Game Vision 2.1 Mechanics of Game 2.2 Description of Game 2.3 In-game Communication 2.4 Alliances 2.5 Combat 2.6 Spying 3. Requirements 3.1 Client-side Requirements 3.2 Server-side Requirements 4. Interface 4.1 Buildings 4.1.1 Production Buildings 4.1.2 Economic Buildings 4.2 Craft 4.2.1 Military 4.2.2 Peasants 4.3 Financial and Economic 4.3.1 Income/Outgoing Per Turn 4.3.2 Research Points Per Turn 4.3.3 Production 4.3.4 Consumption 4.4 Account Details 4.4.1 Personal Information 4.4.2 Country Information 5. Game Engine and Scripting 5.1 Turns 5.2 Money 5.3 Networth 5.4 Production 5.5 Units, Facilities, and Commands 5.5.1 Attacking an opponent (multiple attack types) 5.5.1.1 Limit attacks (Set times a person can be hit) 5.5.2 Spying on an opponent (multiple spy attacks) 5.5.3 Joining a clan 5.5.4 Creating a clan 5.5.4.1 Remove Members 5.5.5 Leave a clan 5.5.6 Creating a new country 5.5.7 Cashing 5.5.8 Exploring 5.5.9 Farming 6. Building 6.1 Construction of buildings 6.2 Production of goods 6.3 Research Production 7. Research 7.1 Research Tree 7.2 Government technology advantages 8. Trading 8.1 Black Market 8.1.1 Buying 8.1.2 Selling 8.1.1 Proportional Amount to sell for 8.2 Public Market 8.2.1 Buying 8.2.2 Selling 8.2.3 Government-Specific Market Tax 8.2.4 Uptime -- The amount of time the products will stay on the market 8.2.5 Amount able to be sold 9. Weapons 9.1 Weapon A 9.2 Weapon B 9.3 Weapon C 9.4 Weapon D 9.5 Weapon E 9.6 Weapon F 9.7 Weapon G 9.8 Weapon H 9.9 Weapon I 10. Future Additions or Features 10.1 Multiple countries allowed 10.2 Clan or Clanless games 10.3 Automatic Installation 1. Introduction 1.1 Revision History None at the moment. 1.2 Background and Story TODO 1.3 Resources PHP 4.x http://www.php.net MySQL 3.x http://www.mysql.com 2. Game Vision 2.1 Mechanics of Game The game will have a 'heartbeat' of # minutes (# can be a set value). This giving turns, refilling the private market of the player, and updating rankings. Players will gain networth, by producing/buying military, and also by purchasing/researching technology. The player will also attack, to gain territory and to weaken the opponent. The player with the highest networth in the game will be classified as the winner. 2.2 Description of Game 2.3 In-game Communication Support for in-game communication will be important. Communications will fall into two categories: in-game and forum. In-Game communication is where players that are logged into the game can send and receive messages. The player will designate a an empire's number to send the message to, and the message will then be 'sent' to the person with the designated number. When the person the message was sent to logs in, he will then be able to read it, with a message being displayed on the page, telling him/her they have a new message. The player will then be able to delete/report a message. Forum communication will allow administrators to create and moderate multi-threaded forums much as those one would expect to find on a community web-site. Only registered players will be able to post on these forums. There will be a set of prenamed forums, these forums will be the only forums that are created. 2.4 Alliances Alliances, in-game, will be optional. Players will be able to choose whether to join an alliance, or go solo. The player will be required to put a password and tag in, to join an existing an alliance. They can also choose to create their own, specifying a clan name, tag, website, and password. They can recruit for their clan, and tell members of their clan the tag and password to join. There will be several pages to display clan statistics. One will display the clan's top 50 members, for all clans. There should also be 3 others, one which will display the top 25 of the following: total membership, average networth, and total networth. Top 25 Clans by Membership should display: The clan's name, with a link to see THEIR top 50 members. The clan's tag, amount of members, average networth, and total networth. They should all be in ascending order, from greatest amount of members to least. Top 25 Clans by Average Networth should display: Everything that the top 25 clans by membership does, except the clan MUST have a minimum of 10 members. Top 25 Clans by Total Networth should display: Everything that 'Top 25 Clans by Membership' does. The alliance's top 50 page will be updated every 4 hours. The updating of this page, will put the players in the clan in order by Networth. 2.5 Combat Each player will be able to attack another user's emipre. They have the ability to destroy it, if desired. The user will have different attack types. Each attack type varying in its strength and uses. Attack type 1: This uses all troops/land units. It does NOT capture land. It will destroy another user's food as well as kill some of their population/peasants. Attack type 2: This uses all jets/air units. It does NOT capture land. However, it does destroy land and population/peasants. Attack type 3: This does not uses land or air units. The unit used in this attack shoudl only be used for artillery attacks. It will only destroy structures and possibly people. Attack type 4: This will only use a missile Attack type 5: This will declare war Attack type 6: This is just a normal attack. It will be normal strength. Attack type 7: This is a 'planned' mission. This will send the user's selected military 'out' for a certain length of time. This attack is stronger than Attack type 6. Attack strategies: Standard: Just a normal attack, will lose 'default' amount of military Aggressive: You will have more of a chance of winning with this, on the contrary, you lose more military. Cautious: Will not lose as much military Aggressive: Stronger than the "Standard" attack. It uses more military and has more casualties. Cautious: Weaker than all the above attack strategies. You lose less casualties, and have a weaker attack strength. 2.6 Spying Players will be able to produce spies. They cannot and will not be able to be bought. However, the player can sell them on his/her private market, for a price, given by a formula. They can be produced by a military producing building only. The chances of 'breaking' through when attempting to spy, will be set by a formula provided later. Spy types: 1: Should be able to see a complete 'status' of the enemy's country. 2: Should make the enemy's population to drop/leave 3: Should be able to destroy missiles 4: Should be able to destroy land, with air units 5: Should be able to kill land units 3. Requirements 3.1 Client-side Requirements A browser that supports CSS, Cookies, and PNG Image files. 3.2 Server-side Requirements PHP 4.2 or higher MySQL 3.x or higher Access to cron (for linux users) and/or something similar on windows 4. Interface 4.1 Buildings The 'buildings' page should contain the following information: Name of building, amount of the specific building owned, the amount of buildings that can be built , and an input area to buy them. It should also display the amount of freeland the user has, as well as display the cost to build (based on a formula), and how many they can build a turn (based on a formula). Along with a link to destroy the buildings. Destroying buildings will be based on a formula, except to drop 'Free Land', it will also be optional to for it to use turns or use no turns. This will be configured in the config file. 4.1.1 Production Buildings Names are unknown at the moment. Though, these buildings will be used to produce military. 4.1.2 Economic Buildings Names are also unknow at the moment. THough, these buildings will be used to lower the cost of military, produce money/food. 4.2 Craft . . . . 4.3 Financial and Economic . . . . 4.4 Personal Information 4.4.4 Country Information The users country information will be displayed on a main entry page. There will be a 'status like' bar at the top of every page, containing the users information. 5. Game Engine and Scripting 5.1 Turns 5.2 Money 5.3 Networth 5.4 Production 5.5 Units, Facilities, and Commands 5.5.1 Attacking an opponent (multiple attack types) 5.5.1.1 Limit attacks (Set times a person can be hit) 5.5.2 Spying on an opponent (multiple spy attacks) 5.5.3 Joining a clan 5.5.4 Creating a clan 5.5.4.1 Removing Members 5.5.6 Creating a new country 5.5.7 Cashing 5.5.8 Exploring 5.5.9 Farming 6. Building 6.1 Construction of buildings 6.2 Production of goods 6.3 Research Production 7. Research 7.1 Research Tree 7.2. Government technology advantages 8. Trading 8.1 Black Market 8.1.1 Buying 8.1.2 Selling 8.1.2.1 Proportional Amount of selling 8.2 Public Market 8.2.1 Buying 8.2.2 Selling 8.2.3 Government-Specific Market Tax 8.2.4 Uptime -- The amount of time it will stay on the market. 8.2.5 Amount able to be sold 9. Weapons Weapons are used to attack an opponent. The names are undecided at the time of this writing. 9.1 Weapon A This weapon should be a defensive weapon. It SHOULD NOT be displayed when going to attack an opponent. It will only be used when being attack, hence it being a defensive weapon. 9.2 Weapon B This weapon should be an offensive weapon. It SHOULD be displayed when going to attack an opponent. It will not be used when getting attacked. 9.3 Weapon C This weapon will be neutral (strongest of the two neutrals). It SHOULD be displayed when going to attack an opponent as well. It will be used when both attacking an opponenet and when defending an attacker. 9.4 Weapon D This weapon will be the second neutral weapon (weakest of the two neutrals). It SHOULD be displayed when going to attack an opponent as well. It will be used when both attacking an opponenet and when defending an attacker. 10. Future Additions or Features 10.1 Multiple countries allowed 10.2 Clan or Clanless games 10.3 Automatic Installation 10.4 Location Alliance Game Alright, this would be a modified part of the game, for a different type of it. A user would sign up, they will be sent to a part of the Globe...being East, North, South, or West. So if there is 100 countries, I would like the code to make it so every part of the globe could be equal...and people would have wars... and kill the "West" part of the globe..and so on... So like if you are East, then you and the people on the East, are allies..trying to kill all the others... You can then send messages to people on the other parts. And have the script occasionally rotate the ppl... So if someone dies and the resignup.... So, for like every signup, have it change one person, and put the applicant in the one a person was removed 10.5 Researching This idea, would allow for a user to enhance their empire. It will give them stronger 'abilities'. It could make them produce more military/food/money. Improve their attack strength/attack losses. Lessen the chances of a harmful attack of breaking through. Enhance the spy capabilities, so that their empire is not easily spied on.