NEW 6 years ago
Added some blocks that disappear shortly after being stepped on. Also detect when you hit spikes.
NEW 6 years ago
Great DN. I have had a quick look on the source. It's well written. Object oriented source.
I love the idea to be able to make game on META in 160x128. With your game we can see that it's possible.
It's could be great if you explained us how to construct it step by step (Some parts are already done for some other games but your spec to do a 160 x 128 games or use your game system could be usefull and tips to do some games in this mode. For me , it's could be an easy game like Parachute (an easy game (the one with wich i have stat to program on gamebuino ;) )that i have to finish a day but it's could be great for port game from Arduboy too as they have amazing game (like 1943 for example but alot other). I think that in this mode you'll have some more limitations but if you can share your knowledge, we could imagine if the raycaster system or an outrace could be used in this mode.
NEW 6 years ago
Else i like the idea to write in the buffer and send it when done to the tft. ;) It's what i thought it could be done when calculating on time a back ground. You keep it in memory and you send it when needed except that in your you push the sprites too before sending it to tft but it better like this as you limit the 'slow' transactions, i think. All calculations is done locally and you push it when ready ;) In your programm, you calculate background each time and as you works in Hi Res, it's better to avoid lake of memory to use only one buffer for the screen content, it's sure.
aoneill
6 years ago
Yes, that is the gist of what it is doing. There isn't enough memory to buffer the whole screen at 160px × 128px with 16 bit colors. Instead there are 2 buffers that can hold 160px × 8px. The game buffers what should be in the top 8 rows of the screen, begins sending that to the display, and starts buffering the next 8 rows while that is being transferred. It keeps repeating this down the screen until the whole screen is drawn.
You mentioned a raycaster. It would be well suited to something like this. Instead of breaking the display into horizontal strips, it would use vertical strips. The ray casting calculations for the next portion of the screen could be performed while drawing the previous portion. Drawing sprites on top of that might be tricky. I created a proof-of-concept doing exactly this several months ago:
All that being said, this is a fun development challenge, but I still love the 80px × 64px mode. It has a pixelated feeling that perfectly fits the Gamebuino. I'm betting I go back to that mode for future games (if I ever finish dn).
NEW 6 years ago
Yes, that is the gist of what it is doing. There isn't enough memory to buffer the whole screen at 160px × 128px with 16 bit colors. Instead there are 2 buffers that can hold 160px × 8px. The game buffers what should be in the top 8 rows of the screen, begins sending that to the display, and starts buffering the next 8 rows while that is being transferred. It keeps repeating this down the screen until the whole screen is drawn.
You mentioned a raycaster. It would be well suited to something like this. Instead of breaking the display into horizontal strips, it would use vertical strips. The ray casting calculations for the next portion of the screen could be performed while drawing the previous portion. Drawing sprites on top of that might be tricky. I created a proof-of-concept doing exactly this several months ago:
All that being said, this is a fun development challenge, but I still love the 80px × 64px mode. It has a pixelated feeling that perfectly fits the Gamebuino. I'm betting I go back to that mode for future games (if I ever finish dn).
jicehel
6 years ago
yes classic mode is fine and easiest to learn but for some games like a sim city for example, using hi res is easiest to manage all the things on the screen and for dn, it's more beautiful with with res. I hope you'll complete it or complete all the system and tools to explain them and wait that others send you some levels and then complete it with assembly of levels and some stuff / anim to link the story / finish it.
NEW 6 years ago
yes classic mode is fine and easiest to learn but for some games like a sim city for example, using hi res is easiest to manage all the things on the screen and for dn, it's more beautiful with with res. I hope you'll complete it or complete all the system and tools to explain them and wait that others send you some levels and then complete it with assembly of levels and some stuff / anim to link the story / finish it.
NEW 6 years ago
You should totally make a creation for that code snippet, it could inspire some :)
NEW 6 years ago
Rather unrelated question: what do you use to record the screen?
aoneill
6 years ago
Good eye. Yeah, I can't use the built-in screen recorder since I'm bypassing gb.display. I've got a modified version of the html emulator that saves frames to a gif. Sounds trickier than it is since I found an existing JavaScript library to do the gif stuff. Unfortunately that time is coming to an end. One of the next changes will be to read levels off of the SD card, and that is unsupported in the emulator.
NEW 6 years ago
aoneill are you a devil reincarnated ? I think already that your levels will be inferno with you temporary tiles... You heve signed a pact ? :D
NEW 6 years ago
Good eye. Yeah, I can't use the built-in screen recorder since I'm bypassing gb.display. I've got a modified version of the html emulator that saves frames to a gif. Sounds trickier than it is since I found an existing JavaScript library to do the gif stuff. Unfortunately that time is coming to an end. One of the next changes will be to read levels off of the SD card, and that is unsupported in the emulator.
NEW 6 years ago
Or you can make a fork of the classic library to add ability to make save of your system too ;) Maybe add a mode type name and a system to save it ? It seems not be able to affraid you ;)
NEW 6 years ago
I've added a number of things since my last comment, including a display for deaths/level number, levels loaded from the SD card, tweaked physics, and the ability to jump different heights. But what I think looks pretty cool is the bricks that break into fragments -
Embedded gif isn't working for me. Here is a link.
NEW 6 years ago
Wouah... Yes, excellent !! Thanks alot aoneil for this game and for your examples of what can be done. It's maybe the game wich show the best the capacities of the META at this day. I hope you'll be able to continue it a few befoe the Paris Maker faire ;)