Sat Sep 26, 2015 2:35 pm
Sat Sep 26, 2015 6:28 pm
Sat Sep 26, 2015 10:41 pm
Sun Sep 27, 2015 4:02 pm
mougino wrote:Wow!! Kudos jhhoward
Looks very promising, I'm testing it right now.
How far are you from the 30K/2K flash/ram limit of the Gamebuino?
Are you confident to have still enough room for the game logic?
Cheers,
Nicolas
Mon Sep 28, 2015 6:06 am
Mon Sep 28, 2015 8:16 am
Thu Oct 01, 2015 12:48 pm
Wed Oct 14, 2015 6:50 am
Wed Oct 28, 2015 1:10 pm
jonnection wrote:@jhhoward: nice going, you have some serious skills. If I understood correctly, you have been coding Uzebox games.
I'd like to know what kind of environment you develop in. Is it Atmel Studio and if so, are you using a hardware debugger ?
Some experiences of trying to jam the Operation Fox code into 30k:
There is some memory waste in the Gamebuino lib and you should consider what features to use from it. For example, the font character tables in Gamebuino contain the ASCII escape characters although there is no use for them. Leaving out Print functions or strictly using just one type of Print by typecasting as well as using a CAPS ONLY char set can save program memory. Using more than 1 font size is a no-no.
Second, in real hardware you will quickly realize that in fast moving images, the quality of animation is not so critical, because motion blur due to LCD persistence kind of "spoils it" in any case. Looking at your bitmaps on your Github repo, I'd recommend simplifying characters and animations to save memory.
Third, adding streaming from SD is a double-edged thing. On the other hand, you can stream maps from SD. But on the other hand, petitFS will chomp around 3-4k of your precious program memory + RAM overhead. If you're not yet already using PetitFS, you will need to tighten your code quite a bit to make room for PetitFs. Also, my Operation Fox project got burned by the slow seek speed of the 256mb microSD cards that ship with the Gamebuinos. Streaming from SD worked well in my 2GB "Fakebuino" but didn't work at all for people who were playing on a real Gamebuino.
Fourth, re-use functions as much as possible. For example, I had a bitmap overlay function (simple OR to screenbuffer) and an alpha-channeled bitmap function. By replacing all OR overlay functions with calling the same alphabitmap function with the bitmap itself as mask, I got the same result with 1 function only and no noticeable speed hit. But you are clearly an experienced programmer, so you know this stuff.
Really looking forward to your next version !
Thu Oct 29, 2015 12:38 am