HOME NEWSLETTER PREVNEXT

malamute

NEWSLETTER - FALL 2024

i was in japan!

Apologies for my absence! I was traveling: in October, I spent 2 weeks in Japan, mostly in Tokyo, where I was sightseeing and taking in my first opportunity to visit another continent. While I was there I took the chance to go to Akihabara and absorb some of their game culture. I didn't bring home any Game Boy souvenirs but I did see a lot of inspiring things. After a year of grinding on Patchy Matchy and Paw Patrol, the trip definetly energized me for my next endeavors.

tombs of gara!

I've started working on my new Game Boy project Tombs of Gara, a dungeon crawler with "Punch-Out!" style combat. Here are some of the techincal workarounds I've had to do so far...

Like FMT/PM, Gara is going to be a 32 kilobyte game. Why? Because the manufacturing cost is about 30% lower! Larger storage requires a (slightly) more complex PCB, additional resistors, and a memory-bank-controller or logic circuit to access the additional space used on the ROM chip. Right now cart-assembly is super easy: one ROM chip on one board. Another reason is that having a well-defined ceiling on the storage clamps the scope of the game. I have to be careful with how I'm using the storage space to the best effect, not only so I can fit the whole game concept in the cart, but so that I'm not succumbing to feature-bloat and trying to add more and more things the game doesn't need.

Because Gara is a LARGER game than FMT/PM, in terms of the number of elements, we have to make them simpler. As such most of the graphics in Gara are going to be 1-bit-per-pixel instead of the Game Boy's more standards 2-bits-per-pixel. This means instead of four colors (white, light grey, dark grey, black), we are simply going to define 2 colors for most graphics. This saves on overall storage space.

Most monster graphics were designed as 32x32 black and white sprites. The design challenge here is keeping the shapes and features simple and legible, while adding in enough detail so that the characters look distinct, unique, dynamic, and interesting. These monsters are then batched into groups of 8, and then compressed using GBDK's gb_compress for storage. When the game runs, all the monsters in that batch are decompressed to a buffer, and then the correct monster is pulled to VRAM.

Backgrounds needed a bit of attention too. Full-screen, 2bpp images would be too expensive. A 20x10 (160x80 pixel) image at 2bpp is 3200 bytes (~10% of my total storage). So I decided to do the background graphics in 1-bit, though I use some techniques to get more bang for my buck. Firstly, I only store less than HALF of a background image, opting for a vignette border of reused tiles around the outside, reducing the image size to 8x8 tiles or 64x64 pixels. The vignette will be the same for every image, allowing it to fill the screen. The BG is then stored as a black and white image, though I also include an 8-byte palette mask, which tells the Game Boy which colors to use for each tile in the image. This way, I can have more than just black and white used to draw the image, even though each tile in the image can only use two colors. The black-and-white half-image is compressed into the game, then at runtime, loaded to a 1024-byte memory buffer in the Game Boy RAM, where its mirrored beside itself to form the full image without the vignette. We have to draw it to VRAM before we can draw it on the screen, so each tile is then palettized according to the palette mask while being expanded to 2-bits-per-pixel and drawn to VRAM. From there, we have a 16x8 tile image ready to be drawn to the screen one tile at a time inside of the vignette, so we can just draw them each in order on the background layer of the screen.

By storing the background with these methods, what could have been a 3200 bytes on the ROM becomes a 448 bytes per backround, allowing space for more content! These limitations make for some interesting design choices. I opted to avoid the darkest color to make the background more recessed and to allow the monster and player sprites to stand out more as high contrast elements. Decidng which tiles should then be lighter and which should be darker, and how to show light coming from the background into the foreground, becomes very tricky. I tried to make artistic choices that compliment the constraint. A lot of what I end up doing artistically is trying to find the best way to execute while understanding the limitation. Instead of being an obstacle, it becomes a style!

That is all the interesting news I have on this project for now but I'll update on more of these puzzles as I develop the game further.

from the scene

tad boy color

The maker of the Frog Boy Color just released their open plans for the Tad Boy Color, a miniature Game Boy Color that reflects his design philosophies and aesthetics. Its so tiny! The custom casing is really sharp. You can watch him explain his design and build process in the video below.

GEARS fundraiser, win a custom modded game boy pocket

I'm currently doing a fundraiser through my twitch channel for Greater Edmonton Animal Rescue Society, with the goal of raising $1000 for them by the end of 2024. I've got some prizes to give away to sweeten the pot, including a custom modded Game Boy Pocket, and copies of Fydo's Magic Tiles.

GEARS is a local animal welfare charity that finds homes for animals in need, and they adopted my best friend Sam to me in 2023. I'm just supporting them in their mission so they can continue to find more homes like this for dogs like him.

To be eligible for the giveaway, just follow my twitch account (so I can send you a whisper in case you win), and donate at least $5 through the 'donate to charity' button on my twitch page. You must be over the age of majority in your country, you must ok with giving me a deliverable address to ship you your gift, and from a region where giveaways like this are legally permitted.

just interesting

game boy demakes

If you're a Game Boy geek like me, you'll get a kick out of Game Boy Demakes. They take modern games, redraw the graphics within the Game Boy limitations, and then assemble them into mock ups of what the game would have looked like had it been released for Game Boy! Pretty fun.

gba jam

Back in September, I played through a selection of GBA Jam entires! The GBA Jam was a game jam meant to spread the word about Game Boy Advance development and get people trying their skills at making projects. There were some hits and misses and I just wanted to get a sample of what was there. You can check out my stream, or try the games for yourself.

cool links

bookmarked in autumn


HI! I'm Matt! I'm coding a brand new platformer for the NES, inspired by Super Mario Bros 1 + 3. It's called... Super Sunny World 🌞 Follow me to get updates as it approaches alpha, and please repost to let other folks know about it! 📷 #nesdev #gamedev #screenshotsaturday

[image or embed]

— Matt Hughson (@mhughson.bsky.social) October 20, 2024 at 11:41 AM

Finalising my palettes for the boss sequences! 🎨 We have an amazing handful of boss music by @lena.fyi, Hiroki Kikuta, and Heosphoros 👏 #gamedev #nesdev

[image or embed]

— Ted (@vontheodore.bsky.social) November 16, 2024 at 10:04 AM

oilman #pixelart

[image or embed]

— Drew (@drewsnatcher.bsky.social) December 24, 2023 at 8:22 AM



games by friends

FEATURED! HIGHLY RECOMMENDED! SO MUCH FUN!

EARLY ACCESS! Purchasing the game early helps developers as they finish the game.

WISHLIST! Wishlisting costs nothing and helps developers by boosting their lauch visibility, so check out these titles!

If you'd like your game or project featured here, get in touch!

anything to contribute?

Thanks for reading! Reach out or tag me on social media to @ohnotomsutton or reply to your newsletter email to let me know what you think or to suggest content. I'd love to get more game dev, art, and animation stuff! The goal is to have an assembly of fun, interesting or enlightening things for the first of the month, every month.

Subscribers as of 17/11/2024: 32.