Here is the current DSP TODO list, if you think of something missing then please tell me 🙂
Mainly engine changes, going to leave the level making up to you guys 😉

1.1 release should be next 1-2 days.
Update: Move more things to 1.1, hopefully can get it all in 🙂
Things in italics are done.

1.1 (AKA: Things that should of been in the first release)
Can’t play again if you quit in the middle of a wave bug
Difficulty multiplier
If level folder has its own pngs (acceptcampaign, cursor, sidebg_bot, sidebg_top, sidebg_selector, map_selector, font, fontbold, coin, tree) use them
Show wave count
Fix crash bug with windows endlines.
Rebalance ‘river td’, add a few more waves.
Tell how to upgrade tower
Fix Points
Better PSP controls.
Render Range rings when upgrading towers.
When selecting a Tower to buy, display all details parameters (range, time to fire, damage…)
Release Level making assistant tool (Defines Buildable map and Wave path)
“Save the house” : if ONE enemy reaches one given point, you loose

Maybe 1.1
Destroy/Sell tower
Buy Lives
Release source code
Load enemies only when needed.
Skinnable game over / you win.
Fix tower placing to round better instead of truncating.
Show tower stats on mouse over
Deactivate menu (unload sprites, more memerysz) before full loading the level
Credits Screen
In-game sounds (Wav) for “Wave start”, “tower settlement”, “Game over” & “End game”
Draw all tower target range when settling a new tower (to see overlaps)
Better PNG size (wxh) checks (=> display error) when loading else it freezes
Fix InGame Menu, should return to previous state.

Nearish Future
High Score screen
Possibility to define multiple waves with or not different routes, and with their own starttime
In-game music (mp3, mod)
Draw lifebar (option) below each enemy
Further Shot Types for Shot engine.
– Missile particle trail (option)
Mini-image for campaign on first menu
Savedata (player name, scores, levels, stats…)
XML level, ennemy, tower configuration files (TinyXML is C++/OS independant)
– Tilemap based level definition for easy level construction (TileStudio)
– Bigger maps than 32×32
Define where is the turret roration center (X,Y) if not the middle, as the Starcraft Goliath turrent is on top of the legs, not on the middle
Turrent animation SpriteSheet when shooting
Configurable SpriteSheet frames (sometimes 4 frames are not enough…)
Make Slow change with tower levels (time and length of effect)
GlBits3 (More efficient rendering, more framerate!)
– Investigate changing render functions to take floats instead of ints.
If you use an ordered insert into the instances lists, then when rendering it will be more efficient (render same sprite all at same time).
– Towers and shots can use this, enemies not really as we rely on their ordering

Further Future
Make menu hideable.
Online score tracking! / Level downloading
Render ground enemies THEN flying enemies.
Levels in Campaign.
– Code to jump to level X
Wave paths :
– Fixed (as you did path with step points)
– Curve (sin, cos)
– Collision detection (enemies will turn right is a wall is in front of them)
Add min range (o define a target reachable band instead of a target reachable disc)
Add “Miss ratio” (how often the shot missed the target)

12 thoughts on “DSP TODO

  1. Shazz

    Looks very good to me 😀 (okay okay easy)
    I hope to see some “Maybe 1.1” features in the next release 😀

    I’ll try to release too a new St*rCraft campaign version too with the new features and some more levels, towers and monsters.

  2. NeonLightning

    looking at those the more distant things are more interesting altho the present updates rock

    the thing i’m waiting for the most is tilestudio
    so that i can make a crazy map then tell my friend here try this then he does the same like we do in pretty much any game with an editor

  3. shazz


    I have customized TileStudio to generate DSP maps
    get it there :

    Instructions :
    1. Unzip the zip
    2. Run TS.exe
    3. open the river project as example :
    File->Open then go to maps subdir and choose river.tsp
    4. Click rivertd tab on the bottom
    5. Do CTRL+Tab (Toggle map/Tile editor)
    6. As you should see a map is composed of
    32×32 tiles of 16×16
    7. To set a tile as tower-able or not :
    select with the ‘selection tool’ (dotted square) the block of tiles you want to set as tower-able (= you can put a tower there) then click on the left button 00
    8. Set the Map Code (hex) as 23

    9. Do set non tower-able tiles, do the same but set the Map Code (hex) as 5F

    ALL tiles should have a map code

    10. Then go to Code menu, select ‘Generate Code’
    11. in the maps dir, a level.map is created
    12. in the windows explorer clic on convert.vbs
    13. a level.txt file is created, you’ve got your map !
    14. edit it to add other required parameters as usual

    have fun

  4. shazz

    Eh eh Danzel, if I want to motivate you to use some XML configuration files I have to show you how powerful TileStudio is ! 😀

    and another new “I’d like DSP to…” : implement some A* path finding algo to have the enemies looking for a new path line in TD Desktop 😀

    really cool 😉

  5. Danzel Post author

    Path finding was about the first idea I scrapped when I was designing DSP 🙂
    I hope to see it materialize in the future, we will see 🙂
    Will do some more investigation into tilestudio now I think 🙂

  6. shazz

    Eh eh Danzel 😀 A* is cool 😀

    I have started another level based on Desktop TD for testing the future stuff 😉

    About the TileStudio, I have modified the convert.vbs to fill more data in the level.txt file.

    And I can write another tilestudio tutorial which works too even if you don’t want to use tiles and you already have a 512×512 picture… but I don’t know where to write it…

    Would be nice to have a website to share all of that…

  7. Danzel Post author

    Jeeze you really want me to add path finding don’t you! 😛
    I’m waiting on a Sourceforge project ATM, applied for it on Friday, so hopefully I’ll know soon.
    They have wiki’s now so you’ll be able to put it up on there.
    From my looks on the tilestudio front, it looks like it should be able to support planning the path in it? (for levels using paths)

    Once I have the project I’ll draft an XML schema for levels including support for multiple paths, pathfinding, etc. 🙂

  8. Shazz

    hiya Danzel !
    For sure XML is boring to do but useful to everybody… and path finding is only a coder thing… 😀
    I looked at it a few years ago when planing to write a demo (autosolved fifteen puzzle)… qutie interesting…

    And if you look at DesktopTD, the path finding has 2 usages :
    – the creep uses it to compute the shortest way to reach their goal (and it is recomputed in realtime eachtime you remove/place a tower for each creep enemy
    – if tiem you place a tower it checks that you did not block the creep path e.g. it is not a blocking tower

    Quite cool isn’t it ? There is a lot of opensource A* implementations… Videogame programming classic 😀

    But don’t feel bad, do that you like 😀

    About TileStudio, it should be able to define enemies path, currently you’ve got 3 interesting stuffs :
    – you can assign ONE mapcode to a 16×16 block : could be used to define a path step or as I did the # or _
    – a tile has 3 layers
    – you can define bounds to a tile (ounds are “walls” in your map that indicate where objects can move)

    so for basic path it could be used, for some more complex paths (mutiple paths fro example), it may becoem difficult. I guess another piece of software to only define (and test !) paths may be needed if we want an user friendly editor for it… Well let see that later 😀

Comments are closed.