NESFab – Programming language for making NES games
This is a long-running personal project I've had to write an optimizing compiler from scratch. Everything was done by me, including the lexer/parser, SSA-based IR, high-performance data structures, and code generator. Originally I wasn't targeting the NES. It started as a scripting language, then it morphed into a C++ replacement, and then finally I turned it into what it is today. The large scope of the project and colorful history means it's still a little rough around the edges, but it's now working well enough to post.
NESFab – Programming language for making NES games launched on March 7, 2023 with 298 votes, #97 of 5,007 launches that month and more than 95% of that year's launches. The site was still online in September 2026, 3 years on.
In plain words
NESFab is a programming language and compiler for creating games for the Nintendo Entertainment System. It features a custom-built optimizing compiler with lexer, parser, SSA-based intermediate representation, and code generator, all developed by a single creator. The language evolved from a scripting project into a specialized NES development tool. While still refining some rough edges from its complex development history, it is now functional enough for practical use in NES game creation.
written from the facts on this page · September 2026
From the sources
NESFab is a new programming language for creating NES games. Designed with 8-bit limitations in mind, the language is more ergonomic to use than C, while also producing faster assembly code. It's easy to get started with, and has a useful set of libraries for making your first — or hundredth — NES game. NESFab generates better 6502 machine code than any high-level compiler tested, including GCC and LLVM. It's possible that NESFab is the best performing 6502 compiler in existence. Traditionally, NES games were written by hand in assembly language, as anything else at the time was too sluggish to run on the 1980s era CPU. NESFab isn't sluggish though! The NES uses a 16-bit address…from pubby.games
Does a similar job
all alternatives →
An NES emulator written in Rust2013 · github.com · ▲125NES emulator written in Rust. Contribute to pcwalton/sprocketnes development by creating an account on GitHub.
Boardzilla, a framework for making web-based board games2024 · boardzilla.io · ▲574Show HN: Boardzilla, a framework for making web-based board games Tldr: We’ve made a framework for web-based board games. You can try out some games over at https://boardzilla.io, or you can take a look at https://docs.boardzilla.io to learn more about how to develop your own game. Source is available at https://github.com/boardzilla Hey y’all. My brother and I have made a framework for board games. During the pandemic we started to look at BGA but got discouraged by how old-fashioned the tools were and how cumbersome the development process was. We set out…
ScrapScript – A tiny functional language for sharable software2023 · scrapscript.org · ▲503Hi friends, I started casually working on scrapscript in 2015. I built a few compilers over the years to test out various ideas/implementations, and I think I'm finally happy with the overall design. The code is not public yet. Email me at [email protected] if you're interested in joining the core team later this year. Let me know if you have any questions or feedback :)
- 9D90s.dev – Game maker that runs on the web2025 · 90s.dev · ▲352
C# Game Engine with its own scripting language and IDEAug 2026 · github.com · ▲118GitHub repo: https://github.com/ArcadeMakerSources/ArcadeMaker (first of all, i want to say that I made this project for fun and challenge. I always wanted to create my own language. This has no business goal or something.) So the project is a 2D game engine (MonoGame backend) inspired by GameMaker 8. It includes its own IDE (built with WinForms) and an interpreted programming language that I wrote myself. The language—definitely the biggest challenge in the project—is a simple dynamically typed language. When I started, I had zero knowledge of how to build something like…
LuaGB – A Gameboy emulator written in pure Lua2017 · github.com · ▲136A gameboy emulator written in pure Lua. Work in progress. - zeta0134/LuaGB
More dev tools this month
the category →

open-source IDE for thoughtful software design. Contribute to devdotfast/whiteboard development by creating an account on GitHub.
Dev tools · 27d ago · github.com

Contribute to reladraw/reladraw development by creating an account on GitHub.
Dev tools · 25d ago · github.com
OpenBot▲362Grok Bot alternative: free, local, open-source, multiplayer
Dev tools · 22d ago · openbot.run
Talanoa▲341Hi HN, I’m a fullstack developer, and honestly, I’ve lost count of how many side projects I’ve worked on over the years. But one idea kept coming back to me: a different kind of email client. It first came to me in 2014: “What if we could handle emails more like conversations?” Every year, I’d revisit this concept in my “Build Notes.” Ten years later, no one had built exactly what I had in mind — so I finally decided to do it myself. That’s how Talanoa was born. I wanted something focused on people, not timelines. I was tired of marking messages as unread just to remember to reply later, or…
Dev tools · 20d ago · talanoa.email
CoreSpeed▲332One MCP for everything your agents need: apps, memory, tools
Dev tools · 28d ago · corespeed.io
Source: Show HN post ↗
Launched alongside, March 2023
the whole month →

Typing Mind▲826Chat with AI using your API keys. Pay only for what you use. ChatGPT, Gemini, Claude, and other LLMs supported. The best chat LLM frontend UI for all AI models.
AI · 2023 · typingmind.com

Sequoia▲726Personalized men's sexual health with on-demand experts
Life & fun · 2023 · sequoia.health
- BI
I'm a big fan of the BBC podcast In Our Time -- and (like most people) I've been playing with the OpenAI APIs. In Our Time has almost 1,000 episodes on everything from Cleopatra to the evolution of teeth to plasma physics, all still available, so it's my starting point to learn about most topics. But it's not well organised. So here are the episodes sorted by library code. It's fun to explore. Web scraping is usually pretty tedious, but I found that I could send the minimised HTML to GPT-3 and get (almost) perfect JSON back: the prompt includes the Typescript definition. At the same time I…
AI · 2023 · genmon.github.io