Wheel Reinvention Jam

September 25 - October 1. See the results.
Learn more

We are working to correct the course of the software industry.

We are a community of low-level programmers with high-level goals. Originally inspired by Casey Muratori's Handmade Hero, we dig deep into our systems and learn how to do things from scratch. We're not satisfied by the latest popular language or the framework of the month. Instead we care about how computers actually work.

Software quality is declining, and modern development practices are making it worse. We need to change course. Help us get the software industry back on track.

Latest News

With the Wheel Reinvention Jam just over a week away, we’re very pleased to finally release the Orca MVP to the community!

Orca's UI

For those unfamiliar, Orca is our new cross-platform runtime for WebAssembly apps. It gives you a cross-platform app development system without all the baggage of browsers. It’s a long-term project with ambitious goals, but we are very excited to finally release an early MVP for the community to play with.

All the details can be found in the announcement post over on the Orca website. There you’ll find how to access the source code, the list of features and current limitations, and how to get help and provide feedback. If you’re interested and think it would be a good fit for your project, we’d love to have you try it out during the jam.

Jam! Jam! Jam!

Wheel Reinvention Jam: September 25 - October 1

Our third annual Wheel Reinvention Jam is less than two weeks away! The Wheel Reinvention Jam is a week-long jam where we build software from scratch. Whether you want to clone an existing app for fun or build something wild and ambitious, this is your chance to try.

If you’ve never participated in a week-long jam before, don’t sweat the time commitment - you can participate with however much time you have. Whether you take days off of work or just participate on the weekend, we’re excited to see what you create!

The jam takes place from Monday September 25 to Sunday October 1. For all the details, visit https://handmade.network/jam.

Why reinvent the wheel?

We owe the name “Wheel Reinvention Jam”, and its logo, to Casey. At the start of Handmade Hero, literally in episode 1, a viewer asked the question: “Why not use an engine? Why reinvent the wheel?”

Casey’s answer deserves to be watched in its entirety, but part of it is shockingly relevant right now:

If you start with an engine, then it changes what you’re learning from the fundamental truth of how to implement a game to someone else’s version of that. […] What you’re really learning is that engine. You haven’t learned how to make games, you’ve learned how to make games in Unity. Right? And if Unity were to disappear, for example, you would no longer know how to make a game at all. I’m not exaggerating this, that’s just the truth.

We could not have planned our jam at a more opportune time. Unity recently announced a dramatic change to their pricing structure that leaves the future of many game studios in doubt.

What Casey said back in 2014, at the very inception of the Handmade community, has now come to pass. For many game developers, Unity is no longer an option. And just like Casey said, their very existence in the industry has now come into question. Will they be able to make games at all?

Casey’s reasoning holds as true today as it did then. The world needs engine programmers! Programmers who understand how engines work aren’t constrained by the limitations of the engine - they know what’s fundamentally possible and can work around constraints to achieve anything they want. But more than that, our current engines are not good enough! We need people making new engines, better tools, better wheels.

This is not just true for game engines. It’s true of the entire software industry. We need new video editors, new platform layers, new code editors, new databases, new networking protocols, new compilers, new typesetting systems, new presentation programs, new graphics APIs, new operating systems.

We will never make progress unless we reinvent the wheel.

See you on September 25.


Around the Network

Blog comment: Say hello to C3 0.5
Blog comment: Say hello to C3 0.5
Simon Anciaux
Blog comment: Say hello to C3 0.5
Christoffer Lernö
New blog post: Say hello to C3 0.5
Christoffer Lernö

C3 is a programming language that builds on the syntax and semantics of the C language, with the goal of evolving it while still retaining familiarity for C programmers. It's an evolution, not a revolution: the C-like for programmers who like C.

It is finally time to release C3 0.5. This version is the first version of the C3 compiler (and by extension, the C3 language) which is feature-stable.

Before 0.5, the language changed in the same minor version, so the 0.4.1 version of the compiler might not compile code written for 0.4.20 and vice versa.

From 0.5 and forward this changes: each future version will have its own branch where bug fixes will happen, but otherwise the features are frozen. New features will be reserved for the dev and master branches. Consequently, as we announce 0.5, work will actually move on to 0.6 which is where the active development will happen.

This allows people to pick a version to confidently work with, knowing that there will be no changes to language semantics or the standard library.

Feature complete

With 0.5, C3 language itself can also be considered feature complete, and for 0.6, 0.7, 0.8, 0.9 the focus will be on the standard library. A good standard library should address real life use-cases, to solve commonly encountered issues of the users.

In order to properly know what those use-cases are, a diverse set of projects must be written in C3. And for people to build non-trivial projects in C3 without problems there must be some stability guarantees to the compiler itself. This is what 0.5 provides, and why we now switch forward to refining the standard library.

Explore C3

Interested in trying out C3 0.5? Learn more on the language's official site: https://c3-lang.org. Obtain the compiler from GitHub at https://github.com/c3lang/c3c/issues and join the community shaping the future of the C3 programming language.

Forum reply: D programming language
Simon Anciaux
Simon Anciaux
New forum thread: OpenGL: Rotation Matrices

Community Showcase

This is a selection of recent work done by community members. Want to participate? Join us on Discord.