FS#7136 - Turn based strategy Game (DOS clone)

Attached to Project: Rockbox
Opened by Will Robertson (aliask) - Wednesday, 09 May 2007, 09:44 GMT
Last edited by Will Robertson (aliask) - Thursday, 02 August 2007, 12:56 GMT
Task Type Patches
Category Plugins
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


This is a work in progress clone of the old DOS game "Super Domination" (, currently playable on IRiver H100, H300, iPod 4G (colour and mono), nano, iAudio X5 and M5.

The general idea of the game is to take over the map by placing resources (tanks, men, planes etc) on squares to overpower the adjacent computer controlled squares.
The game is playable (but you can't actually win yet, the computer will never give up), but needs a lot more work before I think it is done.

What needs fixing:
- There is a bug in the game menu where you cannot quit (probably not hard to fix)
- The score calculation code is quite ugly, but I can't think of a better way to implement it.
- The AI is pretty basic
- The graphics I've made are pretty bad. (anybody good at pixel art?)
- Nukes haven't been properly implemented yet (no fallout)

Stuff I'd like to implement:
- Settings for things like number of moves per turn, difficulty settings (which I think would be easiest to have a multiplier on the amount of cash generated), etc.
- Support for portrait displays (not exactly sure how to accomplish this, it's pretty packed as it is)

Anyway, stick the bitmaps in /apps/plugins/bitmaps (native/ for the 16bit ones and mono/ for the mono one), apply the patch, and all should be fine to compile...
This task depends upon

Closed by  Will Robertson (aliask)
Thursday, 02 August 2007, 12:56 GMT
Reason for closing:  Accepted
Comment by Will Robertson (aliask) - Friday, 11 May 2007, 05:33 GMT
Add H10 (20gb) support, and kill that ingame menu bug.
Comment by Will Robertson (aliask) - Monday, 14 May 2007, 12:59 GMT
Fix a silly bug that prevented the actual game from being played...
Comment by Antoine Cellerier (dionoea) - Friday, 29 June 2007, 19:59 GMT
Would it be hard to make this work on iPod 5G ? (easy fix would be to make it use only parts of the screen)
Comment by Will Robertson (aliask) - Saturday, 30 June 2007, 13:22 GMT
New version of the patch. Added iPod 5G graphics, and fixed a bug in the ipod clickwheel code.
I can't remember if loading a game works. In any case, I need to update the patch again if only to remove redundant code.
Comment by Will Robertson (aliask) - Saturday, 30 June 2007, 15:49 GMT
Another new version. Redundant "Load" option in menu removed. To load a game, simply open it from the file browser.
Game settings implemented, including the number of starting farms/factories for both computer and human players. Starting cash/food is also changable, as is the number of moves per turn.

Still to come:
-saving the custom settings along with the rest of the game data in savegames
-make the computer surrender at some point
-portrait displays
Comment by Will Robertson (aliask) - Sunday, 01 July 2007, 11:05 GMT
-Some bugfixes.
-Settings are now saved/loaded with the savegame.
-Can now win/lose the game.

Now the main thing that needs to be done is support for portrait display devices.
Comment by Will Robertson (aliask) - Sunday, 01 July 2007, 13:39 GMT
Sansa and Gigabeat are now supported.
The sansa could do with it's own set of icons, the current ones are the ones for the nano, which are functional, but not fantastic.
Again, I invite people who are good at this sort of thing to take a look.
This is probably the last I'll work on this for a little while at least, unless somebody prods me into action.
Comment by Antoine Cellerier (dionoea) - Saturday, 07 July 2007, 22:46 GMT
Thanks for the iPod Video version. Do you have a description of the game somewhere? (like ... help :p)

Do you think that this is ready for inclusion in SVN, or are there still key features missing?
Comment by Will Robertson (aliask) - Tuesday, 10 July 2007, 14:19 GMT
I've added a help section in the main menu. It's hardly ideal, but it gives an overview of the game. I think a manual entry would be better suited, as it is difficult to go into any real detail on the player.

If it gets committed then I'll write a manual entry, but if it's just going to stay in the tracker I don't think I'll bother. (who builds their own manual?)
Comment by Will Robertson (aliask) - Tuesday, 10 July 2007, 14:19 GMT
And here's the patch.
Comment by Nick Brackley (darksaboteur) - Friday, 13 July 2007, 02:13 GMT
Patch applies cleanly but build fails on "make[3]: *** No rule to make target `superdom_boarditems.220x176x16.bmp', needed by `/home/nick/Rockbox/20070713/rockbox_svn/apps/plugins/bitmaps/native/superdom_boarditems.220x176x16.c'. Stop."
Target is an iRiver H300.
Sounds like a great game, I look forward to playing it.
Comment by Will Robertson (aliask) - Friday, 13 July 2007, 02:43 GMT
Did you download the bitmap and place it in the /apps/plugins/bitmaps/native directory?
Comment by Nick Brackley (darksaboteur) - Friday, 13 July 2007, 03:02 GMT
No, sorry for wasting your time.
I will and thank you for your help :)
Comment by Will Robertson (aliask) - Friday, 13 July 2007, 03:12 GMT
No worries. Hope you enjoy.
Comment by Nick Brackley (darksaboteur) - Friday, 13 July 2007, 03:28 GMT
Ok i added the file, which has fixed that issue although now i am getting a warning and my build fails with
CC superdom.c
superdom.c: In function `movement_menu':
superdom.c:1220: warning: 'menu_quit' might be used uninitialized in this function
LD superdom.elf
/home/nick/Rockbox/20070713-3/rockbox_svn/apps/plugins/superdom.o: In function `get_number':
superdom.c:(.text+0x1616): undefined reference to `memcpy'
collect2: ld returned 1 exit status
make[2]: *** [/home/nick/Rockbox/20070713-3/rockbox_svn/apps/plugins/superdom.elf] Error 1

Comment by Will Robertson (aliask) - Friday, 13 July 2007, 06:56 GMT
I'm not supprised I missed that memcpy thing - I think it's some quirk in the compiler for coldfire. I've got a fix here which isn't as elegant as the original, but it'll do.
Comment by Antoine Cellerier (dionoea) - Thursday, 26 July 2007, 15:33 GMT
Unless someone objects I'll commit this in a few days.