Development Roadmap
Iteration 1: Initial Geoscape.
- Geoscape screen with basic buttons.
- Earth globe showing on screen.
- Add sun, have sun move according to date/time.
- Buttons to control game speed.
- Skybox
- Buttons to move camera's position.
- Draw bases (pyramid) on screen at randomly chosen geoposition.
- Code to compute geoposition of a mouse click on earth globe.
- Base creation sequence.
- Save/Load game time to file
- Document project structure: file locations, how the main loop works.
Iteration 2: Craft AI.
- Specify Requirements.
- Document design.
- Build.
Need to document this phase better.
Things I need to cover:
- UFO mission types (and behaviour during missions.)
- Alien Overmind AI.
- UFO AI.
- Human craft mission types (and behaviours)
- Human craft AI.
- Repair/Refuel/Rearm of Human craft at bases.
Geoscape behaviour.
- UFO is repeatedly spawned (with 6 hour intervals) on research like mission.
- If right click mouse, Geosceen will pan with mouse movement. (Stops when right click again.)
- Intercept button - launches interceptor at UFO.
- If reaches UFO, UFO "crashes"
- If Intercept a Intercept crashed UFO, "battlescape mission"
- If don't intercept a second time, after 12 hours UFO "repairs" itself and flys away.
- If UFO escapes, get "Patrol/Return to Base/Go to UFOs last known position" dialog
- If craft runs low on fuel, returns to base.
- Interceptor refuels when in base.
- Left clicking on the geoscape sends interceptor to "patrol" the indicated position.
Geoscape Stuff that hasn't been implemented yet.
- Radar detection/visibility
- Click on position on Geoscape to select craft/UFO/Base etc.
- Waypoints are not shown on Geoscape.
- Create Base.
- Multiple bases. (Although in principle, not difficult)
- Multiple simultateous UFOs (Although in principle, not difficult)
- Multiple Interceptors(Although in principle, not difficult)
- Intercept dialog
- Multiple UFO mission types. (Not much point, at moment, current mission is ideal for testing)
- Multiple craft/ufo types.
- UFO target selection (for UFO missions) doesn't know about countries
Observation:
In X-Com human craft have only two missions:
- Patrol
- Intercept
And four "states"
- Patrolling
- Intercepting
- Returning to base
- In Base
Iteration 3: X-Net
Reason for doing this: test out XML parser.
- Document requirements
- Document design.
- Implement.
Requirements:
- Is single screen. With "tree" on RHS. LHS has 3D image + Text
- Will only show items that user has researched.
- Want it to show which entries player has read, and which player hasn't
Iteration 4: Layout Base Facilities.
- Document design (this has already been somewhat done.)
- Allow user to pick location on geoscape for every base (including first)
- Allow user to put access lift at any position on base
- Allow user to pick a facility, and put on 3D image. (facility must be adjacent to fully constructed facility)
- Allow user to destroy facilities. Removing facility must not split base
- Track state of facilities under construction.
- Update base's capability, as facilities are constructed.
- Hook up radar, to detect UFOs.
- Load/Save to file.
- User funding. (Expenditure to buy, monthly maintenance.)
- Base Information Screen
- Name of the currently selected base.
- Icons for all bases, same as ones shown on "Bases" screen. (Probably just a side effect of desire to provide a way to "jump" between the "base information" screens for different bases.)
- Total number of soldiers in base
- Number of "idle" soldiers (wounded, or not assigned to a craft and not Psi training) in base
- Total number of engineers in base
- Number of idle engineers in base
- Total number of scientists in base
- Number of idle scientists in base
- Total number of people the base can hold in base
- Number of people in the base. Check Includes people being transferred TO the base, does not include people being transferred FROM the base.
- Base's total storage capacity
- Base's storage capacity that is in use, includes space that will be used by items currently in transit. (Either purchased or transferred.)
- Base's total laboratory capacity
- Base's laboratory capacity that is in use
- Base's total workshop capacity
- Base's workshop capacity that is in use
- Number of hangers in base
- Number of base's hangers that are in use.
- Total "alien containment" space.
- Available "alien containment" space.
- Base's defence strength. It just adds up values for each defence installation.
- If base has a short range neudar
- If base has a long range neudar.
- If base has a tachyon detector
- If base has a Gravity Shield
- If base has a Mind Shield
Iteration 5: People.
(People are probably the easiest things to test base capacity with.)
- Define the people objects.
- User can buy/sell/transfer people.
- Load/Save to file
- Monthly salary, Hiring fees.
- Allocate scientists to labs?
Iteration 6: Items
- Class hierarchy for items.
- Allow user to buy/sell/transfer items.
- Initial phase, just worry about storing items in a base.
- Mapping items to craft
- Load/Save to file
- Don't cover, equip craft with weapons.
- Don't cover, equip soldiers.
Iteration 7: Research
- Read the research tree.
- Determine when prerequistes are satisified. (Item in base, Technology researched.)
- Show research projects that player can start.
- Assign staff for projects.
- Advance projects over time.
- Tie into X-Net.
- Present research when finished.
- Load/Save to file
Iteration 8: Production
Similar to Research
- Only allow building items that have been researched.
Iteration 9: Statistics screen.
- Have a set of countries. For each country
- Region country belongs to
- Initial Monthly Funds
- Way to convert from position on globe to country, and vice versa
- Position and name of cities in country.
- Need to record on a monthly basis:
- Total alien activity per month in country. (With running total of activity for current month)
- Total X-Corp activity per month in country. (With running total of activity for current month)
- X-Corp Funding per month.
- Read list of countries and their static data from an XML file
- Accounting information to record for each month:
- Total Income from funding nations. Note, this is recorded on per country basis
- Income from sales of material (captured or manufactured). Note. this was not present in X-COM
- Value of Purchases. Note, in X-COM Maintenance was included in this figure
- Maintenance cost (actual for previous months, estimated for this month) Note, maintenance includes craft, staff salaries and base facility maintenance
- Balance of funds (current for this month, quantity at end of month for previous months
- Graphs to show:
- UFO activity by country
- UFO activity by region
- X-Corp activity by country
- X-Corp activity by region
- Monthly income, by country
- The accounting information
Phase 1 of iteration 9
- Have set of countries, read from XML
- Record Funding
- Record Income from selling base facilities (salvage)
- Record Purchase of base facilities
- Record Maintenance of base facilities
- Record balance
- Do not record UFO activity
- Do not record X-Corp activity
- Monthly income, by country graph
- The accounting information graph
Phase 2 of iteration 9
Before this can be implemented, probably need to imlement different UFO mission types.
- Way to convert from position on globe to country, and vice versa
- Record UFO activity
- Record X-Corp activity
- UFO/X-Corp graphs
Phase 3 of iteration 9
Draw data as graphs, instead of tables.
Iteration 10: User settings
- Difficulty
- Options? (Volume, other?)
Iteration 11: Aeroscape
- Specify Requirements.
- Document design.
Iteration 12: Sound
- Specify Requirements.
- Document design.
Iteration 13: Items- Revisited
- Equip soldiers with items.
- Crew craft with soldiers.
- Can't equip troops with items that haven't been researched.
Iteration 14: Battlescape
Steal as much as possible from UFO2000