We’re making a cool game console and we need you to make cool games for it.

Firefly Zero is a handheld game console, similar to Game Boy Advance (GBA). However, unlike GBA, it is modern (and easy to program), has same-room multiplayer (over Bluetooth), and uses a touchpad instead of D-pad for more precise controls.

Developer experience

Firefly Zero is a game console with the best developer experience. It is the first WebAssembly-powered handheld game console in the world. All you need to know about WebAssembly is that it is supported by almost all modern programming languages. And you can use any of them for writing Firefly Zero games!

Already supported:

In future, we’ll support Python, TypeScript, Lua, Zig, Kotlin, and much more.

The official SDKs are designed to be idiomatic, friendly, and zero-allocation.

Firefly Zero has firefly-cli, a swiss army knife CLI tool to do everything you’ll ever need for writing a game: build, publish, download, install, profile, inspect, etc.

Creating your first app is as simple as:

firefly_cli new --lang=rust hello-world
firefly_cli build
firefly_emulator

The desktop emulator runs exactly the same runtime as the real device. If it works on emulator, it will work on the device.

You can read more about getting started in the documentation.

The new frontier

Now is the best time to make a game for Firefly Zero:

  1. We have an official game catalog which is currently has just a few games. Every early adopter will see and play your game.
  2. With the permission of authors, we’ll include (keeping the author’s name and all attributions) the best games on the device by default. Everyone who ever buys the device will play your game.
  3. We will also pay you for including your game on the device. We want to support your work as you support ours.
  4. We’ll have a stand at FOSDEM 2025 where we will show the first prototypes running the community games. FOSDEM is on 2025-02-01, so, naturally, we will only showcase the games that are working (not necessarily finished) by that date.
  5. We’ll make sure that all early adopters, including early gamedevs, will be the first to receive the finished product.

Getting paid

There are 3 ways how you can make a buck from your game:

  1. Hobbyist. Work in your own pace and do whatever you want. If the game is fun to play, we buy it from you and preinstall on all devices.
  2. Enterpreneur. Make a commercial game and sell it as you want, for any price on any platform. If you lend us a free copy of the game, we’ll include it on prorotypes that we show on conferences, so that people can try it out. And in general, we will do our best to promote your work as any other community game.
  3. Freelancer. Pitch us your game and tell us how long it will take to get it working. If it sound good, we’ll pay you 20 euro/hour for your work. If you want more (or less), let’s talk. We’ll give preference to the games that can be done before FOSDEM.

In all cases, we will provide you first-class support: if you’re stuck with anything, just send us in Telegram any questions you might have, and we will help you.

Inspiration

There are already a few FOSS games for Firefly Zero:

More games will be added over time, so keep an eye on catalog.fireflyzero.com. Pro tip: you can browse the catalog from terminal: firefly_cli catalog list.

A good starting point is to port an existing game. And then maybe add a twist on it, like multiplayer or more precise controls with the touchpad.

WASM4 is one of the closest platforms to Firefly Zero in terms of supported API. Its catalog has lots of games, many of which are open-source. Some of my favorites:

If you like programming in C, you can look into porting an existing emulator for a retro game console. For example, an emulator for GBA (which, BTW, has the same screen size, 240x160 pixels). You port one emulator, and you can now run hundreds of existing classic games! How cool is that?

Lastly, somebody will eventually port DOOM to Firefly Zero. You can be the first one.

Next steps

Go to Getting started documentation and follow the steps to get your first app running. If you have any questions or want to get paid, drop us a message: