My question today is asking about which game engine I need to use for a game concept I've had. Below is the background, basic concept and a breakdown of what I need/don't need for this project to help you understand my needs. Please help me figure out the best path to choose for this project given my circumstances:
I have been playing games since an early age. The first game I modified was either Doom or Dark Forces, I cannot remember exactly which. Regardless, I've been tinkering with programming and worldbuilding for my entire life. I have a massive amount of experience with the Source engine and the Hammer editor. Before that I did some light programming in C++ for some personal tinkering mods that never went anywhere. Regardless, I went to school for architecture, finished, I have a job now and would like to again pick up the idea of game design/programming as a hobby.
I've had an idea for a game since the beginning of college and I've mulled it over constantly. Now that I'm to the point of being able to devote a portion of my time to developing that concept, I've come to the conclusion that I need a game engine from which to launch my concept.
The concept itself is a Non-Linear, First-Person-Shooter/Survival game. The most prohibitive part of the concept to reality is the need for very large game worlds, likely smaller maps with seamless transitions from one to another, much like that of games like the newer Elder Scrolls games or the Grand Theft Auto series. Other than that, I feel most any engine would cover the rest of needs of the concept.
Now to my abilities… I am very skilled in world design and creating textures and sounds. I lack in existing knowledge of programming; however, have many resources available to me by which I can adapt existing code to what I need. I also lack in the knowledge of model animation and creation; although, this too can be made up for with more training on my part. As I stated in the beginning, this project is a hobby, not my job; so I'm doing this to learn for myself, non-commercial.
Using the Game Engine Database as a format of parameters, I've broken down what elements I know I need and which of those I do not below:
Not looking for top of the line, but not basic style. Any API will do, d3d, opengl, etc…
Object Oriented Design
I would like to have cooperative multiplayer down the line, but not needed immediately
Sound & Video:
Physics is to include the ability of the player to manipulate objects in order to interact with the environment and for the AI to interact with the objects that the player has placed. Ragdolls would be nice but aren't necessary. Vehicles would be nice but also are not necessary. Also, weapons bullet trajectory is important due to the nature of the fps. I'm looking for a slightly less arcade-like bullet physics system.
The AI needs to be automatically path finding with the potential aid of nodes and minor decision making abilities. This needs further development.
Shadow mapping & projected planar, volumetric not needed.
Advanced texturing desired to allow for bump/mip mapping, alpha patterns and procedural textures.
I'm looking for a large/seamless world with buildings. The idea is a non-linear game requiring a great deal of unguided exploration of a large area. My experience thus far has been largely with the quake 2 and Source engines which have a rather limited level size. So I'm hoping to find guidance in the area of seamless/streaming level transitions in order to keep the level of detail high.
I'm looking for effects to the extent of Environment Mapping, Particle System, Sky, Water, Fire, Explosion, Decals, Fog, Weather effects and a Day/Night cycle.
Please help me choose the correct game engine for this concept. Feel free to ask questions and constructive criticism is greatly appreciated.
I think you've had enough experience to choose your own engine.
Have a look at the Esenthel engine.
i dont use engines, so i cant help you... all i can say is why dont you learn how to make a game from scratch, its a rewarding practice and gives you the ultimate freedom of not being limited by anything.
look at that, does it look like any engine you know? of course not, i coded it from scratch, and the hills go on forever, and i could add more details to the procedurally generated world.
(like cliffs, roads etc)
oh yeh, those shadows arent shadow mapped or volumetric, they are RAY TRACED (raymarching), and its using d3d11 tesselation to make the detailed grass, something hardly any engine supports yet.
One engine I do respect tho, is the blender game engine... thats what im recommending to you, IT WORKS and you get the added advantage of working inside the modeller/animator while you make the game. they all work for that matter, its not the engine its how you use it.
And does it look like a game? No.
Sorry, just had to say that.
Sure, coding it all from scratch will give you loads of experience, but it will take you a lot longer to finish. Besides, some people don't care too much about limitations.
Agreed, some people just want to get the game done and don't care about the details.
I like rapid development, I don't believe in re-inventing the wheel, however I never end up using a game engine.
I have NEVER found a game engine that does all the things I want, or even works as advertised.
I know that probably means I just haven't used the right engine, but that's my expierience.
To give an example, a client asked me to write a game based on Torque for XNA.
He paid for the basic package and I had a look at it.
I wrote a test level and ran it on the XBOX, four minutes later it crashed.
I ran some test apps, and found the XBOX was running out of memory.
Torque had a massive memory leak.
So the client bought me the pro package, which is supplied as source code, and I spent a week fixing all the memory leaks in a commercial game engine.
So the client had to pay out £40 for the basic, plus £400 for the pro, and £1500 for my time just to get the game engine to work as advertised.
This may not be the norm, but in my experience, it is far more common than you would think.
Curious: was that with the current Torque engine?
The most prohibitive part of the concept to reality is the need for very large game worlds, likely smaller maps with seamless transitions from one to another, much like that of games like the newer Elder Scrolls games or the Grand Theft Auto series. Other than that, I feel most any engine would cover the rest of needs of the concept.
This will be a problem. Most game engines that can handle large terrains will come with a large learning curve, and others that have less of a curve (like Unity) generally don't handle that requirement very well. (Of course, depending on how big large is in your world... )
Do you actually want large terrains? I'm not sure from your above text if you need this or not. On one hand, you talk about "large game worlds", but then of "Seamless transitions"...
I'm looking for a game world such that there are several square kilometers of explorable land ranging from rural, suburban, to urban. If there really are massive issues with making a non-linear approach to this I guess the next best solution would be to create something like in games such as STALKER or Dead Rising. They have zones with multiple entry/exit points, but I feel it would be difficult to create the sense of free exploration in that kind of environment.
On the note of creating my own engine: I have no idea where to begin with something like that. I don't really have that kind of coding experience let alone the resources to get something like that started. Let me know your thoughts
I also really, really appreciate the feedback thus far!!