All +
All -
~ Browser-Game
- + -
Procedures
- + -
Registration procedure
- + -
Make sure the user account is only used once
- An AJAX request may give the user faster feedback
- + -
If required make also sure that the email is used once
- Another AJAX request might be helpful here
- Both passwords must match as verification
- Non-required form fields are checked only if there is content for XSS or other bad things
- Encrypt/hash the password (should always be performed)
- Complete the registration by adding the user account to the database
- + -
Registered partners shall be notified with different ways
- XML-RPC is the default
- Different notifiers shall also be possible
- This might be queueable to avoid long waiting times for slow partner pages
- Send out confirmation mail if requested by configuration
- + -
Redirect the user to a new page
- Default is the "Registration completed" page
- Home page shall be chooseable
- Other URLs can be used as well
- + -
Alternatively login to the internal area
- The account is not useable if email is not confirmed
- Login procedure
- + -
General
- Most steps shall be done by an intercepting filter pattern
- + -
Pseudo-3D graphics
- + -
Still graphics
- + -
Different ships
- Passenger ship
- Oil tanker
- Container ship
- Misc small ships
- + -
Buildings
- Shipyard
- Dry dock
- Terminal building
- + -
Vehicles
- + -
All pics should be self-shooted
- This avoids copyright conflicts
- The requested buildings/vehicles must be found in reality
- + -
Slightly moved graphics (GIF)
- Water surface
- Sky texture
- + -
Tick-based simulation
- + -
Cronological job (cron)
- Addional requirement for installation
- + -
Click-based simulation
- User clicks a button, action performed
- + -
Fully XHTML 1.0
- Latest Internet standard
- Older browsers will make lesser trouble
- + -
Should validate with the W3C HTML Validator
- + -
Design is CSS-based
- Nice AJAX features
- + -
Website structure
- + -
External guest area
- + -
News on the front page (home)
- + -
The news source can be choosen from different
- Previously typed and stored in database
- + -
Local XML files
- Hint: Created by external generators
- Remote XMLs like RSS feeds
- + -
The typer can choose a category
- New categories can be suggested by the typer
- An admin can create new categories
- + -
Comments are allowable
- Logged-in users
- + -
Guests as well
- + -
One object for all news should be fine
- Do not use one object per news entry!
- + -
The object receives a "Requestable" object
- Obtain page number and sent comment data from it
- + -
Registration form
- One single page
- Multiple pages
- + -
Login form
- With guest login (disable by the admin)
- Password reminder
- Link to the registration form
- + -
Different login methods configureable by admin:
- By username+password
- By email+password
- By username/email+password
- + -
Wether cookie-based or session-based login
- This shall be configureable by admin
- + -
Screenshot gallery
- Comments are allowable
- Should be kept simple
- List of enabled features
- Statistics of the game (not whole network!)
- + -
List of playing users
- With link to their public profiles
- + -
Pillory
- Username (who got locked)
- Date&Time
- The admin
- Stated reason
- + -
Small extra pages
- Imprint (required in Germany)
- Privacy policy (required in some countries)
- + -
Internal game area
- + -
News on first login page
- Like on "home" page except that there is no captcha required
- Including history of recent events since last login
- Announcements in special sub-category for newly founded shipping/travel companies
- + -
Create new game character
- + -
The gamer can have all varriants
- This may be limitable by admin
- The player still cannot make contracts with own characters
- + -
It should cost somewhere a fee
- The fee shall be payed from user account
- For first character creation he shall have enougth game money plus some extra
- + -
Types of characters
- + -
Shipping company founder
- This includes the fee for funding new company
- + -
A news for the community shall be placed
- The admin/mod can still moderate it
- + -
Travel company founder
- + -
Jobholder
- Starts unemployed
- Some money left for sending applications out
- May ask goverment for financial help
- + -
Has to pay monthly fees
- Rent for a "fake" house
- Meal and drinks (faked)
- Others costs like phone,electricity
- + -
Merchant
- Raw resources
- Constructed ship parts
- Smaller complete ships
- + -
Marketing Agency
- Sells marketing/merchandising products
- This is only possible if account is activated
- + -
"Load" existing character
- Contains link to "Create new character"
- Player sees some basic data about listed characters
- Locked characters should not be removed instead marked with "Locked"
- + -
Refill account points
- The admin may choose if the in-game can be converted with a low rate to account points
- + -
This option might be disabled by admin
- Then the gamer can only refill in-game money per character
- + -
Update gamer/user profile
- Enter the current account password
- Send email to the user only if no email has changed, or if ...
- + -
Has the email been changed?
- Send new confirmation to new email
- Send notifier to old email
- + -
Change account password
- Enter current account password
- Enter new password twice
- Send an email to the user
- + -
General infrastructures
- Point system (in-game money)
- + -
A.I. goverment
- Shall help unemployed gamers staying alive (but not becoming rich)
- + -
May later on collect taxes from companies
- For paying unemployed people
- Financial support for broken companies
- May ofer social security services
- + -
Goverment is not playable at the moment
- It should be "played" abstractly by the server
- Gamers may help each other with financial support
- + -
Strict coding guidelines for clean PHP code
- + -
General code structure
- + -
Fully object-oriented
- + -
Use of different but practical design patterns
- Factory-method pattern for smother initializing of objects
- Template method pattern where it matches
- MVC pattern for the website core
- Only one index.php shall provide access to the whole game
- Slower in PHP5
- + -
Documentation
- + -
In-line documentation
- Script header with full copyright and license as requested by GNU GPL 3
- Method headers with Doxygen compatible tags
- Comments above single lines for better understanding what is happening
- + -
Files in directory "docs"
- + -
COPYING*
- + -
Conception
- As OpenDocument and later PDF as well
- + -
NEWS
- Latest news around the game (coeer and gamer)
- + -
README
- Includes installation instructions and general gaming guidelines
- + -
ArgoUML diagram
- For visualization of the class structure
- + -
FreeMind document
- + -
THANKS
- All people helped in some direct or indirect way, less or more.
- + -
minmap_yyyymmdd.html
- Exported FreeMind maps to HTML with CSS and JavaScript
- Folding of the code
- Tabs and spaces