What I like is that this engine actually have a demo which is more than few cubes and sprite: A full tiny game. Game engine should have more tiny games as it's a good way for newcomers to have something they can start to hack (change gravity/texture/lighting effects) and understand what a game engine is and how it work.
The code is quite clean and it also provide scene editor with dedicated UI widgets.
The game and the editor are massively helps to find right approaches in development. All my previous attempts to write engines (in other languages) were bad because all they had is just some very simple demos with some meshes and lights. You never know which features engine should have until you need them. Many engines trying to have best possible graphics and does not pay attention to other very important things, like sound, animation, physics, resource management, save/load, editor, etc.
HMH is kind of special though in that its author, Casey Muratori, has many years of experience in gamedev. I think the saying of the parent commenter to yours is mostly applying to people who are trying to make game engines for the first time with little or no past experience in actually shipping complete games.
Not really... All great game engines were spawned out of AAA titles. You should never try to build an engine without a set of games that stretch its limits in all directions, otherwise something will always go wrong. There isn't a single person alive who can manage the complexity of a game engine. As soon as you start splitting things up, you run into problems of distributed development. Getting this right without eating your own dog food is unlikely, at best, no matter how experienced your team is...
What makes the difference between an experienced engine developer, like CryTek and Unreal, and a hobbyist or a company who does it for the first time, is mostly that while both of them will definitely build a game with the engine while creating the engine, the experienced team will actually produce a re-usable, well designed engine, while the inexperienced team will produce a hunk of junk that doesn't fit together and doesn't extend past the game they were trying to develop.
Seems like it. Still the tons of games that are and have been MADE with Unity over time have led it to become what it is now.
"Unity was founded in Copenhagen by Nicholas Francis, Joachim Ante, and David Helgason. Its story began on an OpenGL forum in May 2002, where Francis posted a call for collaborators on an open source shader-compiler (graphics tool) for the niche population of Mac-based game developers like himself. It was Ante, then a high school student in Berlin, who responded.
Ante complemented Francis’ focus on graphics and gameplay with an intuitive sense for back-end architecture. Because the game he was working on with another team wasn’t going anywhere, they collaborated on the shader part-time while each pursued their own game engine projects, but decided to combine forces upon meeting in-person. In a sprint to merge the codebases of their engines, they camped out in Helgason’s apartment for several days while he was out of town. The plan was to start a game studio grounded in robust tech infrastructure that could be licensed as well."
Sort of - the original developers made a game which failed commercially and they decided to sell their tools instead. But the engine has changed a lot since those days, and Unity's lack of real dog fooding is a common complaint from people who use it professionally. Unity don't see the problems that only come up when you try to ship a real game in a team, on console or mobile in particular.
The code is quite clean and it also provide scene editor with dedicated UI widgets.
https://github.com/mrDIMAS/rusty-editor/
https://github.com/mrDIMAS/rg3d-ui
Truly impressive.