At least I got started today.
I set up a little kanban board on kryptpad.fr. This is mainly for me to get used to using such a thing rather than spreading todo comments throughout the code.
Since the Game Boy screen is only 160x144 pixels and that is tiny on today's displays the first thing I implemented was simple integer up-scaling based on display size. Here is hoping this won't cause issues down the line with the camera or other things. For example on my 1920x1080 screen the game gets scaled up by a factor of 7 since 1080/144 = 7.5. For a camera I'm considering the nice module stalker-x, although the project seems to have been archived. Alternatives off the top of my head would be hump.camera and gamera.
I have drawn a background and a character for testing purposes. Adding an animation library line anim8 is probably one of the next steps since it ties into graphics loading. Loading an image and picking a frame via a quad manually does not scale.
I consider packing everything into an atlas and use anim8 to load everything, including static sprites. Not because I anticipate performance issues but because it's simpler to deal with things uniformly in code. On the other hand I will have to consider this in my image creation workflow. Also a "grown" sprite sheet could end up nasty and rearranging stuff would lead to fiddly changes in code. This is a thing to consider and settle as soon as possible.
Dart had no music but a single sound, the little sound you got when you turned on a Game Boy. I recreated that sound in MOD tracker format such that it could be played by GB Studio and got pretty close to the original. Löve supports the MOD format, so for fun I loaded that same mod file in Darts 2 and it plays, although the sound synthesis is different between GB Studio and Löve, so it does not sound as close to the original sound. Thankfully with Löve I can use a recorded original sound, I just have find one I can use.
There are a couple bigger tasks waiting to be done, name a scene concept with backgrounds, collisions and triggers. Another possibly bigger one is the dialog system but for that I have something in mind already. But let's not talk about the future too much.
1 comment