hbons, to gamedev
@hbons@mastodon.social avatar

changed to a Sonic-style ball jump. makes it easier to add all kinds of mechanics. ⚪💨

it looks better too in my opinion. what do you think?

#GameBoy #GameDev #PixelArt #RetroGaming #Nintendo #ProjectWhiskers

hbons,
@hbons@mastodon.social avatar
hbons,
@hbons@mastodon.social avatar
hbons,
@hbons@mastodon.social avatar

never had to think about compiler output before... really want to stick to that 32kb limit. :)

rewrote this lookup function to output 150 lines of assembly instead of 370.

#GameBoy #GameDev #PixelArt #RetroGaming #Nintendo #ProjectWhiskers

hbons, (edited )
@hbons@mastodon.social avatar

finally got some useful insight into ROM space thanks to @bbbbbr's romusage tool. 🔍

https://github.com/bbbbbr/romusage

41% free is a lot, since the world is a fixed size and already included. should be enough to make it a rich game!

#GameBoy #RetroDev #GameDev #PixelArt #RetroGaming #Nintendo #ProjectWhiskers

hbons,
@hbons@mastodon.social avatar

finally got some time again. added an inventory screen. 🧭 🗺️

I've no clue what most of the items should be. ideas welcome!

Video of the game. A 3x3 item screen opens up and a cursor is moving around.

hbons,
@hbons@mastodon.social avatar

the can give the illusion that original games are full colour by clever use of its default palette.

it uses red mostly. but the darks in the background lean towards the purple, and the lights in the sprites lean towards the yellow.

really makes things pop! 🤩

hbons,
@hbons@mastodon.social avatar

hyperfocus is one hell of a drug. too bad it's an uncontrolled substance.

you get a custom border for the elusive when you set emulation to Pocket and the monochrome palette to Teal. 💡

(totally missed this because you need to reboot the game for it to take effect and the palette is very low contrast so I never use it)

hbons, (edited )
@hbons@mastodon.social avatar
hbons,
@hbons@mastodon.social avatar

messed up when writing the palette switching logic, but kind of digging the look. 🤔

#GameBoy #GameDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

hbons,
@hbons@mastodon.social avatar
hbons,
@hbons@mastodon.social avatar
hbons, (edited )
@hbons@mastodon.social avatar

I want to improve the room draw time.

because of the limited ROM size only the bump map is stored and the room is decorated when switching rooms.

however this has a noticable delay (~20 frames). found this interrupt snippet so I can print how many frames were dropped and I can measure progress. 👍

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

hbons,
@hbons@mastodon.social avatar

also... did you know that the #GameBoyColor has a CPU that's twice as fast? ⚡

you can make use of it like this:

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

hbons,
@hbons@mastodon.social avatar

alright! got about 25% speed improvement! 💪

there's a small bug, but too tired to fix that now...

the screen transition already feels better. need to iterate over 360 tiles, so I would be happy to get it close to 10 frames...

then I might load the next room in chunks in the leftover processing time as you're walking towards it and make it feel instant. 🤯

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

hbons,
@hbons@mastodon.social avatar

11! 🥳

it's very smooth now, will post a before/after recording later. :)

lessons: was using a modulo-% somewhere. removed many function calls inline and simplified the calculations. moved stuff out of loops that didn't have to be recalculated.

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

hbons,
@hbons@mastodon.social avatar

7! 🙃

had some redundant index/row/col calculations, and removed their reliance on non-powers-of-2 multiplications.

didn't think I could get it below 10. :D

#GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo #ProjectWhiskers

hbons,
@hbons@mastodon.social avatar

I can't decide which map style to use. which do you prefer? 🗺️ (poll in the reply)

#ProjectWhiskers #GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo

hbons,
@hbons@mastodon.social avatar

experimenting with different tilesets for sections of the world. 🏙️

just a mockup for now, but the tile swapping has already been implemented. :)

#ProjectWhiskers #GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo

hbons,
@hbons@mastodon.social avatar

splash screen done! maybe I'll make the little moon orbit because I don't do priorities... 🪐🌕

#ProjectWhiskers #GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo

hbons,
@hbons@mastodon.social avatar

reduced the walk cycle from 5 to 3 frames. the Game Boy motion blur will take care of the rest. 🏃

#ProjectWhiskers #GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo

Video of the Aseprite app showing the walk cycle of the cat.

hbons, (edited )
@hbons@mastodon.social avatar

been avoiding looking at the collision code... managed to improve it a lot.

still a few bugs, but now you can at least traverse the world without major issues.

also you can jump on shelves from below now! 🪜🐱

#ProjectWhiskers #GameBoy #GameDev #IndieDev #PixelArt #8Bit #Retro #RetroComputing #RetroGaming #Gaming #Nintendo

hbons, to gamedev
@hbons@mastodon.social avatar

looking up and loaf mode. 🐱🍞

#gameboy #gamedev #pixelart #retrogaming #projectwhiskers

video/mp4

hbons,
@hbons@mastodon.social avatar

I thought I was being clever by passing around pointers to values, but a pointer is 16 bits, vs 8-bit for a value. so you gain nothing unless for structs/arrays.

in fact the generated assembly got a lot smaller by removing the excessive pointer use. recovered a good 1Kb! :)

#ProjectWhiskers #GBDK

hbons,
@hbons@mastodon.social avatar

also learnt you can align sprite tiles in memory to state enums, so you can do:

set_sprite(first_tile + player_state);

this saves a lof of space because no large switch/if statements needed.

#ProjectWhiskers #GBDK

hbons,
@hbons@mastodon.social avatar

lots of space savings with pointers to structs by using a local proxy variable:

a = thing->a;
b = thing->b;

// do stuff with a/b

thing->a = a;
thing->b = b;

#ProjectWhiskers #GBDK

hbons,
@hbons@mastodon.social avatar

oh also! group tiles of the same type together in VRAM so you can see if one is if a type. for example:

bool tile_is_solid(tile)
{
return (tile >= 12 && tile <= 24);
}

instead of
bool tile_is_solid(tile)
{
return tile == TILE_SOLID1 ||
tile == TILE_SOLID2 ||
tile == TILE_SOLID3 ||
// etc...;
}

#ProjectWhiskers #GBDK

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines