That’s completely besides the point. I agree that working on an engine can be very fulfilling and round you out as a developer. But it’s not easy and I wouldn’t recommend that somebody who just wants to make a game go down that path. I’m pretty sure some of my favorite games like Hollow Knight would have never been made if they decided to just build the engine as well.
What is it specifically about Hollow Knight that makes you think it never would've been made without using someone else's engine? I didn't get too far into it myself but in terms of gameplay systems it seemed like a very standard 2D metroidvania platformer, except with a fantastic visual style.
Compare and contrast Salt & Sanctuary, which was uses FNA (which is a library, not an engine).
The fact that it’s a game that was developed by people that were self-proclaimed “non-coders”[0] using a plug n’ play game engine Stencyl (a no code engine) and then later switching to Unity. It seems to me the plug n’ play nature enabled them to gain traction with a prototype that led to the full fledged game.
This one quote on page 2 from the developers really hammers home this point:
> Those limitations aside, working in Stencyl has been fantastic. Ideas come together really easily and the tools are all intuitive. We definitely couldn't have come so far in such a short amount of time without it.
Because the people writing the game did not have infinite time and budget, and spent their resources on making the game rather than the engine. That allowed them to a) finish the game at all, b) make a game of bigger scope and higher quality. Maybe (just maybe!) they could have finished a game when rolling their own. But it would not have been the Hollow Knight we know.
It's great that you're enthusiastic about writing your own engine. I'm kind of in the same boat: I'm opinionated on software engineering and architecture, and my opinions don't line up with any of the existing engines. So I roll my own. But it's not actually an efficient use of my time, and as a result I don't write as many games as I'd prefer to, and the projects often end up down-scoped from the original vision just to finish them. It's a suboptimal way to work, but it's the one I have to use since any time I try using an engine I give up in disgust and get nothing done.
What's not so great is that you're ignoring the very obvious upsides of using an engine, pretending it's only downsides, and pushing your personal preference on other people as the obviously correct way to do things. Your bafflement on why anyone would use an engine is showing a distinct lack of empathy. Not everyone thinks like you, or has your priorities. You want to write a toolset and demonstrate your mastery of that toolset; some others just want to make a game. And you have no business telling them that their goal is invalid and they should instead copy your priorities.
It's great that Hollow Knight got made, in short enough order at the time (2017) and it's great for them that they were able to port it to so many platforms with relative ease.
But the entire development team probably got a few gray hairs from the stress of last year's Unity debacle.
It is now no longer 2016–17. We have now seen firsthand the quite possible perils of building your game on someone else's engine.
It's like how Twitter used to provide very open API access for people to use to build all sorts of third-party apps. Overnight there was a huge explosion of these apps, and it was great for Twitter because it meant more people had more ways to engage with the platform. But when, after Twitter bought all the third-party apps they cared about and kept increasingly clamping down on API access more and more before finally pulling the plug on third-party app support entirely, what did that mean for everyone who built their entire business around using someone else's platform? They got fucked, hard.
When you see this pattern recur time and time again, you start to think, maybe it's not such a great idea to build a business atop someone else's platform. Maybe you're better off in the long run if you have complete ownership over your code.
Imagine if Unity pulled the trigger on their bullshit last year and went through with it. What would the Hollow Knight developers have to do? Scramble to reimplement their game in a new, Unity-free codebase, on every platform it's been released on, just to prevent paying Unity more than they already do? It doesn't sound like an enviable position to be in.
You have to look at the bigger picture and consider nth-order effects if you're trying to make a business out of game development. If you're doing it as a hobby, then it's fine, who cares—if you wake up one day to find that the platform you've been using for your hobby projects now wants to charge you to use it or whatever, then it's a bummer, but not a big deal, because you haven't invested your business into the platform, you're just partaking in a hobby.
Out-of-hand accusations of “lacking empathy” and the like when it comes to subject matters like this are inane, vapid, and really quite untoward. We're talking about concrete things here like the technology used to make video games and its relation to treating game development as a business—not feelings, or inclusivity, or whatever it is you're responding to with this verbiage.
I think it's a worthwhile thing to consider instead of dismmiss.
>But it’s not easy and I wouldn’t recommend that somebody who just wants to make a game go down that path.
Nothing is easy in game development. You can focus on whatever sector you choose, but don't expect an easy ride. That's why my honest first step to "how do I become a game programmer" is to fire up a terminal and write a Hello World in C or C#. I always approached concepts bottom-up, personally.
>I’m pretty sure some of my favorite games like Hollow Knight would have never been made if they decided to just build the engine as well.
Well, it sure is helping with Silksong, that's for sure.
But as a fun fact: Hungry Knight was made in Flash. I'm sure the devs would have found a way if they were determined enough if they didn't choose Unity. It could have been done in Game Maker or Construct or even good ol' Monogame (I believe Celeste used that).
I didn’t dismiss the point. My next sentence that you left out of that quote addresses it ;)
I also learn concepts bottom up, but thank God everyone isn’t like me. I’m just glad prebuilt tools like the game engines we have today exist so we can have artists creating awesome games.
Heck, even half life likely wouldn’t exist if Carmack hadn’t written the Quake engine and shared it with the Valve developers![0] Think of all the amazing games that have since been released by Valve that might never have been unless they had the kickstart that they got.