I've decided that I want to create my own open world 3D game. I want to do this in my own free time, for my own peace of mind. Is not something that I would want to sell to make money. The project needs to be more than just a game. It needs to showcase the beauty of my country, its landscape, its architecture and lost traditions. The world needs to be big (maybe 100km x 70km) and beautiful.
At first, I was thinking to use an existing game engine, so after a long search I've found four of them that could meet my requirements:
1. Unity. Affordable, easy to use and quite powerful. But, is too general and a lot of tools needs to be written. For example, it doesn't support big worlds because of the single-precision coordinate system. Also, from what I see, right now is geared towards mobile devices, so most of the focus for the development team will be there I think. I'm interested only on PC.
2. UDK. Not so easy to use, but is very powerful. But, I don't like how all of its tools look in terms of interface. Seems too old and ugly to me and I feel no joy working with them. If sometime in the near future the UDK will be upgraded to Unreal Engine 4, than it will definitely be in the top of my list from what I saw on youtube, from the workflow/interface point of view.
3. CryEngine SDK. Well, I don't need to say how powerful it is. So beautiful outdoor scenes created in it... But, I really do not like its authentication requirement to use the editor. What would happen if my account gets banned/restricted. Would I loose all my work? I don't want to take that risk. I've saw too many complaints from users.
4. Unigine Engine. This one is definitely expensive, but I've added it to the list because of its power to handle very big environments. I think is not really a game engine, but just a 3D engine.
They all have their flaws. Some too expensive, some have other plans than mine, some are too general. So I'm thinking, wouldn't be better to just create my game without an existing game engine?
These days a lot of big companies seems to create their own game engine. A lot of marketing seems to happen around them, announcing that a certain game is using this engine, another that one. It becomes the main selling point. Even a lot of gamers seems to praise a certain game engine like it's the king, without even knowing anything about them, other than how its gets marketed or how a certain game look.
The game engines seems so cool that, every now and then, everyone wants to build a game engine just for the sake of it. I certainly have that feeling too, I admit.
Right now, if someone wants to make a game, everyone will advise to just use a certain game engine. Do we really need to depend on these small/big companies to provide us with the tools we need? To wait for them to provide us with a certain feature? To hope that they will go in the direction that we think is right?
For someone that just want to make games, lots of them, and sell them, it would make sense to use an existing game engine. But what if someone just want to build only one game and wants to have as much control of it as possible over time, to be able to improve it for the rest of its life (or at least for many years)?
The way I see it, my game needs to be a virtual museum also, so it needs to last over time, to be improved. So, I'm thinking that maybe is a better idea to just learn to program it myself, from the ground up, using as many existing libraries as possible, like PhysX for physics. The rendering engine I think I would need to write it myself because I didn't found anything that could at least get close to CryEngine quality.
My question is this:
Is it possible for an average guy to learn what it needs to learn in order to create a beautiful game without an existing game engine? A game that could look almost as beautiful as CryEngine/Unigine capabilities? Speaking just in terms of technology, not the art content that contribute to the beauty.
Is it possible with so many resources/knowledge available these days on the internet?
Edited by Chirieac, 20 September 2013 - 06:08 AM.