I think this is incredible, and I am so happy for him, he deserves all the praise he gets (and maybe more).
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.
Well, nothing is easier then adding constraints. Removing them is what's difficult - so why don't you add them back if it makes you a better programmer and you enjoy doing it more?
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
> Well, nothing is easier then adding constraints.
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
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.
> Constraints you can remove with a flick of a finger are not constraints.
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".
> 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 creative solution.
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 think you're missing the context of what started this thread:
> 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.
> 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!
You do that because your goal s “optimized code” not just “code”. Your constraints are a tool that helps you achieve your goal. For most others the constraints are limitations from achieving their goal.
For me wearing a parachute is a constrain and carrying it is an act of will. For a skydiver not so much.
> You do that because your goal s “optimized code” not just “code”.
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.
Because the software industry doesn't pay anymore for constraints or doing things "the hard way". Everything is high-level language and by tomorrow. The day after it doesn't exist anymore anyway.
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.
Which is often the case in music too actually. So many famous artists and bands created their best work early in their careers. You would think touring and several albums make them perfect the craft of making songs, but I think involving money and external pressure actually kill the creative spark if you’re not mindful about it.
Those early albums often consist of material that was basically battle-hardened by the time it reached the studio. Bands early in their career often spend lots of time all in the same room, writing songs together then do lots of playing for small crowds, where they get a very up close feel for the audience response. Material that doesn’t go over well with band mates and audiences gets dropped.
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.
I wrote about 10 albums and my music generally got better over time, but I just stopped writing because I had children; also less time for creativity with a family.
If I were forced to write music, now, for money or whatever, it would be bad music.
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.
Adding contraints makes it take longer to deliver a result. I probably cannot install today's engines SDKs and related tooling for example. I'd have to write my own. Doable, and would make me a better programmer, but you won't see results for a long time.
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.
Simple and easy are often conflated a bit, but measured by outcomes, are quite different. Comments offerring humorous parallels of common simple and easy conflations will follow.
That's true, I just wanted to maybe add a new perspective to 101008 view that if he enjoyed working with technical constraints, he can still target eg embedded systems with massive resource constraints - and also to force an acknowledgement that the reason for his likely nostalgia to this kind of coding is likely more related to the mental freedom he enjoyed while working back then ... Because that too can be done, albeit with the caveat of time constraints because life doesn't go away no matter how much someone may want it to.
I feel exactly the same way. Though one extra factor is that I feel like my time was so pure back then. Now, with multiple degrees, I keep thinking about weird concepts like 'opportunity cost'. There was no opportunity cost when I was a kid. There was just time. Bucketloads of it!
I enjoy going back to basics every once in a while; do Arduino / embedded programming on a shitty netbook (it came with Windows but it has only 32GB of storage so it couldn't even update), build games / stuff in Pico-8, start a new Go project with just the main toolkit, etc.
Yes, true creativity usually or mostly comes from real constraints, in my experience.
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.
Re: making things about me (but also kind of related), I am working on a project that requires sending encrypted telemetry data from a Crazyflie drone (so, STM32) and it's such a fun experience. Each telemetry payload is just 26B so I had to get creative, write down packet diagrams and then make it work in C. An AI agent helps a bit with some stuff but you're mostly on your own.
In general I highly recommend going the embedded/IoT way if you look for challenges and constraints.
If you think about how much time a single developer has to invest to create all the assets for such a massive game, 11 years doesn't sound like a lot of time...
(assuming he did all the assets himself and didn't use AI, which might be a bit naive)
The difference between today and 30 years ago is that if you are an individual developer, you are at the complete mercy of a single company (Valve), who can force you to do essentially anything they want for the privilege of publishing on their platform, with no meaningful alternative, and zero recourse if they say “no”.
Even if Valve holds a significant market share of the PC Gaming market, this is a harsh conclusion. There are other significantly more expensive and restrictive options, such as the Windows Store for Windows, or the Play Store for Android, or the App Store for iOS and MacOS.
PC has much free-er and more accessible options for indie developers, like itch.io. It's probably the least monopolistic gaming market out there.
The struggle of course is advertising and reach, not sure who the gate keepers for that were with TTD, maybe magazines?
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.
I would even go further, and say that this logic applies not just for massive games from massive publishers, but platforms like GoG works well as an alternative for indies.
Plus, consider the software distribution situation in the pre-Internet world. There was getting someone to arrange for very-limited-time distribution in physical stores (and paying out the ass for the privilege), or paying to advertise your mail-order distribution, or encouraging BBS operators to distribute your shareware that includes a "Mail $AMOUNT to this address and we'll mail you a full copy." message inside.
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.
Steam has a 75% share of the PC gaming market. The mere existence of alternatives doesn't negate a monopoly. Whether it's a monopoly or not depends on whether Valve uses its market power in a pathological way.
Both Itch.io and GOG are alternative platforms, as is just doing your own thing
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.
> Steam no longer can surface gems, because it's just far too flooded...
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]
It's 100% possible to publish a game outside of Steam. There used to be a publicity advantage to being on Steam but is that still there now that Steam is 99% slop?
There are successful indie games that only entered Steam late in their lives.
I have said it for a few years now. If Epic ever decided to go public on the stock market, I would throw a significant amount of my savings at them. Their technology is astounding.
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'm not sure myself, as there's Epic the ligitous games company that wants more money from Fortnite, Epic the attempted digital games platform whose main userbase just claims a free game once every two weeks, and Epic the engine company.
I have more faith in Epic the engine company than the other Epics.
In development, you don't have the privilege of using optimised culling and LODs. For rapid development, very little code is compiled & there are extra IDE tools running.
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.
I can tell you right now, from an M5 with 16 GB of RAM, I'd be hard pressed to squeeze a bit of ram for a game of sodoku if I'm already running an Android emulator plus a few IDEs and 10 tabs in Chrome... Being able to produce something of note, especially in the gaming space, with 16 GB of ram IS a feat in and of itself
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.
Surely better than this engineer having to pay $100k upfront which would likely mean he never made the game at all. 5% over a million seems pretty reasonable to me. I guess it'd be an issue if profit margins were thin, but that wouldn't be the case here.
But it is free up to $1mm in revenue. Anyone can go and download the engine and use it as much as they want free. It is really smart and honestly $1mm is a generous entry point to capture a royalty for everyone involved.
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.
I don't think it's a good analogy. You don't have to "self publish" (go without a game engine). You can choose a game engine, just a different one that doesn't require you to report your income etc.
Ok, then do that? The game you make will be limited by that choice. If those limitations are acceptable, then great!
My contention is that people can build more ambitious games that are more likely to make their creators rich if they use Unreal, and if the creators also think that they should use Unreal and if they don't they shouldn't.
I was replying to someone who said how fantastic it is that the guy was able to make it for free. I'm not saying it's all completely bad, again Adobe subscription model and past piracy tolerance allowed many people who couldn't afford their stuff to use it while paying less or nothing, just adding nuance about "free"
Of course! And I think it's fair to require people to be honest.
I just fundamentally disagree with this line of thinking:
> even a subscription is better than royalties
Royalties are a great business model that allows more creators to create. You can dislike it, but I genuinely don't know that this game would exist with a different business model, and I want it to be easy to make art (or other things!)
And while there were a bunch of interesting side effects of piracy (people who pirate more music were bigger fans of music and spent more later - correlation/causation questions obvs), I would strongly prefer that the easy thing to do (ie cheapest/lowest friction to get started) be legal
> I genuinely don't know that this game would exist with a different business model, and I want it to be easy to make art
I think the guy did it on enthusiasm and if he used say Godot he could probably have a pretty good result too, if less impressive visually. But you have good points, sure.
I know you’re trolling but come on. The entry price for what you are suggesting would never be obtainable for folks like this kid. You can absolutely negotiate pricing if you are a big enough studio but for hobbyist they let you use it for a royalty. It’s great because it opens it up for everyone. If they charged a fixed fee it would have to be at a very high price.
Sure, and then he can afford it, because he's making over $1M/year revenue on this sim, and taking a very reasonable 5% off the top of that. So it blunts the profits a bit at that point, but it hardly seems like such a terrible thing at that point.
By that logic we should be OK with Adobe's subscription model. It makes it affordable to people who can't otherwise use it. Ultimately it means we can't own it (and just like we can't own UE, we owe Epic income reports for life).
I'm not saying it's a terrible model and it's great that games are made with it but let's be honest it's not all rainbows.
I don't know anything about Adobe's model - I have (pretty happily) never bought anything from that company. But the two are not very similar, and I don't buy the argument that you're trying to make - I think you're trying to bring in dislike of Adobe's model as an argument against Epic's, despite the two being pretty fundamentally different.
"it's not all rainbows" - I would also not let perfect be the enemy of the good here.
You do, becaude I explained... It's subscription based. It's fundamentally the same because in both cases you don't own it. Epic's is just with the added element of freebie at first
weird how HN is up with pitchforks against that but OK with Epic's.
To be able to use this tech in the first place? I have no glue about business problems but this sounds far better then the 30% rip off by apple and Google app stores....
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.
At the point where you have 1 million in revenue you for sure have an accountant even just to do your yearly business taxes. So reporting to Epic just becomes an extra hour of work to make the report.
There is this high correlation with low quality comments and smiley faces, that and when people like to insult others and put a little winky face at the end.
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.
You're calling my argument insane, you're saying my comment is low quality, and imply I'm the one insulting. What is my argument then, in your opinion?
If that’s all you have to respond then you sir are the one with no argument. I have listed my points multiple times. All you keep saying is “they could offer it at a fixed price”. Well that price would be well above any hobbyist. It is kind of an insane argument. They have had fixed pricing before without royalty and usually that price is north of $1mm. Free + 5% is pretty amazing. There is enough competition in this space that you could always go elsewhere.
Classic now the “what are you upset about”. Sorry not upset here just love to push back on ridiculous people. Businesses are free to operate however they choose. There are other options in the market outside of unreal ( though they definitely have some of the best tech). 5% is incredibly cheap for small shops. Larger studios will negotiate better rates or potentially a fixed fee. You have still yet to support your argument.
If you get a million dollars in revenue as a solo dev, it's pretty much just winning the lottery. You've already spent all the working hours to make the game, so it's pretty much all profit at that point. What costs do you even have?
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 typically only win the lottery once as well... It's 1 mil at the release date of the game and the following maybe 3-6 months. Game sales usually happen at the release date and then there's a pretty much insignificant "long tail" of sales.
Anyway, while 1 million isn't really enough to retire instantly, for sure it lets you retire 10-20 years earlier if you're just a little bit smart with money.
Should unreal give away their work for free? What is your argument. They don’t take a single royalty until $1mm and 5% is not a wild number considering it’s making use of the engine.
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.
There's many ways that are better than royalties. Just sell the engine as a one time purchasec have a non-profit foundation where sponsors fund development, etc.
If Adobe sold their suite as one time purchase many creatives who can just afford a monthly subscription couldn't use it. Does it make it a great business model.
What are you trying to say? You can't even get the name of the company right. "unreal" won't give their work away for free. UE is a product, Epic is the company that develops UE.
Sorry I still could not understand your point about Adobe. Instead of getting defensive and attempting to deflect “what’s unreal?” in the context of unreal engine you should try to defend your position.
Edit: NM you are a new account. Shadow banned on my end. Enjoy!
I mean, if he makes a boatload of money then it's fine if a fraction of it goes to the engine. When his immediate needs are met, he can choose to either stay with unreal or move to an alternative later on without cost pressures.
Yep, and then we always get those regular posts "project XYZ is no longer", yeah people not paying.
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.
It's important to keep development going but commercial projects is not the only way. Godot Foundation exists and there are plenty of others in open-source space.
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).
I love Godot but it's not a particularly brilliant example of what you are trying to say. Many games made with Godot generate more profit than the entire budget of the engine itself.
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.
Nothing against Godot, it's a great project, but looking at the wikipedia list of notable games using the engine, there's a single one I have heard of. Meanwhile about 28% of the market share of all video games is using Unreal. So I don't really see the need to make "everyone much happier" honestly.
> 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?
There are notable games missing from that list. Unrailed 2, for example, which is, in my opinion, one of the best games ever created. I am not even a avid gamer and I recognize several games from that list.
Well then exactly what I was saying. This is a business & it's a commercial product, not a freebie. This is why I see many people look at UE but go with Godot. It's nice when you don't have to notify a megacorp about every game you release & then follow up with yearly revenue reports.
Being able to use the Unreal Engine for free to develop this is awesome. This couldn't have happened 10 years ago.