this post was submitted on 12 Sep 2023
1182 points (99.0% liked)
Game Development
2814 readers
19 users here now
Welcome to the game development community! This is a place to talk about and post anything related to the field of game development.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
People wrote their own game engines since the earliest of games, they just want the easy route today and a marketplace to monetize on. These are poisoned gifts, and always have been.
And if everyone invented their own wheel every time they wanted to build a new cart all we'd ever have is various different wheels and very few carts.
I mean that's honestly true. There are so many "infant" small selfmade game engines that are just complete shit lol
Great analogy, but this is a wheel you're being charged for, after you've installed it on your product. Maybe you would have been better suited with your own wheel.
You're not picking an existing good wheel solution that you can use forever, you basically took a promise for a free wheel that you're now being charged for, and you're sad because the free wheel isn't free anymore. Well, maybe you should have picked an actually free wheel to begin with.
Unity is not the only solution to your cart problem. You're just using it, because it is convenient.
Are you being obtuse on purpose?
This isn't a case of "I use unity because it is free," because outside of recreational game developer use-cases, it isn't free. There are very real costs associated with monetization that any developer, team, and studio should be aware of.
Developers who have been using unity with knowledge of their pricing mechanisms are being blindsided with new pricing, that you can't opt-out of, with a little less than 3 months notice. Going back to the wheel analogy, these teams have designed entire vehicles around these wheels, with application-specific knowledge and workarounds to be told that "Hey, regarding that product which underpins your entire project, one with which we've already entered into a sales agreement... we decided we want to change the agreement and track its usage and charge you more money. You have 11 weeks to get over it. Your continued use of our product implies consent to the new terms of this agreement."
You can't just move to a different platform without significant amounts of rework.
I get that, and it sucks. But too many offerings on the market are nowadays accepted as normal operating procedure, when they seem like such obvious traps to me. There is no financially-driven company out there that you can rely on with your project. Go with an open-source project or write what you need yourself. I fully understand the challenge of writing a product from scratch and bringing it to market. Your dependencies can break your neck one way or the other.
I know and feel that. I am no longer in entertainment, but I also see these exact same patterns in my current line of work (IT infrastructure). People use "free" tools that they take for granted, and then they're surprised by rug-pulls. This has been happening for so long in so many areas that it's almost tiring.
Unity isn't free, what are you on about, you pay money for it.
There really isn't much point having this conversation if you're going to operate on flights of fantasy.
It's not "the easy route". Making a game engine is a tremendous investment these days. If you are making anything other than a game that looks like early 2000s or earlier, you need a pretty capable engine that takes years to develop. That's on top of the time it costs to make a game, which is also typically years. Not to mention that your proprietary engine will have subpar tooling and make your game development slower.
For anyone but industry giants it's not feasible to make a modern engine. Unless your game is not aiming to play and feel like a modern game, you have to run with an off-the-shelf engine.
Plus when you break it down you'll still need 3rd party software in order to do anything more than a console only application (OpenGL, directX, Havok, Bink etc)
I agree with everything you're saying, but it's still the easy route and it's still a poisoned gift, as can be seen by this story. People rather pick the "free" and capable tool than investing time in an open-source solution that needs more work, or developing from scratch. Maybe they just want to reach more platforms to make more money, or use the super advanced tools, but that doesn't change that you're picking the path of least resistance, and you might pay for it in the end.
Chances are, if you're expecting to compete with industry giants on the same level, you're already investing massively into the production of assets and you're project in general. You're just skipping the investment in the engine and tooling. If you just want to make a small game, then maybe you don't even need Unity and would be better off with something more tailored to your project.
I just can't feel sorry for people who walked into this trap. I feel like this pattern has been occurring way too frequently to ignore the danger of "free" tools that really aren't.
You're not listening. It's not that it's hard (although it definitely is), it's literally just infeasible financially and time wise. You cannot spend millions developing an engine unless you are a large AAA studio. You can't pull up your bootstraps your way into making a modern game engine within the budget you have to make a game.
As for Godot:
I think you're comparing apples to orchards here.
I'll grant you, Unity has been a commercial standard that many large and good games have been made in, Godot hasn't. Godot has been used largely by solo creators or small teams which has limited the scope and detail of the artwork in Godot games thus far.
This begs the question: What's the best looking solo-developed Unity game?
Does that game include a lot of purchased/sourced assets? Should that count as "solo" developed then? Given the contents of Steam's catalog, by sheer volume of titles it seems that Unity is THE engine for creating low effort shit-tier asset flip "games" that are little more than a tutorial project file with a retail price. "Games made in Unity" is a LOT of rough to look for diamonds in.
Once you've found the best looking solo-developed Unity game, ask yourself this: Could this game be remade in Godot? Is Godot technically capable of running a game like this?
I'm also unconvinced that Godot is inherently a poor choice for larger development teams. It has built-in support for versioning systems such as Git, and its modular node-in-scene system mean that different team members could work on different components independently, then bring their work together as a whole. There's also that whole aspect where the Godot editor is itself a Godot "game" that runs in the Godot engine, which means it's possible for developers to create their own extensions to the editor using the same skills needed to make games.
Beyond that, much of the work on graphics--3D art, level design, character/creature design, rigging, animation--a lot of that is going to be done in an art package like Blender rather than Godot. And yes I would suggest Blender for the same reason I'd suggest Godot, because Adobe and Autodesk are also pulling the same kinds of enshitification that Unity is.
The real reason that Unity is the industry standard? Because it's what they teach in school. "Learn Unity because that's what they use in the industry."
Sorry but if large teams could pick up Godot and make next-gen games with it just like that, they would. You can't. You can find absolutely stunning looking projects from solo creators in Unreal Engine. Sure you have assets from the asset store. That's the point - you don't have to reinvent the wheel.
I'm just not going to accept a baseless assertion that "you can't." Show me a technical reason why you couldn't build, say, Subnautica, in Godot.
Take it from godot themselves, they have a list of missing features for AA/AAA developers: https://godotengine.org/article/whats-missing-in-godot-for-aaa/
I said this in other comments earlier, you don't need to rewrite Unity to build your game. Build what you need, or pick up an open source product and add what you need. I don't understand why people bring up financial feasibility if you're being charged now for a wrong choice in the past. This was to be expected. It's always the same pattern. If you can't figure out how create your game without some false promise product, then don't build your game. It's really as easy as that.
You have no idea what you're talking about my guy. First off, Godot has been in development since 2007. That's 16 years ago. Secondly, Godot started in Codenix, a consulting company that made money by licensing then-closed-source Godot. They only made it open source in 2014 - 7 years into development. This is a company that made its money through selling a game engine, not through making games. Thirdly, Godot receives funding from massive companies (e.g. they received $250k in funding from Epic Games in 2020). Fourthly, Godot is not up to par with Unreal Engine or Unity. It's NOT a viable game engine for many games being developed.
Edit: also, I'm not a milennial. I'm a zoomer. No, I'm not too young to have an opinion on this, I've been making games for 15 years.
Show us yours.
You're one of the developers of the godot engine?
Can you link your commits please?
I'll take that as a no.
So, how much time have you spent in game engine development?
What I'm hearing is that you actually have zero experience in or knowledge of game engine development, despite telling people to make their own.
Is that correct?
To quote somebody in this thread:
"So get cracking or don't complain."
You're complaining endlessly, so show us what you made.
You're not wrong that creating FOSS technologies is a worthwhile pursuit. I think what you're missing is how massive a game engine is. The average game development company simply cannot be creating its own engine or forking Godot to create a game in.
It requires a large company dedicated to engine development and tooling, and at least a decade of development, to create a worthwhile engine. If you want to make a game, fronting that development with a decade of engine development is not financially sensible. This issue is not one that game development companies can fix.
That said, if Godot meets your game and team's needs (or reasonably close to where you can reasonably develop the engine further to meet them), go for it. But it's not realistic for most developers.
You sound like you dont know anything about programming (at least engine programming). Most Engines have to run in something like assembly, else they would be too slow. (They use others too but Assembly is in like all, i am a junior dev so i could be wrong)
Assembly is already a large hurdle.
I mean it is "simple" as the arch linux type of "simple". (Nothing more than you need to run it and nothing more)
So the option is to learn assembly or hire someone (or multiple) who can, good luck by finding one that is capable of developing an engine that does not suck and does not cost a fortune.
Then you need to know what the engine should do.
If you "only" need 2D or even only some system to interact with the console you will be fine, maybe.
3D is a bit more complicated, the reason why there are so much 2D/2,5D games out supports this claim.
Then particle support if you want it...
Every feature you want has to be supported!
And every feature costs and maybe needs maintenance when bugs occur. Supporting an operating system is a feature too :)
So the engine has to be updated when a mayor OS update comes out
There are more points for why not to make an own engine and use one of the marked that fits ones needs even if it is closed source.
You where so fond of Godot so trying to help them might be a good starting point for you to life your ideals. I sincerely dont want to mock you with the sentence. If you can successfully help a larger open source project everyone is happy. If you can learn something new i am sure it can benefit you. I was only a bit mad because it felt like you are comparing engines with "weekend projects" what they are definitely not in the slightest.
Assembly usage is pretty minor in these engines. Tends to be for just a few very tight loops. It has to be redone for every platform, too. Assembly for x86-64 doesn't work on ARM. Hell, some things on 32-bit x86 won't even work on x86-64. You would never want to do more than a function of inline ASM here or there. It'd be a nightmare if you did.
That said, it's barely even touching on the complexity of modern engines. Unity and Unreal aren't just engines, they're a whole development ecosystem.
I'd like to jump out of the system for a moment and opine a few things:
And there's a very good reason for that: you are vastly understating how difficult it is to make something on the level of Unity or Unreal, and people here can see it. It's not merely difficult, but completely out of reach for anyone without hundreds of millions of existing revenue. Open source is not going to get you there anytime soon. By the time it could even get to the current level of the big two engines, those two would have already moved on to something even better.
It's not a choice between a corporate licensed engine or an open source one or an in-house one. It's a choice between a corporate engine and having a finished product in any kind of reasonable time frame, or having a finished product that's anything close to modern looking.
Now, I happen to agree with the statement "I want shorter games with worse graphics made by people who are paid more to work less and I'm not kidding". So if that's what you're getting at, then I agree. But know that this is what you're asking for.
That's a naive way of pretending to be above it all. People downvote for a reason, and it can be useful to think about those reasons. Meanwhile, while complaining that "You’re also not listening to what I’m telling you . . . " while clearly not even bothering to address most of my points.
Yeah, and people nowadays don't even rewrite basic libraries! Everyone should have their version of glibc or they are just lazy!!!1!!1!
C implementations are available as open-source. The glibc especially is a great example of this. This comparison is not good. I'm all for using open source
Yeah let me just make my own fucking game engine right quick because that’s definitely easier than using another one that a team made and continues to make, support, and add onto because
“It’s easier”
Come on dude you’re just talking out of your ass. You should read about Cynicism and why nobody fucking likes that shit
You don't have to reproduce Unity to create your game. You just need to write what you need. And you could also chose an actual free software project instead of something where they pull the rug right out from under you. If you look at the choice today, with the rug already having been pulled, would you not consider the choice an obvious mistake in hindsight? Every other project these days loses money by trying to build a following which they will then monetize on. I'm sorry for people who walked right into this trap, but it could have been avoided by making better choices in the past. Sorry if you disagree, but I've been around long enough to recognize these recurring patterns with "free" software.
This isn’t how you respond to people that have a problem. Total dude bro answer
Be better man. I’m not going to continue this conversation
Valid. I take that into consideration
Lazy gets, using someone else's programming language. They should have developed their own language and written the compiler before starting to write a games engine for the game they wanted to make.
To be honest even a home written language and compiler would be based on someone else's hardware.
Come to think of it, imagine if American Megatrends would start with a subscription model.
10 USD tier: 10 free boots a month, each subsequent boot shows an ad. You can skip the ad for 25 crystals.
Crystals are bought in packs of 10 or 35.