Wheel Reinvention Jam

September 25 - October 1. Happening now.
Learn more

Handmade cities

Boston - Aug 3-4 2023.
Seattle - Nov 15-17 2023.
Tickets available now

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.

-Ben

Around the Network

x13pixels
Angelo Theodorou

I have recently published the seventh Lua tutorial for the nCine. It should get you covered with the basics of using mesh sprites with scripting, and why you might need them.

On Twitter/X you can find a small video showing an animation achieved by altering the position of a mesh sprite vertices.

Scr3amer
Forum reply: Locals
Mārtiņš Možeiko
New forum thread: Locals
.imperatorn
New forum thread: RemedyBG 0.3.9.4
x13pixels
New forum thread: What's the state of remedybg?
Catalin Balan
New forum thread: RemedyBG 0.3.9.3
x13pixels
x13pixels
Christoffer Lernö

Syntax discussions tend to be highly contextual. The syntax of a language is not a standalone, separate entity, but rather interacts with what type of algorithmic solutions you envision users to employ. On top of that, one must be aware of that syntax shapes the solutions users will prefer in sometimes unpredictable ways.

This makes completely new syntax very hard to analyze. And also hard to write any guidelines for.

That said, I think there are some things we can say about syntax design, to form some very simple (and obvious) guidelines:

  1. In general, an easy-to-parse syntax tend to be easier for a user to read quickly than a complex-to-parse syntax.
  2. Newly invented syntax will initially be harder for people to grok than established syntax. So it is bad if you try to make experienced programmers understand it "at a glance".
  3. Newly invented syntax does makes the language feel more "different" (unique, inventive etc) than established syntax. So it is good if you want to make the language stand out as being different at a glance.
  4. It's harder to know the downsides of newly invented syntax. So much more research is needed, and it's important to be ready to change it down the line if it doesn't work out.
  5. One's personal opinions of what "nice looking syntax" is very unlikely to be the objectively most accurate opinion, so be aware how that "beautiful" syntax might be hideous to someone else.

Happy hacking!

PotatoRotato

Community Showcase

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