gbadev Forum Thread


Info on



dsMpeg Sources



Yet unnamed RTS Project

(c) 2006 by Tim 'Mighty Max' Seidel

You can download the lastest snapshot here

Don't expect too much, this project started on the 14th April 2006 and is in its early stage
You'll need a FAT-device. This .NDS only start when the files are extracted either (a) to the CF/SD-cards root or (b) to the folder /ustrat
Please let me know if you found bugs.

GFX & SFX contributions are very welcomed

- [SELECT] => Switch to map and build-mode
- [START] => Pause switch
- [L]+Touchscreen in playing mode => Drag the viewport around
- Touchscreen in playing mode => Select and command units
- Touchscreen in map mode => move viewport on the map or build new units

Screenshot(s) running on hardware:

And some on Dualis:

I created some 3D renderings for the buildings/units. These should remove the pixel art in the long term :D

* fixed a tree sorting bug introduced with the 20.05.06 version
* modified guilayer->Close() to actually remove the layer from the gui (mem save)
* fixed GE_TIMER not passing GUI on event
* fixed: wrong stack & link register shown on crashdbg

* speeded unit enumerating functions and reduced stackload
+ added first gui implementation for menu's
* ip settings are no longer hardcoded
+ ip settings are now loaded from & saved to "net.conf"

* fixed darkenscanline did randomly (wrong flag-check) not modify the first pixel

+ new map option VIEWPORT=(x,y) to set the starting viewport
+ added internal volume control for soundstreams (for upcoming options menu)
+ added internal volume modifier for all effects (max effect volume)
+ added custom gametimers (in preparation for time caused events)
+ new map option MAPNAME= to name a map (will be shown in multiplayer or saves)
+ started to work on the hosting list

* fixed all compile warnings (no more compiling spam :D )
* fixed a long searched error in the sorted tree. (possible invalid return of GetBrother())
+ added more test functions to multiplayer test. (atm IP & Such are hardcoded according to my test environment)

* fixed timing issues with streamed sound/increased the rinbuffer size
* added more failure checks to streaming, new control functions (Stop,IsPlaying)
* fixed a mode wrong wifi mode while scanning for APs
* if the game finishes, the current sound stream is stopped (it endlessly looped the last cache before)
+ The multiplayer test should now be able to associate to any not wep-protected AP

* each building unit can now only invest in one build at a given time.
* if a routing fails after the way was blocked just infront of the unit, the unit ai waits 1sec till retry
+ sound streaming added. Any 11025Hz 16bit PCM mono WAV file named sfx/stream.wav will be played once on gamestart
* fixed exception stack
* fixed crash when IRQ appears walking through a sorted tree (Increased stacksize)

+ Added crash debuginfo, which prints out the registers content at crash situation (not including not terminated loops)
+ added (partitial) debuginfo on R+L+A+B keypress, showing the current SVC-mode location. (for detecting not terminating loops)
* added diagonal directions to moving animations
- found new restrictions to the routing algorithm, guess i got to change it later
+ added tank
* buildings can now attack too. All buildings with a noticeRange set will attack
* units will drop its target, when a dropRange is set, and the distance to its target exceeds this range

* speeded up the no-route-to-target recognizing
* fixed units using the wrong animation. Units allways faced the target, now they face the next steps location

* updated some of the ingame gfx with the rendered versions
* reduced the stack-load of .lst parsing functions
* speeded the routing function a bit
* fixed a routing crash
* fixed a rout-failure when target or startpoint is marked as non-passable
* buildings are not selected in multiselectings anymore

* added unit-routing (yet releatively cpu intense)
* fixed another mem leak (24Bytes per Frame)
+ added a debug mem output (bytes allocated for user/bytes in chunks allocated for malloc)

* resource producing units
* fixed a bug placing buildings with id bit0 = unset
* modified gameTimer to allow it to be fastened/slowed-down at any time
+ added resource commands to .maps (STARTMONEY, ONEVENT GIVEMONEY)

* changed movement command. The units keep their formation

+ added system independed unique numbers to units, allowing them to be addressed in multiplayer mode
* made party colors flexible

+ added TERRAIN command to map for adding a single terrain image
* fixed the (hopefully) last crash situation on dying units
+ created basic menu
* fixed several problems on restarting a map
* fixed several memleaks on a map cycle
- restart of a map still hangs
+ added first network code (init & find AP)

* it is possible to build building now
* fixed an issue preventing a unit beeing able to build itself
+ added the building placement

+ added eventsystem
+ added gamemessages
* fixed gametimer on map-load not getting reset
+ added eventcontrol to mapfiles
+ added WIN and LOSE

+ added basic font (bmp) support

+ added die & attacksounds to the units parameter list
+ added options to set animation for movement up/down
+ added new attack mode, self destructive attack
+ added new attack mode, spawn subunits
+ added new map load options (VISIBLE & BLOCKING)

* speeded up AI Steps to once in a render instead of once in 150ms
* fixed gametick counter
* seperated different speeds on AI operations (move, attack, build)
+ added speed options to units.lst
* fixed shadows
* added a scout unit to test the build & params load

+ Units can build now units
- removed old mode-indicator
+ added build pannel
* fixed a but when a unit was spawned in place of another. (All other units disappeared)
* speeded up scanlinecpy & shadowing functions. That about doubled the pixelrate
(removed unneeded stack operations, used STR/LDR build in address writeback)
* attack identifier is now shown at anytime (not just when the unit moves to it)
+ made maps loadable from file

* Died units release the field they died (its passable again)
+ Auto Attck in idle mode (units begin to fire when an enemy moves into noticeRange)
+ Auto Attack on getting hit in idle mode
- Removed modeswitch via L-key
- Removed multi-mode
+ added dragging of screen (Hit L & drag the stylus to move the viewport)
* removed a crash on AI commands set to dieing units. (which undid the remove as target command)
* removed a crash in the ordered tree, when an entry was an half-followed child of root.
* fixed the shroud displaying when the viewport was not 16 Pixel aligned
* fixed displaying the shroud at odd lower borders
* fixed glitch with target identifier when the target was fresh assigned
* added more checks in the tree class (guess i have to redo this one)

+ Units can take damage now
+ units can die now (alltho they don't show a death animation yet)
* fixed a bug with supercards (power init)
* combined multiple-, singleselection and attack mode into one (drag = multiple, point hit on own unit = select, on enemy = attack, on free area = move)
+ added basic sound engine, testsound played at startup.

+ Unit direction indicator
* the healthbar now actually shows the health
* changed the healthbar framecolor to the partycolor
* healthbar has now dynamical width
+ added enemy units
* removed possibility to command enemy units
* changed single unit selection method

+ Unittemplates load now from a file, instead of beeing hardcoded
+ added non-active parties to create world units, such as trees
* extended collision to units occupying more then one field

+ Collision detection between units enabled. No routing around a collisions yet, unaccurate at field borders
+ Added "Pause" (hit START)
* seperated animation & AI timer sources
* fixed a drawing issue at the ends of a map
Due to german law i have to add an impressum:

Die Seite wird (privat) unterhalten von
Tim Seidel
Gartenstrasse 54
56064 Aachen

Tel.: 0179/1075508