Michael Pidde

Selections and Teleportation Gnomes

I've made a couple significant additions to my game lately.

  • I've greatly improved how the code for actor interaction to make it more modular and self-contained (i.e. less confusing spaghetti code with modules interacting in ways that they should not). I'm still not utterly happy with how it all works, but it's better than it was before. Progressive enhancement is better than nothing.
  • I added the ability to show a Yes/No selection in the MessageBox module. You can see that in the video below when I talk to the gnome.
  • Due to the fact that I'm programmatically adding "out of bounds" trees to the map around every side so when you walk to the end of the playable area you don't see an ocean of black screen, you can't actually visually walk to the edge of the map to cross over into another map segment. If you consider how map segments are loaded in the original Pokemon games on Gameboy, all map segment teleportation is done walking through a building or into a cave. You can walk into a house, you can go into a cave, or you go through those weird gate houses between zones. I always wondered why those gate houses (or whatever they're supposed to be) are there, but I think they fundamentally exist because the outdoor map segments have similar padding so you can't walk to an actual edge of the map, so they added buildings that you walk into. Houses and buildings DO have black surroundings, but that's just a design feature that works in that case. Anyhow, long story short, I needed some way to teleport to other map segments, so I made teleportation gnomes who will send you where you want to go.

I've put together a video of current gameplay:


Code Stats

Language                     files          blank        comment           code
C++                             17            194             69           1604
C/C++ Header                    30            125             18           1128
JavaScript                       2             80             35            559
PHP                              3             15             16             88
JSON                             3              0              0             68
DOS Batch                        3              3              0             24
Bourne Shell                     1              0              0              5
SUM:                            59            417            138           3476