Development Roadmap

Iteration 1: Initial Geoscape.

  1. Geoscape screen with basic buttons.
  2. Earth globe showing on screen.
  3. Add sun, have sun move according to date/time.
  4. Buttons to control game speed.
  5. Skybox
  6. Buttons to move camera's position.
  7. Draw bases (pyramid) on screen at randomly chosen geoposition.
  8. Code to compute geoposition of a mouse click on earth globe.
  9. Base creation sequence.
  10. Save/Load game time to file
  11. Document project structure: file locations, how the main loop works.

Iteration 2: Craft AI.

  1. Specify Requirements.
  2. Document design.
  3. Build.
Need to document this phase better. Things I need to cover:
  1. UFO mission types (and behaviour during missions.)
  2. Alien Overmind AI.
  3. UFO AI.
  4. Human craft mission types (and behaviours)
  5. Human craft AI.
  6. Repair/Refuel/Rearm of Human craft at bases.

Geoscape behaviour.
  1. UFO is repeatedly spawned (with 6 hour intervals) on research like mission.
  2. If right click mouse, Geosceen will pan with mouse movement. (Stops when right click again.)
  3. Intercept button - launches interceptor at UFO.
  4. If reaches UFO, UFO "crashes"
  5. If Intercept a Intercept crashed UFO, "battlescape mission"
  6. If don't intercept a second time, after 12 hours UFO "repairs" itself and flys away.
  7. If UFO escapes, get "Patrol/Return to Base/Go to UFOs last known position" dialog
  8. If craft runs low on fuel, returns to base.
  9. Interceptor refuels when in base.
  10. Left clicking on the geoscape sends interceptor to "patrol" the indicated position.

Geoscape Stuff that hasn't been implemented yet.
  1. Radar detection/visibility
  2. Click on position on Geoscape to select craft/UFO/Base etc.
  3. Waypoints are not shown on Geoscape.
  4. Create Base.
  5. Multiple bases. (Although in principle, not difficult)
  6. Multiple simultateous UFOs (Although in principle, not difficult)
  7. Multiple Interceptors(Although in principle, not difficult)
  8. Intercept dialog
  9. Multiple UFO mission types. (Not much point, at moment, current mission is ideal for testing)
  10. Multiple craft/ufo types.
  11. UFO target selection (for UFO missions) doesn't know about countries

Observation:
    In X-Com human craft have only two missions:
  1. Patrol
  2. Intercept

And four "states"
  1. Patrolling
  2. Intercepting
  3. Returning to base
  4. In Base

Iteration 3: X-Net

Reason for doing this: test out XML parser.
  1. Document requirements
  2. Document design.
  3. Implement.
Requirements:
  1. Is single screen. With "tree" on RHS. LHS has 3D image + Text
  2. Will only show items that user has researched.
  3. Want it to show which entries player has read, and which player hasn't

Iteration 4: Layout Base Facilities.

  1. Document design (this has already been somewhat done.)
  2. Allow user to pick location on geoscape for every base (including first)
  3. Allow user to put access lift at any position on base
  4. Allow user to pick a facility, and put on 3D image. (facility must be adjacent to fully constructed facility)
  5. Allow user to destroy facilities. Removing facility must not split base
  6. Track state of facilities under construction.
  7. Update base's capability, as facilities are constructed.
  8. Hook up radar, to detect UFOs.
  9. Load/Save to file.
  10. User funding. (Expenditure to buy, monthly maintenance.)
  11. Base Information Screen
    1. Name of the currently selected base.
    2. 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.)
    3. Total number of soldiers in base
    4. Number of "idle" soldiers (wounded, or not assigned to a craft and not Psi training) in base
    5. Total number of engineers in base
    6. Number of idle engineers in base
    7. Total number of scientists in base
    8. Number of idle scientists in base
    9. Total number of people the base can hold in base
    10. Number of people in the base. Check Includes people being transferred TO the base, does not include people being transferred FROM the base.
    11. Base's total storage capacity
    12. Base's storage capacity that is in use, includes space that will be used by items currently in transit. (Either purchased or transferred.)
    13. Base's total laboratory capacity
    14. Base's laboratory capacity that is in use
    15. Base's total workshop capacity
    16. Base's workshop capacity that is in use
    17. Number of hangers in base
    18. Number of base's hangers that are in use.
    19. Total "alien containment" space.
    20. Available "alien containment" space.
    21. Base's defence strength. It just adds up values for each defence installation.
    22. If base has a short range neudar
    23. If base has a long range neudar.
    24. If base has a tachyon detector
    25. If base has a Gravity Shield
    26. If base has a Mind Shield

