HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
How we fit an NES game into 40 Kilobytes

Morphcat Games · Youtube · 178 HN points · 7 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Morphcat Games's video "How we fit an NES game into 40 Kilobytes".
Youtube Summary
Trailer/Gameplay: https://youtu.be/VFX401vvKTQ
NES CARTRIDGE NOW AVAILABLE: https://www.brokestudio.fr/en/shop/micro-mages-2/
DIGITAL VERSION: https://morphcatgames.itch.io/micromages
OR ON STEAM: https://store.steampowered.com/app/1065020/Micro_Mages/

Both the itch.io and Steam releases contain a ROM file for use on NES emulators and are thereby playable on many different platforms!

Twitter: https://twitter.com/morphcat

Kickstarter page/updates: https://www.kickstarter.com/projects/morphcat-games/micro-mages-a-new-game-for-the-nes/updates
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Oct 21, 2022 · 1 points, 1 comments · submitted by newuwstudent
alrlroipsp
Super Mario Bros for NES is 32 KB
I love this video: https://youtu.be/ZWQ0591PAxM

As part of a Kickerstarter campaign, Morphcat Games made this video explaining how they eked out a really incredible game with only 40 Kb (a lot like Super Mario Bros 2). I definitely recommend checking this out as they go over interesting compression methods and more general thought processes.

noman-land
Thank you for sharing. These tricks are really clever!
Oct 09, 2021 · 2 points, 1 comments · submitted by Wowfunhappy
Wowfunhappy
I really encourage you to want to watch this even if you're normally skeptical of video content. It uses the visual medium well, to show how large graphics can be made from a downright tiny number of tiles.
Does anyone know how it is done today, like with Micro Mages?

https://youtu.be/ZWQ0591PAxM

dormento
I do it in C (good enough for most purposes, although a little slow and bloated - most people do it straigh in ASM with extensions).

I use Ubuntu, good old Sublime Text with C extension, FCEUX (Windows version on wine) and YY_CHR (for working with graphics). To compile, check out the awesome CC65 suite (it has a compiler, assembler, linker... the whole thing).

sircastor
I used an emulator called NinTaco, a 6502 assembler, and VS Code. My game was very simple and completed in about 3 months (I didn’t have any sound and a very limited game)

I think the crucial piece is the assembler and documentation about the start up and loop processes.

djmips
For NES there are many development environments now... Probably dozens. The main modern advantage is emulators. I do enjoy folks who take a different approach like this dev who is using Lisp to make a NES game. http://www.dustmop.io/blog/2019/09/10/what-remains-technical...
Jun 23, 2021 · 8 points, 1 comments · submitted by Wowfunhappy
Wowfunhappy
You may want to watch this one even if you're generally skeptical of video content. It uses the visual medium well, to show how large graphics can be made from a downright tiny number of tiles.
Jun 21, 2021 · 2 points, 1 comments · submitted by Wowfunhappy
Wowfunhappy
I know a lot of HN'ers are wary of videos, but I really do encourage watching this one. It's quite succinct, and it makes very good use of the visual medium as an explanatory tool. Super clever!
Nov 20, 2020 · 1 points, 0 comments · submitted by ducktective
Oct 13, 2020 · 1 points, 0 comments · submitted by tosh
I'm absolutely blown away by some of the games they managed to make in under 13kb. This video "How we fit an NES game into 40 Kilobytes" is an interesting illustration of just how small these games are.

https://www.youtube.com/watch?v=ZWQ0591PAxM

NortySpock
And MicroMages (2019, featured in the video) was an excellent short game for the NES with tight controls. I bought a MicroMages cartridge in the IndieGogo campaign, gave it to a friend of mine who had an NES, and we had a blast playing the 2player mode. (also available as a standalone and emulated cartridge.)
I remember seeing this video on that about the clever compression tricks used to cram the sprites and map layouts into 40K.

https://www.youtube.com/watch?v=ZWQ0591PAxM

Dec 23, 2019 · alecco on Ask HN: Best Talks of 2019?
ZFS for newbies https://www.youtube.com/watch?v=3oG-1U5AI9A main ideas behind ZFS and why it blows out the competition in many scenarios

Making C Less Dangerous in the Linux Kernel https://www.youtube.com/watch?v=FY9SbqTO5GQ

NUMA optimizations in the FreeBSD stack (Netflix) https://www.youtube.com/watch?v=8NSzkYSX5nY

How we fit a NES game in 40KiB https://www.youtube.com/watch?v=ZWQ0591PAxM

Very much agree with the parent.

If you want a better idea on how you can cram everything into 40KB — using every trick in the book, including ones not considered 30+ years ago — take a look at a how a recently released NES game (Micro Mages) managed it.

Their primary design constrain was that they restricted themselves to 40KB, despite wanting to do far more than the games that were done in 40KB back in the 80s.

https://youtu.be/ZWQ0591PAxM

jpm_sd
This video is so well done! @dang this would make a much better top link than the nonsensical article posted originally
Sep 06, 2018 · 163 points, 13 comments · submitted by scott_s
bopbop
Haven't watched this but follow the nes dev scene closely, and I'm looking forward to this.

Some other good new releases(all three of these are freely downloadable):

Project blue: http://forums.nesdev.com/viewtopic.php?f=33&t=16785

Star Evil and FF: http://forums.nesdev.com/viewtopic.php?f=33&t=16993

For anyone interested in doing some new programming, I recommend starting with nesdougs tutorials, which'll get you started with a dev environment in c:

https://nesdoug.com/

And checking out forums.nesdev.com in general.

bopbop
Oh and should probably mention there's another nes kickstarter on now, nebs n debs, which is looking good:

https://www.kickstarter.com/projects/dullahan-software/nebs-...

Dowwie
In addition to this talk, I recommend watching a documentary, Beep, about how musician-programmers managed to compose meaningful sounds and music in memory constrained systems.

http://www.gamessound.com/

makapuf
quick summary : (video still interesting)

- optimize sprites as 8x8 tiles, use symmetry

- reuse sprites / tiles with different palettes

- define levels as metatiles of 32x32 made of 4x4 tiles

- set levels as symmetric, use high bit of metatile indices to define rotation of each metatile line.

- delta-encode hard mode wrt standard mode

mattseattle
It's an interesting project, and I enjoyed watching the video, Thanks for sharing.
Hydraulix989
How big are they normally?
lostgame
256kb, 512kb?
firdak
Offical NES games were between 24KB (e.g. Excitebike) and 768KB (Kirby's Adventure) in size. The Japanese Famicom even had a 16KB game (Galaxian).
0xcde4c3db
Famicom also had a 1024KB game (Metal Slader Glory).
Scaevolus
Retro City Rampage for NES did something similar (32KB program ROM, 256KB graphics ROM), but the author also developed a High Level Assembler so you he could write structured code more directly: https://www.youtube.com/watch?v=Hvx4xXhZMrU
unwind
Well this video is about fitting all of the vertically-scrolling 4-player run-and-jump action into 40 KB, with some very neat tricks to shave and save everywhere. Really interesting if you're into low-level stuff. The NES looks kind of fun to develop for ...
bopbop
It is actually - I've done quite a bit over the past two or three years and 6502 assembly is really nice to program - it's hard to explain, but the fact it only has three registers combined with a relative ton of storage space for variables means you're constantly doing this three-card Monte shuffle that is very satisfying.

It's also all eight bit, obviously, so you're also dealing with nice, human manageable numbers of 0 to 255.

monocasa
A lot of asm work back in the days was with fairly powerful macro assemblers that let you 80/20 rule yourself to fairly structured code.
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.