# TODO for FreeCraft (fka ALE CLone) Version 1.17

         ___________		     _________		      _____  __
         \_	  _____/______   ____   ____ \_   ___ \____________ _/ ____\/  |_
          |    __) \_  __ \_/ __ \_/ __ \/    \  \/\_  __ \__  \\   __\\   __\
          |     \   |  | \/\  ___/\  ___/\     \____|  | \// __ \|  |   |  |
          \___  /   |__|    \___  >\___  >\______  /|__|  (____  /__|   |__|
    	  \/		    \/	   \/	     \/		   \/
        ______________________                           ______________________
    			  T H E   W A R   B E G I N S
    	   FreeCraft - A free fantasy real time strategy game engine

(C) Copyright 1998-2000 by The FreeCraft Project. Distributed under the "Artistic License"

## This must be done for the release (1.17):

- Ships on oil patches cannot be attacked.
- Worker with gold/wood could go to depot under construction!
- ACT Image file names cannot be used with Win32.
- Some scanline are missing with 640x480 resolution and SDL-win32.
- Worker stops, if a nearer mine cannot be reached.
- Ai can't find any way, tries this to often.
- Decoration on top not supported.
- Must combine new animation config with old one.
- Regenerating forest looks wierd.
- Touch of darkness has wrong time for damage.
- SVGALIB version does not support 3 mouse button.
- Sometime it seems that the command buttons aren't changed.
- DONE: Full tanker didn't return goods on right click.
- Let target of attack command blink, if selected (like right click)
- gryphon rider attack animation could trigger oops (internal error).
- Wood counter should be reseted, avoiding evil tricks.
- internal21 no AI.
- AI Attacks wall freecraft-1405, level05h.
- Attacking walls never stops.
- More suggestions?

## This must be done for the release (1.18):

- Should rewrite the create player code.
- GroupID is wrongly used, ALT does always select the last group.
- FIXED: Can't attack buildings under constructions.
- Should show buildings, if I build with ctrl+shift more than one.
- Canceled buildings stills shows gray rectangle, if new building is build.
- New show actions produces new errors, buttons aren't correctly updated.
- The color cycling isn't 100% correct. See FIXME: in ColorCycle()
- Scroll with the keyboard: use state and not the repeat rate. Than make the scroll speed configurable. Use the repeat flag for faster scrolling.
- Small ships show an explosion if missile hits target add source.
- Ships do not go up and down, if attacking.
- my unit cannot attack enemy building when it is not finished yet (building)
- FIXED: when I put more units into train queue than food suply, I produce these units even I do not have enough food - solution before unit is started to train you have to check if there is enough food.
- I cannot change unit 'pending' or however you call it (command aplied to new trained units) when there is a unit in train queue, I think I could.
- Resource line isn't correctly updated for new units and food.
- A peon can enter a mine and die in the mine.
- A peon can enter a deposit and die in the deposite.
- Don't let neutral buildings (mine), be attacked with the right button.
- The thing is, if whatever is blocking the path to the wood moves, the worker will stay locked up.
- Building tower I start see in it range before it completed
- FIXED: I stoped ship with 'T' and it newer start moving.
- Works: Building a peon and seting relay point to gold mine it will not enter it but will be standing near it.
- FIXED: About attacking sounds 2 destroyers attack silently each other.
- First sound of attack i never hear, only second,..
- FIXED: I cannot create more than 1 tanker at once but peons can.
- 4map of orc compain - I cann't get option for creation of transport (can't upgrade townhall)
- I can' hear sounds of enemy peons geting lumber when moving to it place with cursor while not see it. bug?
- Let single player maps played as multiplayer.

## Known bugs scheduled to next release (1.19):

- Arrows and axes did always hits the target, even if moving away.
- Building-cursor and cursor over units shouldn't change to looking glas.
- Flying and ships could only on even fields.
- The heading of attacking units isn't 100% correct.
- The heading of missiles isn't 100% correct.
- Units trained says nothing?
- Buildings which are busy (fires,attack, train) didn't show the flame.
- Only one and incomplete goals implemented.
- Rescue passive units are attacked.
- Fix all known core dumpers.
- Units removed are still shown on minimap. (enters transporters, than it moves)
- defaulth.pud: AttackUnitsInDistance: HP==0 QuadTreeDelete: Value not found
- Ships should first attack units with distance weapon.
- Units attacked, which can't reattack should go out of range.
- FIXED: Catapult has a wrong death sound.
- Wrong unit to mine gold 113, find the problem.

## Next to implement:

- [DONE] Repair code should be rewritten. (Was only quick hack)
- Document all functions with doc++ or doxygen comments.
- Rescue of units.
- Should be fixed: Search bug peon on the way for building, and than let him build an other.
- Show the units in a transporter on map.
- New spell "show units in enemy transporters"
- Make a spy unit.
- Costs Spells
- Regeneration of berserks
- Constructions have an own sight-range.
- Corpse have a sight-range which will slowy reduced.
- Gold-mines with peons have an sight-range.
- Show bloodlust,invis,shield,...
- Reduce memory use. (16 MB)
- Unit moves away from magni.., glas must disappear.
- Speed for daemon and skeleton.
- Buildings/Units blink red even after they aren't being hurt.
- FIXED: You can build an oil platform anywhere but where the oil is. :)
- The price and name of something to be built/upgraded doesn't disappear, and will remain on the screen until another price comes up.
- The brown background is never updated, and it will build a mass of strange bits of pictures.
- Water buildings couldn't be always be reached???
- Selecting with rectangle and scrolling with keyboard: some solutions??
- Transporter and party didn't meet automatic!
- Multiple orc units selected shows human units!
- FIXED: Playing with + and -, the game stops updating (Should test)?
- Another big thing I noticed - When loading data/puds/multi/jimland.pud, before the player stats appear, MANY lines saying "REGM: contains unknown action 0x4100" are shown. I didn't even look to see where this message is generated, but this serves as a heads-up.
- the final mission of the humans data/campaigns/human-exp/levelx12h.pud.gz is very slow and dumps core.
- Status line isn't correct cleared.
- Make color-cycling speed configurable.
- Buildings under fog of war shouldn't be selectable
- Buildings under fog of war shouldn't show decoration
- ActionNone is used, where?
- Show intro (story) message for levels.
- Show outcome for levels.
- Support different goals for levels.
- Support different AI for levels.
- Let the campaigns play like the orignal.
- Setting the units limit for each player seperate.

