Matt Hughson (NES & GB Dev)
banner
mhughson.bsky.social
Matt Hughson (NES & GB Dev)
@mhughson.bsky.social
Game developer making new games for old systems, such as the NES and Game Boy! #nesdev #gbdev

• From Below (NES | 2020)
• Witch n' Wiz (NES | 2021)
• From Below Pocket (GB | 2023)
• Super Sunny World (NES | TBD)

MORE: https://linktr.ee/matthughson
We're a Scarios family, with the odd can of U.F.O.'s, thank you very much!
November 25, 2025 at 4:54 AM
🎉Wow! Just hit 10k followers on Twitter!

I'm so thankful to be part of this enthusiastic and engaged community around the NES and Homebrew!

I spent years making Indie Games without finding an audience, but that completely changed with #nesdev!

Thank YOU so much!💖 #screenshotsaturday
November 22, 2025 at 8:08 PM
It never feels good taking this cute little guy out...
November 20, 2025 at 5:51 AM
A big change I'm working on is allowing BOSSES to be shot with the PEARL POWER. I think it's the right thing to do, since it make the power-up feel more meaningful.

But each of the 8 unique bosses need to be re-coded a bit to support this. Should be worth it I hope!

#nesdev
November 20, 2025 at 4:50 AM
I live for this aesthetic...

#ThrowbackThursday #tbt #nesdev
November 17, 2025 at 12:08 AM
Wow, it worked! Thank you so much for the suggestion! It took just one line of code and made a big improvement.
November 14, 2025 at 11:15 PM
Players using Emulators shouldn't have a better experience that players on a physical NES! 💢

For example, Super Sunny World will feature a QUICK SAVE, similar to "SLEEP MODE" found on some GBA games, to allow you to take a break without losing all your progress.

#nesdev
November 13, 2025 at 7:22 PM
It's not the prettiest thing, but I think it will do!
November 13, 2025 at 4:42 AM
Believe it or not, Super Sunny World has never had a Pause Menu until now! A new feature is finally pushing me to create one.

Currently, I’m sketching out the layout in NEXXT. #nesdev
November 13, 2025 at 4:05 AM
The comments in GREEN explain how it works.

1. ALWAYS move right
2. Jump every 64 frames
3. WALK for 16 frames, then RUN for 48 frames.

That's it! But why does this work?
November 10, 2025 at 6:18 PM
There is no "player AI" figuring out what to do. I don't even record inputs and play them back.

This is the entirety of the player logic for attract mode! Basically 10 lines of code.
November 10, 2025 at 6:18 PM
There is no universal solution for implementing an Attract Mode, and games choose a wide variety of designs, from gameplay to story to little animatics.

Super Sunny World 🌞 implements a classic gameplay loop.

How I do this is deceptively simple; only about 10 lines of code!😈
November 10, 2025 at 6:18 PM
How I squeezed the ATTRACT MODE of Super Sunny World (NES) into 10 lines of code!
_________________________

"Attract Mode" stems from the arcade. Looping gameplay would entice viewers to try the game. It helps avoid burn-in on CRT displays.

Later this would come to home consoles as well!

#nesdev
November 10, 2025 at 6:18 PM
And now when we run the game, and open the graphics debugging tools, we can see the final result (left), the background tile layout that matches NEXXT (center), and the graphics data from YY-CHR (right).
November 8, 2025 at 11:19 PM
And the final step is to simply load the graphics data into memory at the right time. In my game that's a simple function call that I pass in the byte array of layout data. At the same time, I will run some code to swap to the that new bank of CHR memory we created in YY-CHR.
November 8, 2025 at 11:19 PM
To include the action graphics data (the stuff we drew at the start in YY-CHR), I simply include the same CHR file that I used in NEXXT. It just needs to go in the right segment of memory so that the NES functions properly.

In Super Sunny World, there are 32 banks of CHR data!
November 8, 2025 at 11:19 PM
Now I can include that byte array anywhere in my code to access the image layout data. Now remember, this is just the layout data (which tile goes where, and what color). It is not the actual graphics!
November 8, 2025 at 11:19 PM
Now that the screen has been designed, it needs to get into game!

Step 1: export that Canvas as a byte array. This is a long list of numbers where each number represents a tile in the tileset (eg. 0 would be the first tile, 1 would be the next tile). NEXXT does this for me!
November 8, 2025 at 11:19 PM
That image file is then imported into another tool called NEXXT. You can see the image data on the right side labeled "tileset". This is a kind of "palette" where I can select a tile and "paint" it to the "Canvas" on the left. That canvas will be what we see in game.
November 8, 2025 at 11:19 PM
It starts in a drawing tool called "YY-CHR", where the tiles for the background are drawn with just 4 colors. The image itself does not contain any color at this point, so the tool allows you to swap palettes on-the-fly to see how things look.

This gets saved to a CHR file.
November 8, 2025 at 11:19 PM
Ever wonder how graphics are made for the NES?

Here's how I get full screen graphics, like this, from my PC into my NES game, Super Sunny World🌞! I'll try to keep it high level, and avoid anything super technical.

Details below in thread! 🧵

#nesdev
November 8, 2025 at 11:19 PM
I'm happy to reveal that WARP ZONES will be in Super Sunny World 🌞 (my upcoming NES platformer).

They are hard to find, but easy to reach again once you know where they are (similar to Mario Bros). This should make the limited-lives style of gameplay more enjoyable.

#nesdev
November 7, 2025 at 5:48 AM
Super Sunny World (my upcoming NES platformer) will have a number of hidden items required to reach 100% completion.

To make this more manageable, I've included a stats page with a breakdown per level of what you are missing!

#nesdev
November 5, 2025 at 3:16 AM
Homebrew #MailCall!

Haunted Halloween '87 (NES) by @retrotainmentgames.bsky.social has arrived just in time for Halloween 🎃!

#nesdev
October 31, 2025 at 8:32 PM
Are there any NES games with visual effects, or hardware quirks, you'd like me to break down in detail next?

Drop a comment or screenshot below! Extra points if it’s something accessible without me spending hours in the game. 😉 #nesdev
September 14, 2025 at 4:26 PM