yopeasants wrote:Unity itself has 300+ employees, and we can assume that a good portion of them are programmers. Assuming that you can code at the speed of the 40+ programmers that work on Unity (estimate), which, by the way, is one of the simpler game engines, you still have to put in the man hours for 20+ programmers if you exclude the UI.
A lot of these programmers are specialized too, so you really have to learn as you go along, which I'm sure is just a LOAD of fun!
I knew a guy who started building his own game engine when he was in 8th grade. He's now a freshman in college and he STILL hasn't finished it. And this guy is one of the smartest guys I know, with programming skills to match.
I've built my own game engine when I'm making my prototype projects. It only takes 1 year to make a simple game engine that you can use with both 2D and 3D games. I've been continuously working on upgrading my game engine since I learned programming directly related to games.
There is also a huge bump rise in regards to normal programming, into graphics programming, and than into UI programming.
Unity spends loads of time and employees because it is a professional tool that is made for others to use. Not only must it be powerful, it must also be user friendly, and also have a ton of features. If you have used Unity (I have), you would see a ton of features that are actually on the forefront of programming. Pioneering features so to speak. For example, each surface in Unity can be given a different type of reflection, texture, (I forgot what the word is, since I hate messing with it). It used to be a pain in the ass for programmers to choose from the list of 30+ things (imagine the coding for all of them!!). Currently, the new Unity beta version include an "International", which can be used for basically everything and it will find the best one for the surface.
These sorts of things do not exist in a personnel game engine. A game engine made within a year can give you quite easily Little Fighter 2. Why? Because this game engine is for you to use only, not for others.
Last but not least, Unity is not a simple game engine. It is one of the pioneering game engines with the best graphics to offer with a simple UI. They have made it simple for users to use; that doesn't mean its a simple game engine. How much work went into making even you think is simple shows how much work was done to clean up the UI and API.