A 2D platformer where you travel deeper and deeper underground. 


This is an early work in progress. I will update as progress is made.



Technical Details

I wanted to what I could do with the 160×128 resolution. Rather than using the gb.display to draw, this game uses gb.tft to render directly to the screen. It also uses some DMA tricks. The screen is rendered in 8 pixel tall strips, top to bottom. While DMA is sending pixels for one of these strips, a second buffer is being calculated with the next strip. Right now I am able to have a foreground layer, a background layer (for parallax effect) and a character sprite using the full 5-6-5 color space at 40 fps!

Last comments

erico

NEW 3 days ago

Player´s visual and movement has such a nice personality, well done!

steph

NEW 1 week ago

aoneill aoneill

Fantastic ! You're really a genius Andy! I will try to take the time to code a recorder by pushing the data on the micro-SD card someday. Maybe we could generate GMV (to then use the Soru converter)? Is there a specification of the GMV format somewhere?
Nevertheless, with a recorder that works at 1 fps, how did you manage to maneuver your character????!!!!
Anyway, thank you very much Andy for all your advice and your contributions which are of great value!


PS: I found something on the Gamebuino-Meta repo.

aoneill

NEW 1 week ago

steph steph

That looks amazing! 

Since it is drawing directly to the screen, the built-in screen recorder doesn't have the frames to record. I wrote my own recorder. I've done it two different ways:

1. I hacked the html emulator to save frames from the html canvas to a gif. I never pushed that version of the emulator anywhere though. I knew it wouldn't work long-term for me though since I intended for this game to load levels off of the SD card which the emulator doesn't support, so...

2. I just recently built a screen recorder into my game. I thought it would be "fun" to send the screen data over the SerialUSB, which can then be combined into a gif on my computer. It is slow, maybe 1 fps. Might have been better off writing to the SD card like the real recorder, but whatever.
Sending the screen data: https://github.com/aoneill01/meta-dn2/blob/335c89c2d37307abc1cb2d4ed7c00f8bf7695cdf/DnGame/TiledDisplay.cpp#L315-L321
C# program (LINQPad actually) to save each individual frame: https://github.com/aoneill01/meta-dn2/blob/335c89c2d37307abc1cb2d4ed7c00f8bf7695cdf/Tools/ScreenRecorder.linq
And finally I use an Imagemagick command to stitch all the frames into an animated gif. Very manual process that I probably won't optimize because I don't plan on doing it frequently. 

steph

1 week ago

Fantastic ! You're really a genius Andy! I will try to take the time to code a recorder by pushing the data on the micro-SD card someday. Maybe we could generate GMV (to then use the Soru converter)? Is there a specification of the GMV format somewhere?
Nevertheless, with a recorder that works at 1 fps, how did you manage to maneuver your character????!!!!
Anyway, thank you very much Andy for all your advice and your contributions which are of great value!


PS: I found something on the Gamebuino-Meta repo.