## In the near future:

- Missiles must be completed
- Attack must be completed
- Computer AI should be improved
- Add map-specific AI strategies
- Fog of war (correct)
- Exploration (correct)
- Interface: shift mouse select/unselect ...
- Show unit state in buttons.
- Never chop the same wood twice.
- DGA X11 supported.
- Improve network (internet) support
- Faster and better extraction (build.sh)
- Slow down speed (not only speed up)
- Invidual speeds for players.
- The enemies do not develop... they just harvest...
- death knight magic doesn't seem to drop at all...
- Training queues without resources.
- Hear range, and sound handling of only hearable sounds.

## In the far future:

- Documentation
- Background sound support
- Support for debian / rpm packets

## Future plans:

- Editing Way-points
- Editing Build multiple units (training queue)
- Editing Build list for buildings (building queue)
- Z coordinates
- Ground effects (roads faster,...)
- 800x600 resolution support ( requres just 800x600 mode border/interface graphics )
- Animated cursors
- Automatic repairs
- Show how time of bloodlust... (blink if short before end)
- Show invisible better, (transparent...)
- Radar minimap. (Edgar!)
- Unit groups on 1-9,0.
- Map zoom factor 1,2,4 like anno 1602
- Add TrueColor 24 bit support
- Add support for SHM-Extensions without pixmap support

## New ideas:

- Animated resource icons.
- All icons animated.
- Paladins: Autohealing + Autoexorcism
- Ogres: Autobloodlust
- Upgradable magic: One level of upgrade == -(10-15)% required mana to cast, but +(15-20)% of cost. Up to level 9.
- Upgradable weapon accuracy: In the same manner as upgradable magic, damage 4-12 --> 5-12 --> ... --> 12-12. ballistas/ships accuracy increases in step of 5. accuracy improvements enabled after full strength upgrades.
- Count kills for unit/building.
- Food requires/food provides for units.
- Units can patrol between other units.
- Mage Tower/Temple of Death accumulates energy. Then it can be transferred to nearby units in x8 value.
- What about if peon attack is modified in this way that if attacks bulding it returns 1/2 of the resources for it. something like demolishing, not needed buldings or enemy ones.
- Support for W*rC*rft. (without II)
- Support for W*rC*rft Alpha. (Some nice ideas was dropped)
- Allow multiple tilesets / map or pud.
- 1) Randomly generate unit structure. Random health, mana, accuracy.
- 2) Allow bridges over rivers, that can be destroyed.
- 3) Allow true stonewalls - make a big castle that can be defended archers on stonewalls, just mages can destroy stonewall, ballist can break gateway into the castle. How ever some war vehicles can overcome stonewall - somethink like ladders.
- 4) Allow attack and defend formation:

              x              x x x x x
             x x              x x x x
            x   x            x x x x x
           x     x            x x x x

  and many others, that will be kept while moving. Also 'disperse' command, i.e. while attacked by catapults.
- 5) Allow retreat command, all units that are in fighting area will reatreat. Or selected units immediately do retreat.
- 6) Allow army structures, select i.e. 9 footmen mark as a column, select 9 columns mark as something other and so on till you select whole army.
- 7) Do it a little bit real. You do not have to kill all enemies but achieve some line and make your enemy to retreat.
- 8) Mage can teleport a unit to another place. Mage could cast spells to multiple units, not just to one.
- Walls with different Hitpoints.
- Use or control MP3 music for background.
- Scrolling/Zooming the minimap.
- Day and night cycles.
- Line of sight, shows only viewing direction
- Line of sight, to be blocked by big objects. (Ground levels...)
- More critters, and critter that attack, critter that give birth to other critters, critters which are invisible in forest but show up in land, critters which are ridable, the give birth idea could be used as a way to have extinction in those big 1000 x 1000 maps :)
- Trigger system like St*rCr*ft.
- Add barks.
- Now we just have to add plant-trees command to peons
- Make critters attacking all player units.

## New units/behaviour:

- Critters
  - Cost only time ( no food required )
  - Every few ( 3-5 ) critters provide food for few units ( 1-2? )
- Dark Portal -- teleport, portal between worlds
  - Requres Castle,Church and MageTower to build ( perhaps and some Mages trained? )
  - Collects mana
  - Uses full mana load to place teleport destination
  - Teleport units with mana cost
  - `Recall's unit from the destination spot back ( mana cost )
  - Can be upgraded to allow to summon other worlds units ( daemons )
- Runestone
  - Requres Castle,Church and MageTower to build ( build by peon, activate by mage? )
  - Collects mana
  - Transfers (auto?) mana to all magic units in the range ( Mages,Paladins )
  - Even can transfer mana to other buildings like Dark Portal! ( So Dark Portals can be supported by cluster of runestones... )
  - Heal all units in the range ( requires mana )
  - Blocks all Dark Portal destination spots in the range

Last changed: $Id: todo.html,v 1.49 2000/06/30 08:52:53 johns Exp $
All trademarks and copyrights on this page are owned by their respective owners.