Homebrew GBA Micropolis (SimCity) WIP

  • Thread starter Thread starter TarableCode
  • Start date Start date
  • Views Views 1,007
  • Replies Replies 7
  • Likes Likes 4

TarableCode

Well-Known Member
Member
Joined
Mar 2, 2016
Messages
188
Reaction score
179
Trophies
1
Age
39
XP
465
Country
Canada
Hi.
I'm currently working on porting Micropolis (SimCity) to the GBA, and if you want to mess around with what I have so far you can grab the latest .gba file from the main branch of my GitHub repository:
https://github.com/TaraHoleInIt/gba-micropolis

Controls:
DPAD: Scroll around
R: Next tool
L: Previous tool
A: Place tool
Select + start: Swap between MCGA and Tandy graphics

What works:
Loads one scenario (Tokyo/Monster*) Note: Monster doesn't always seem to spawn?
Scrolling around
Building

What's missing:
An entire user interface
Budget windows/map/etc...
Saving
Loading
Choosing a scenario
Starting a new map
Sound

Posting this now to gauge interest and get feedback on any immediate issues :)
I've tested this on a 3DS using open_agb_firm, so hopefully it should work on a real GBA as well.
 

Attachments

  • IMG_0833.jpeg
    IMG_0833.jpeg
    862 KB · Views: 33
  • IMG_0834.jpeg
    IMG_0834.jpeg
    646.4 KB · Views: 25
  • IMG_0835.jpeg
    IMG_0835.jpeg
    915 KB · Views: 28
  • IMG_0836.jpeg
    IMG_0836.jpeg
    920.6 KB · Views: 29
I've often wondered why people haven't done more with Micropolis over the years. Is the code difficult to work with?
 
I've often wondered why people haven't done more with Micropolis over the years. Is the code difficult to work with?

The simulator core is fairly straightforward to work with, and I have no complaints about it. Getting everything to fit onto the GBA is another matter.
By default Micropolis has a "high-res" 16x16 tileset consisting of roughly ~960 16x16 tiles. I originally wrote a renderer to handle this and page in/out tiles from VRAM at runtime, but for the GBA screen it was just too big.

With the help of the GBADev discord, we were able to extract the MCGA and Tandy 8x8 tilesets from the DOS version and aside from fitting the 256 color MCGA tileset into VRAM it's all worked out great so far.

There is a bit of a stutter at times when it does a full map scan for things like power/traffic/etc, but it's not terrible, and I hope to find some optimizations in the future.
 
Update: https://github.com/TaraHoleInIt/gba-micropolis/releases/tag/test-stuff

Missing from this release (at least):

  • RCI Indicator
  • Budget window
  • Maps
  • Adjust simulation speed
  • Sound
  • Probably more I'm forgetting
What's in this release:

  • Save/load
  • Scenarios
  • Disasters
  • Starting a new city
  • Gameplay messages
  • Statusbar (press select to open/close)
  • Main menu (press start to open)

Let me know how this goes - especially saving/loading.
 

Attachments

  • Screenshot 2026-02-07 at 4.01.02 PM.png
    Screenshot 2026-02-07 at 4.01.02 PM.png
    235.9 KB · Views: 23
  • Screenshot 2026-02-07 at 4.01.44 PM.png
    Screenshot 2026-02-07 at 4.01.44 PM.png
    218.6 KB · Views: 28
  • Screenshot 2026-02-07 at 4.02.22 PM.png
    Screenshot 2026-02-07 at 4.02.22 PM.png
    217.5 KB · Views: 32
  • Screenshot 2026-02-07 at 4.03.23 PM.png
    Screenshot 2026-02-07 at 4.03.23 PM.png
    213.5 KB · Views: 34
Thanks for this great porting of Micropolis.
I try it on my DSi XL with Gbarunner 2. It works good.
For me Tandy graphics are better than MCGA.
One suggestion: cycle to tools with L & R.
One question: how to display maps and budget windows ?
 
I'll be working on the city evaluation window and budget window soon.

In the meantime, if you're feeling adventurous you can build Micropolis with support for music via the Sim City 2000 soundtrack:
https://github.com/TaraHoleInIt/gba-micropolis/blob/main/doc/music.md

It's a bit involved, but the music feels like it fits.
Let me know if anyone tries this and has any success with it.
 

Site & Scene News

Popular threads in this forum