Iteration 5: People.

(People are probably the easiest things to test base capacity with.)
  1. Define the people objects.
  2. User can buy/sell/transfer people.
  3. Load/Save to file
  4. Monthly salary, Hiring fees.
  5. Allocate scientists to labs?

Iteration 6: Items

  1. Class hierarchy for items.
  2. Allow user to buy/sell/transfer items.
  3. Initial phase, just worry about storing items in a base.
  4. Mapping items to craft
  5. Load/Save to file
  6. Don't cover, equip craft with weapons.
  7. Don't cover, equip soldiers.

Iteration 7: Research

  1. Read the research tree.
  2. Determine when prerequistes are satisified. (Item in base, Technology researched.)
  3. Show research projects that player can start.
  4. Assign staff for projects.
  5. Advance projects over time.
  6. Tie into X-Net.
  7. Present research when finished.
  8. Load/Save to file

Iteration 8: Production

Similar to Research
  1. Only allow building items that have been researched.

Iteration 9: Statistics screen.

  1. Have a set of countries. For each country
    1. Region country belongs to
    2. Initial Monthly Funds
    3. Way to convert from position on globe to country, and vice versa
    4. Position and name of cities in country.
    5. Need to record on a monthly basis:
      1. Total alien activity per month in country. (With running total of activity for current month)
      2. Total X-Corp activity per month in country. (With running total of activity for current month)
      3. X-Corp Funding per month.
  2. Read list of countries and their static data from an XML file
  3. Accounting information to record for each month:
    1. Total Income from funding nations. Note, this is recorded on per country basis
    2. Income from sales of material (captured or manufactured). Note. this was not present in X-COM
    3. Value of Purchases. Note, in X-COM Maintenance was included in this figure
    4. Maintenance cost (actual for previous months, estimated for this month) Note, maintenance includes craft, staff salaries and base facility maintenance
    5. Balance of funds (current for this month, quantity at end of month for previous months
  4. Graphs to show:
    1. UFO activity by country
    2. UFO activity by region
    3. X-Corp activity by country
    4. X-Corp activity by region
    5. Monthly income, by country
    6. The accounting information

Phase 1 of iteration 9

  1. Have set of countries, read from XML
  2. Record Funding
  3. Record Income from selling base facilities (salvage)
  4. Record Purchase of base facilities
  5. Record Maintenance of base facilities
  6. Record balance
  7. Do not record UFO activity
  8. Do not record X-Corp activity
  9. Monthly income, by country graph
  10. The accounting information graph

Phase 2 of iteration 9

Before this can be implemented, probably need to imlement different UFO mission types.
  1. Way to convert from position on globe to country, and vice versa
  2. Record UFO activity
  3. Record X-Corp activity
  4. UFO/X-Corp graphs

Phase 3 of iteration 9

Draw data as graphs, instead of tables.

Iteration 10: User settings

  1. Difficulty
  2. Options? (Volume, other?)

Iteration 11: Aeroscape

  1. Specify Requirements.
  2. Document design.

Iteration 12: Sound

  1. Specify Requirements.
  2. Document design.

Iteration 13: Items- Revisited

  1. Equip soldiers with items.
  2. Crew craft with soldiers.
  3. Can't equip troops with items that haven't been researched.

Iteration 14: Battlescape

Steal as much as possible from UFO2000