I will sin and make this about me, briefly, but just to say that when I was a kid/teenager with a really slow computer, a) I enjoyed coding much more, b) I think I was a way better programmer. Constraints make you better, you have to be smarter. I miss those times.
Personally, I think the reason you enjoyed it more as a teenager is just down to the fact you were fully in control of what to do and had no external pressure to earn money etc, so if anything you had less constraints - at least from my point of view
Which is why dieting and quitting smoking are famously easy things to do! ;)
There's something to be said for the "scrappyness" of resource limitations inflicted upon you when solving some problem. A sense of Triumph against the Universe itself is a nice pay-off
With the industry’s album release cycle, bands are often under time pressure to cut a new album, so they end up writing in the studio, each person laying down tracks individually, and missing out on all the feedback of earlier iterations.
If I were forced to write music, now, for money or whatever, it would be bad music.
I'd wish to get a project that's low-level, multi-year and high quality of engineering and longevity. Make the best you can – something to be proud of.
Technically it's easy. Mentally it's nearly impossible. This comment posted on Ars yesterday blew my mind:
https://arstechnica.com/ai/2026/07/we-cannot-choose-to-becom...
tl;dr: When given the easy option, people always take it, even when they know the hard route would be better in the long term. But the full story is interesting and not that long, it's worth reading.
As it happens, I do this. I have various projects burning for years and yet to be published because in my hobby time I value good engineering over results.
What's easier is removing the constraints you just added artificially. Constraints you can remove with a flick of a finger are not constraints.
> so why don't you add them back
The reason the proverb says "necessity is the mother of invention" is because "desire" is usually not enough to drive it. It's easy to take the hard road when you're forced onto it, but very hard to choose it when there's an easy alternative.
Why not? Who cares how/why they're there, as long as you follow the constraints, regardless of how easy they are to remove, they're still there.
I frequently use this when stuck creatively in music production. "Ok, now I can only use this filter for any sound shaping", or "Make a song using only instruments outputting mono", or "Maximum 10 cables to make a new sound on the modular synth" or whatever. Really easy for me to skip these artificial constraints at any time, they still help a lot.
The people who face them. The constraints are making the goal harder to reach. The goal is on the other side of the constraints and it takes power of will to refuse to remove them and keep pushing. This forces a different, slower, more difficult to reach solution.
> when stuck creatively in music production
So you're not introducing constraints, you're creatively trying out things to fix your problem. They're not a wall preventing you from reaching your goal, they're the bridge. Your constraint is the temporary lack of creativity, and what you introduce is the means to reach the solution faster.
> Really easy for me to skip these artificial constraints at any time, they still help a lot.
When you remove these you're stuck in a creativity block and failed to achieve your goal. When you remove actual constraints you make the goal easier to reach. It's a matter of perspective and what you want to achieve. You wouldn't want a long road through the mountains as your daily commute but it's probably lovely as a hike.
The only way to make the problems comparable is to set a programming goal of "write the most efficient code to do X" but for real work the goal is almost always "do X".
I feel like we're talking past each other. Adding these sort of requirements in order to "fix the problem", is typically what people are referring to as "adding artificial constraints to foster creativity".
The goal is making a song, anything that restricts you on how you are allowed to do this, is a constraint, as far as I understand the word "constraint" at least.
> When you remove actual constraints you make the goal easier to reach.
Yes, this is why the previous examples are constraints, not "bridges". Without them it's easier, with them it's harder.
> I was a kid/teenager with a really slow computer [...] b) I think I was a way better programmer. Constraints make you better, you have to be smarter.
The goal is "write software" not "write optimized software".
When your goal is to write a software that runs on your machine, having the constraint of a slow machine forces you to write optimized code which is a slower, more difficult solution. When you have an unconstrained fast machine you can write boilerplate unoptimized code, which is quick and easy. If you constrain your fast computer you go from "easy solution" to "difficult solution" for the same goal of "write software". No programmer will ever say "making the computer slower really helped a lot to write code".
Your goal is "make a creative song" but you're stuck. You don't introduce constraints because they'll make it harder to get unstuck, you introduce them to make it easier. You literally said "they still help a lot".
> I frequently use this when stuck creatively in music production. [...] Really easy for me to skip these artificial constraints at any time, they still help a lot.
That's what you're missing. For you the real constraint would be to get creatively unstuck without any tricks. You are introducing things to help you reach your goal to get unstuck. You're expecting programmers to introduce things that prevent them from reaching their goal of creating programs that run.
In reality one huge reason software is slow and unoptimized is because programmers have beefy machines and can afford to take the easy road.
I didn't expect this simple concept will need so many explanations.
You and me both brother :)
> No programmer will ever say "making the computer slower really helped a lot to write code".
I guess I'll be the first, as a programmer I do this all the time, when developing browser stuff I frequently throttle the available bandwidth and introduce jitter in the network connections so I can see and understand how things work with less optimal network connections, loads of us professional programmers do this when aiming for high quality software meant for end-users, in loads of different environments, not just browser development. Making the computer/IO/whatever slower/"less" does help a lot to write software for others.
> You're expecting programmers to introduce things that prevent them from reaching their goal of creating programs that run.
Well, yes and no. I expect professional programmers, my peers, to do this, as this is how you typically build reliable software, but I don't expect everyone to do this, definitively not amateurs just programming for fun.
> Your goal is "make a creative song" but you're stuck. You don't introduce constraints because they'll make it harder to get unstuck, you introduce them to make it easier. You literally said "they still help a lot".
Cheers for the attempt to decide what my goal is but no, the goal never is "make a creative song", the goal is precisely as previously stated: "make a song". Helpful tip for the future, read and understand what people write and don't assume they lie or misunderstand their own intention, and it'll be easier to understand other's point of view.
Regardless, I feel like both of us are digged into our understanding what the whole "add constraints to do better" process means and is, and no harm no foul, what I know helps me and I'm sure what you know helps you, so lets just leave it at that :) Wish you the best of weekends!
For me wearing a parachute is a constrain and carrying it is an act of will. For a skydiver not so much.
Again, my goal is "Ship working software", I don't care about optimizing at all, just baselevel "working" state of things, that's why I test things like reliability. But also again, our perspectives and understanding of terms seems to diverge a bunch, so much that discussing them seems relatively fruitless, at least seemingly to the two of us.
As, if there are no constraints in some specific area, there is no kinda "survival need" to improve there, hence brain is not working as hard/smart/deep as it could.
:)
In general I highly recommend going the embedded/IoT way if you look for challenges and constraints.
(assuming he did all the assets himself and didn't use AI, which might be a bit naive)
I agree. Something similar could have happened 30 years ago, and it did, see Transport Tycoon (or a lot of early games). But from 2000 to 2020?
b) Chris Sawyer had a team of graphic artists etc, IIRC
c) TT is not about a "train sim", but a business sim
Steam (which I'm guessing you're talking about) is nowhere close of being a monopoly. There are loads of alternatives out there, in wide use by people already. World of Warcraft, League of Legends, Minecraft, Roblox and more are all examples of big time successful games that never been available on Steam.
Of those options, the BBS one is probably the lowest cost, but -"shockingly"- that option is still available today... and is probably way easier for people to find your software than it was back in the day.
There are astroturfers out there who pretend that Steam is The Worst Thing Ever, but they distribute your game, dev-selected old (and pre-release) versions of your game, promotional materials for your game, and host forums and a news feed... forever. Valve also pretty clearly chooses to distribute games that are in the intersection of what's legal to distribute in the US and what the busybodies at MasterCard and Visa permit them to distribute.
If we lived in a just world, because of MasterCard's and Visa's enormous size, they'd be declared as something like "payment processors of last resort" and required to process transactions for anything that's legal to sell in the US, and subject to enormous fines if they so much as suggest to any merchant that MC/Visa will stop processing that merchant's payments for any reason other than a clear and obvious history of fraud.
Alas.
There are successful indie games that only entered Steam late in their lives.
Many games I own started their life distributed exclusively through a platform other than steam.
Arguably, you don't even want to approach steam distribution until you've already collected your hype. Steam no longer can surface gems, because it's just far too flooded, so you should seek alternative channels in general.
This hasn't been my experience. I've found that running the "Discovery Queue" a few times once or twice a week brings up an interesting game or two every month. It also brings up a bunch of stuff I'm not interested in, but that's the nature of game development... what you make isn't going to be particularly interesting to most folks.
There's also the "Show me a random game" link, which is fun to hit and see what crap it presents you. [0]
Yes, some games have some issues but it really seems like that is a problem of developers not knowing when to say 'No!' to the giant tool kit they have been provided.
I have more faith in Epic the engine company than the other Epics.
When you consider that 16GB has become the minimum requirement for modern A+ titles (with the Windows OS & background tasks squating on 4-6GB). Creating such a title might be difficult on memory limited machine.
Unreal had made some improvements in this regard recently, with direct from storage assets loading & stuff.
... and paying Epic 5% of all lifetime profit is a blessing too (if he makes money appropriate for "the best train sim ever made")
If unreal cost money up front, would this have been built? No.
Unreal is saying: hey, we contributed to 1/20th of your success, because you could not have done this without us.
Thus, in the event that you're extremely successful, yes, you'll owe unreal a million dollars. But that's only because you made 20mm and keep 19mm for yourself.
That's an incredible bargain.
Unreal is like venture capital or a book advance (or the equivalent in music record deal)
Can you self publish? Sure, of course, have fun. But if you want the support and infrastructure of a company that understands the business of books, you take a deal and it is just like this: if a bunch of authors get book advances, that is generous to the ones who are unsuccessful, and they can only do that _because they capture the upside of those that are successful_.
Without that, you don't get advances for anyone.
So the point I'm making here: unreal provides variance reduction for all game publishers and yes that disproportionately benefits the ones who make under a million. But they're the ones who need the help!
And in exchange, if you're one of the lucky few, you pay a shockingly reasonable 5% in perpetuity.
Sounds like a happy problem to me;)
By the way you don't only have to file a report for Epic whenever you release a game using UE, you also have to report them your yearly sales and calculate what income is "directly attributable to UE" for that game. For an ordinary small person, for whom you imply lifetime 5% off gross worldwide revenue is a "happy problem", this is way more involved (and prone to legal liability) compared to app stores. You will probably have to hire people well before the million mark to make sure numbers are OK and you don't accidentally owe Epic $$$$$.
I know which model I would choose. Probably the one where I raise prices by 30% and don't have to deal with anything else.
You are simply making up nonsense. It is not a lot of work as most likely sales are being driven through a handful of platforms. Reporting is simple and no different than doing your taxes. It is very much a happy problem. Similar to having to pay more taxes. There is more burden but you are making more money.
Your argument is insane because Indonesia average income in USD on the high side is around $300. If you make $1mm USD, having to do some extra paperwork and pay $50k per $1mm of revenue is an awesome problem to have.
I would be okay with getting 75% of everything earned over $1M.
They could sell the engine and sell new versions separately as one time purchase.
> I would be okay with getting 75% of everything
I'd be okay getting 70% from the start. That's not what it's about.
It's a free choice to use the engine, you can use another engine or make your own if 5% is too much for you.
You know it's not 1 mil per year, it's 1 mil over your lifetime
Heck steam takes 30% which is much more egregious but factoring in costs of running steam, payment processing and the free marketing its almost always worth it.
Share a counter argument to how it should be please.
Edit: NM you are a new account. Shadow banned on my end. Enjoy!
We already know what happens in Nebraska.
Unreal is free to the extent it contributes to bringing even more people into the ecosystem, eventually becoming paying customers, Epic doesn't make it available out of their kindness, rather also taking into account there are other competing alternatives.
A nonprofit means actual reports about how money is used, and it's not as if commercial projects are somehow better because they don't fold or get sold or canceled.
And even between commercial ways, charging royalties is one of the worst. It doesn't cost Epic extra if my game starts making more money. Just make the engine a one-time purchase (per version, so you get to keep sales going) and everyone will be much happier. Sell additional services which actually do cost you money to keep up (multiplayer hosting).
The engine itself is far from cutting edge and missing several features that are now quite common elsewhere, like texture streaming, bindless textures, etc. The speed of development isn't blazing fast either (see the implementation of the traits system). Devs are excellent at what they do but one could wonder how much faster and further it could go with more fundings.
> Sell additional services which actually do cost you money to keep up
After a game has been released a solo dev often has very little work to do, since they've already invested all of the development time ahead of release. So, by this logic they shouldn't really be allowed to charge anything for the game, except to cover potential work on updates.
Perhaps game projects don't need to operate like nonprofits, but then why do game engine projects?
"Order today! PO box 286 DOS... Except in Nebraska!"
xkcd has the answer.