The Ur-Quan Masters Discussion Forum

The Ur-Quan Masters Re-Release => General UQM Discussion => Topic started by: Rib Rdb on October 21, 2003, 05:50:03 am

Title: Just Wondering
Post by: Rib Rdb on October 21, 2003, 05:50:03 am
Some of my friends have recently become interested in programming games for the gameboy advance.  I was wondering how difficult it would be to port UQM to it. I know that there's a mod player available for the music. I'm not sure how the graphics are done. I was mainly just wondering if it's feasible, since I don't have a GBA, and probably don't have time to port it. (Although , playing UQM instead of solitare or paratroopers would be a lot more fun during my classes!)

Title: Re: Just Wondering
Post by: Michael Martin on October 21, 2003, 08:40:03 am
I looked into it back in the 0.2 days.  It's not going to be easy at all.

I've answered this question before (though not here), so I'll just quote that.

The short answer: It's theoretically possible but would require a good deal of work from people who are very good at GBA programming.  We aren't those people, but the code *is* GPLed, so if someone was serious about it, we'd listen to them.
The longer, detailed answer follows.
All the important parts of the game are in C; that means that producing runnable code is easy.  The hard part is changing the backend.  The hardware that Star Control 2 assumes is not the hardware that the GBA has.  This is what would have to be changed:
  • The graphics engine currently assumes a 320x240 screen; the GBA's 240x160 screen will require new graphics and fairly extensive changes to the game logic.  (To be fair, a lot of those changes "should" happen anyway so that if someone were so inclined they could substitute higher-resolution graphics.)
  • The graphics engine knows only of bitmaps, and fakes paletted sprites. A proper GBA port would need to use sprite hardware directly.
  • The graphics themselves are a mix of TrueColor images and 8-bit paletted images.  Everything is converted to TrueColor before display for the PC (the 8-bit graphics remain mostly to allow palette-swapping effects); the GBA version would need to restore 8-bit consistency.  The GBA's tiled-graphics modes are pretty much not an option without totally rewriting much of the game.
  • The execution engine assumes multithreading.  Some sort of taskswitching code would need to be included (or written from scratch if no such code  exists).
  • Code for going out to disk (loading graphics, saving games, etc.) would need to be replaced with code that located the proper resources on the cartridge.

Things that aren't problems include:
  • Music and sound.  MOD players and wave mixers have already been written for the GBA by amateur developers, so the music can be identical to the  PC's version.
  • Input.  The backend would need replacing but this would be a trivial task.
  • Game logic/actual production of the ROM image.

Title: Re: Just Wondering
Post by: guesst on October 21, 2003, 09:03:55 pm
Naaa, forget the GBA. Someone just needs to port it to the GP32 instead.