Atlantis Todo List

This is a list of things I'd like to add or modify in the Atlantis source code. For now, the list is in approximate order of how I plan to make the changes. Eventually I'd like to organize it into sections based on which version of the engine or rule-set I see the feature being implemented.

Stuff To Test

  1. Use floating point to fix weird rounding bugs - Test This!!! (RunTaxRegion, RunAProduction).
  2. Test the orders checker, as it has changed quite a bit.

Stuff To Code

  1. Fix all of the problems indicated by XXXXX comments in the source code.
  2. Document the editing mode.
  3. Sail should give an error if the ship is forbidden (in Do1Sail).
  4. For that matter, the rules need to be clearer regarding ships being blocked. A ship is always allowed to enter a region, but will not be allowed to move further in the region if guarding units are present. This restriction exists in the code, but not in the rules.
  5. There are some things hard-coded in the source; summon wind in monthorders.cpp, build items in monthorders.cpp, and some stuff in unit.cpp. In general, things should be done with some set of flags etc in rules.cpp, or at worst custom code in the rule-set directory. 
  6. I'd like to add some code that will do a bit of validation on a rule-set, and make sure it isn't broken.
  7. I'd like for the rule-set code to auto-generate the rules document, instead of having to hand-edit them.
  8. Can flying ships be blocked in ForbiddenShip? Is that right?
  9. Make sure gates are working correctly; possibly re-work them.
  10. Make sure map-generation in Standard Atlantis is working OK. It seems to not work well for small map sizees.
  11. FindDeadFactions is inefficient.
  12. Factions that are eliminated after the movement phase (particularly, in AssessMaintenance) are not properly noted as dead.
  13. Add a target to the DESTROY order.
  14. Should be error checking spells (See ProcessCastOrder).
  15. Rework the BUILD order. Currently, the build order creates the object when the order is parsed. This should actually happen when the build actually takes place. I think it might be a good thing also if a unit can perform build work on a structure without actually being inside it.
  16. Better handling of illusions.
  17. Add more info to battle reports.
  18. Finish the magic system for Atlantis Conquest.
  19. Add more map types for Atlantis Conquest.
  20. Unit grouping.
  21. Automatically use orders template if no orders are submitted.
  22. Issue orders for turns in the future (extension of the @ system). My thoughts here are to introduce a 'turn' order, that means everything after the turn order should be delayed for a turn (by just putting it into next turn's template, instead of executing it). Multiple 'turn' orders can be used to give orders arbitrarily into the future. 'turn' can be combined with @ to creating loops sets of orders.
  23. Make it so a rule-set inherits from the Game class instead of just adding code.
  24. Make it so rule-sets are loadable libraries, instead of compiling in.
  25. Fix the usage.

Last Modified: December 19, 2002

This page maintained by Geoff Dunbar (