The Developer's Saw Trap: A Challenge to Not Reinvent the Wheel
Description
A meme parodying the 'Saw' horror movie franchise, set in a dark room with a brightly lit, open doorway. On the left, an old CRT television displays the face of the Jigsaw puppet, who is delivering a message via a speech bubble: 'Hello, indie game developer. In this "Saw Trap", there is a wheel in front of you. Your challenge is to leave the room without reinventing it.' In the center of the room is a simple, rustic wooden wheel. On the wall behind it, the words 'DO NOT REINVENT' are scrawled in red, mimicking blood. A second speech bubble at the bottom explains, 'It works fine. It's a perfectly good wheel. The door is unlocked.' This meme humorously critiques the common developer tendency to 'reinvent the wheel' - building a solution from scratch when a perfectly good, existing one is available. It's particularly aimed at indie game developers who might be tempted to create their own game engine instead of using established ones, framing this inefficient impulse as a form of self-inflicted torture
Comments
22Comment deleted
The hardest challenge for any engineer isn't solving the problem; it's accepting that the problem has already been solved and the optimal solution is just an 'npm install' away
Remember: shipping an indie title is hard enough - don’t add “invent axle physics v1.0” to the sprint backlog
The real torture isn't the trap - it's watching your indie game's release date slip by another year because you decided to write your own physics engine instead of using Box2D, implement custom networking instead of using Mirror, and build your own entity component system when Unity's already sitting right there, unlocked and ready to ship
The real horror isn't the Saw trap - it's watching an indie dev spend six months building a custom physics engine for a 2D platformer when Unity's Rigidbody2D was sitting right there, unlocked and ready to use. The door to shipping was always open; they just couldn't resist that perfectly good wheel
The real horror isn’t Jigsaw - it’s NIH: you spin up a bespoke ECS, renderer, and input stack to “avoid dependencies,” and by the time the bearings ship, the door’s been unlocked for months
Indie devs eyeing that wheel: 'Functional, sure - but does it support entity-component-system with hot-reloadable shaders?'
At my last studio, the fastest way to miss a ship date was ‘quickly’ writing a custom engine - six months later we had an ECS, a shader compiler, and no game
I failed this challenge so many times Comment deleted
Even harder: The challenge is to not rewrite it in Rust Comment deleted
Don't blame people of rust on constant urge of rewriting something in crablang before trying to write something new in it by yorsrlelf Comment deleted
This is true regardless of whether the language is being changed or not: "reinventing the wheel" is a good practicing example — we all start with our very own implementations of sort() , factorial(), etc. Comment deleted
and in js we do that till the end, every freaking time 😄 Comment deleted
So you stating that people of rust are all amateurs that are only studying how to code? OK got it Comment deleted
I was stating quite the opposite, but you are free to interpret that whatever you like — according to your competence level (that of a typical Rust developer). 😆 Comment deleted
switching to your selection sort is faster than reloading your array.sort() Comment deleted
I prefer RiiR vs Rewrite in NodeJS Comment deleted
"I prefer to drink piss vs eat shit" choice Comment deleted
but, hear me out... what if the wheel ran arch? Comment deleted
What if the wheel was pixelated ? Comment deleted
I didn't reinvent the wheel, I just made it awfully polygonal and badly colored Comment deleted
I guess I will die. Comment deleted
It's not a trap, it's a killing chamber Comment deleted