All +
All -
Ship-Simu Ship-Simulation
- + -
Browser-Game
- + -
Tick-based simulation
- + -
Cronological job (cron)
- Addional requirement for installation
- + -
Click-based simulation
- User clicks a button, action performed
- + -
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
- + -
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
- + -
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
- + -
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
- + -
Payment System
- + -
Different payment APIs exists
- + -
Wernis API
- Request: GET,POST
- Response: Own format
- + -
Primera API
- Need special agreement here!
- Request: POST
- Response: Own format (?)
- + -
(Paypal)
- Has expensive fees for sender
- + -
~ Moneybookers
- + -
Request: GET
- Response: XML
- Rambler?
- They all must be queued if a user orders something
- + -
The ordered item must be validated if it is being sold
- This should be done by a composite filter pattern (composite combined with filter)
- + -
An other pattern shall e.g. only book the item/money if the API gives positive reply
- + -
How does a shipping/travel company work?
- + -
Start as a founder by selecting a harbor
- + -
Shipping company
- + -
Construct neccessary buildings
- Make contract with construction companies
- Build ship parts and trade them
- + -
Order ship parts
- Fron your partners
- On global market
- + -
Traveling company
- May select between shipping companies and make special ofers to customers
- Manage a journey
- + -
General (all)
- + -
Make contracts with other companies
- Construct ships for partner
- Drive by your partner constructed ships
- + -
Become CEO and manage your company
- Nominate department managers
- Recruit new employees
- Pay salery to your employees
- Let other gamer manage your company
- + -
Compare prices
- Make a purchase computation system
- + -
Or start as an employee
- + -
Start as a simple sailor
- + -
And end up as a captain
- Control your ship (depends on client)
- + -
Or as a shipbuilder
- + -
Repair ships
- Renew the painting
- Fix broken things
- Build up new ships
- As an officer
- As a cleaner
- + -
Create a board of managers
- Only for bigger companies
- + -
Design your own ships
- From templates (default ships)
- Or your complete freely designed layout
- + -
Ride constructed ships
- Make sail plans
- + -
Transportate cargo or humans
- Make your passengers happy
- Load containers and bring them to other harbors
- Transportate oil from ricks to the refineries
- Depends on used client
- + -
Earn a lot (virtual/real) money
- Sell a journey
- Trade with goods
- Construct ships for other companies
- + -
Play as a passenger
- Order a jorney to your desired destionation
- + -
Multi-Player Mode
- Networked over hubs
- + -
Big map which holds all harbors
- Seperated into small maps to cluster the load over the network
- + -
Java client
- Real-time simulation
- + -
OpenGL (3D Graphics)
- OpenAL (3D sound)
- + -
"Faked" Single-Player
- Locally installed version
- Does not connect to other hubs
- + -
"Save games" should be incompatible with MP mode
- + -
Sand-Box Mode
- + -
The player can test the game
- Some people like to "explore" the game
- Or just wanna have a look
- There are no competitors
- Creating characters is for free
- The game will not connect to network
- + -
Characters are invalid to multi/single-player characters
- + -
Modern-epoche game
- Age: 1950+
- The abstraction level is kept low
- + -
Licences
- + -
The game
- + -
Ship-Simu is licensed under the GNU GPL 3 or any newer version
- See docs/COPYING.software
- + -
This document
- + -
This mind-map is licensed under the GNU FDL 1.2 or any newer version
- See docs/COPYING.documents
- + -
Artworks like sounds/graphics
- + -
Data exchange protocol
- + -
Default is an own small format
- Reduces traffic between servers
- + -
Easy rewriteable to e.g. XML
- Other clients (Flash) can also connect
- Java and browser client can play together
- + -
Optional Pillory
- To make e.g. nazi propaganda activity public
- Shall keep bad players away
- + -
Requires some "game-moderator" access level to manage
- The moderator shall have an extra flag e.g. "pillory_accessable"
- + -
Players, companies et cetera should be lockable
- The moderator can choose wether to lock with pillory entry or just locking down
- + -
How do you construct a ship?
- + -
The technology
- + -
Ship
- Size
- + -
Construction
- Hull
- Wheel house
- Support (meal) for crew/passenger
- + -
Rooms
- Canteen
- + -
Cabin
- Luxury cabin
- Premier cabin
- Economy cabin
- Low cabin
- Motor room
- + -
Special rooms
- Cinema
- Theatre
- Disco
- Bars/Cafes
- + -
Engine
- + -
Decks
- Car deck
- Truck deck
- Train deck
- + -
Crew (depending on ship type)
- Sailor/captain
- Cleaners
- Security service
- Maintenance staff
- + -
Catering staff
- Cook
- Steward (passenger ship)
- + -
The economics
- + -
Costs
- + -
Ressources
- + -
Wood
- Coverage
- Constructuon (all)
- Financials
- + -
Iron
- Marmor
- Color
- Carpets
- + -
Work
- + -
Worker
- + -
Qualified
- Fast
- Hight-quality work
- Expensive
- + -
Helper (non-qualified)
- Slow
- Low-quality work
- Cheap
- Employee morale
- Salary
- The research
- + -
Unsorted ideas
- All buildings shall gain a basic tech-level
- Some parts of the ship or building are only available at or above a tech-level
- Tech levels can be improved by research
- General research complexes can increase tech-level of all types of buildings and ship parts
- Doing resarch requires a lot money
- Specialists must be hired for doing the research
- + -
Ship yards are highly required to construct ships
- Without these facilities the gamer shall never be able to construct ships
- Hired workers must be trained to do simple steps
- + -
Misc
- + -
Websites
- + -
Author
- + -
Roland "Quix0r" Haeder
- + -
Ideas
- + -
Roland "Quix0r" Haeder
- Main concept
- Translation of monakoianar's ideas to english
- + -
Dominik "monakoianar" Schmauder