Game Engine Basis Choices

Started by
7 comments, last by Dwarf King 11 years, 9 months ago
I have previously been working with free game engines like UDK and CryEngine 3 SDK. Now, I'm looking to, over time, develop my own game engine (keep in mind I do have an idea for a game so I will have a bit of a lean for that, but I'd like for it to be fairly possible to develop other genres). I am aiming to use a Component based architecture (similar to the very often referenced cowboy programming article called "Evolve Your Hierarchy"). I also want to use strictly opengl and have cross platform capabilities (the three desktop OS', not necessarily console). In this, I amnot the best programmer for graphics, so I think I should use a rendering framework, like Ogre3d or Irrlicht. Those two are options, but not the only. I would be possibly willing to write my own graphics framework, but I would prefer not to. I have looked at some, including those two options I mentioned. Irrlicht seems simpler and better for me to have the actual game structure More like I want it than ogre. But, Ogre has lots of plugins and many tutorials. It is also said that ogre, by default, comes with fancier graphics effects. Would these be easy to implement with irrlicht? It seemed to me that irrlicht actually ran a bit slow in one of the demos with just a few moving meshes and a few particle effects. I also looked at Open Inventor, but it didn't seem that that has been used for many games or game engines. There's also the option.of writing my own graphics framework that uses opengl, but I dont know if I would know how to implement all the things a good graphics framework would have, like what ogre has, for example. I'm open to suggestions of any kind, except ones that say: "Just give up on making an engine."

These are some things I'd like to have in graphics:
-Flexibility of Object control, allowing me to use my Component system
-Possible support of OpenGL3+
-At least decent lighting system
-Fully multi-platform; Windows, OSX, and Linux. Consoles and mobile not required.
-Understandable code/API
-Preferably open source, but not required
Advertisement

I'm open to suggestions of any kind, except ones that say: "Just give up on making an engine."

To be honest, you are not really trying to make an engine. When speaking of engines, most people refer to their own graphics engine, using some framework like ogre/irrlicht is already understood as engine, thought a game engine often included more like physics, scripting etc. you will have no trouble of adding existing libs for these tasks.


When it comes down to your requirement list I think that ogre/irrlicht are the only really popular options to choose from, everything else is already a game engines (UDK,CE,Unity). Btw. Unity is a popular cross-plattform engine, but maybe already too much for your requirements.
Unless you are doing something very simple that does not require much graphics-wise, I don't recommend using Ogre3D. Several reasons were discussed in this thread. If you really want to develop your own engine, I recommend you select a set of utility code libraries (passive functionality codebases) to build atop of, and not a set of frameworks (active/controlling codebases), unless you are absolutely certain that the framework(s) you are using are exactly what you need.

Looking at your requirements, I would recommend having a look at Unity.
I have looked at Unity3d. It's okay to use for some purposes, but I don't like not having C++ access. I prefer C++ over, say, Javascript, in Unity. Not being able to modify anything in Unity makes me feel constrained. I like that it gives you the ability to build from an empty basis, but I prefer to be using something like C++, and wouldn't a large codebase in C++ run a good bit faster than the same sort of codebase in something like Javascript or C#? For something of my own, I'm looking at using GLFW and GLEW as a basis for rendering.
You can use C++ in Unity3D, there's no problem about it.

http://forum.unity3d.com/threads/68109-Unity-and-C
Everyone in that thread said that Unity Pro is required, which costs $1500. I'm looking for something free.

Everyone in that thread said that Unity Pro is required, which costs $1500. I'm looking for something free.


Pricing is another issue ...

Think about develop a Game Engine, it's a very hard thing if you mean to build it from the ground up, so using a graphics api such as Ogre3D would be a minor problem for you in this scenario. The other choice would be develop the needed code to act for OpenGL and DX as a wrapper or adapter design patterns, but as I said, this is a hard task not only to develop, it's hard to test
You can do this for learning purposes, but if you want to go "pro" my advice is to choose an existing game engine
I realize its hard. I think reworking something existing to be how I want it may be more annoying than building my own. That's what I was trying to get opinions about: which would be harder to work into how I want and still have good graphics features and performance.
Well you could use the Torque 3D engine. You get access to all source code, which is in C++ and the torque scripting is close to C++ too(well almost tongue.png ). The engine is not free but still it "only" costs like 180 $. You are not building you own engine, but you can pretty much change it into what you want with some hard work and do some learning on the way. Try to google it and download the demo version first(no access to source code in demo version... sorry) and see if you like the toque scripting.

Hope you find a solution smile.png

"The only thing that interferes with my learning is my education"

Albert Einstein

"It is a miracle that curiosity survives formal education"

Albert Einstein

This topic is closed to new replies.

Advertisement