So, I need to get this figured out and soon. I am trying to decide what the best option for making a game engine for my independent study course would be. The long and short of it is that Ogre3D is working on my wife's desktop, but I cannot build it for my mac, and I need to be able to work on it wherever/whenever. So here's a grand shootout of different libraries, with all their pros and cons laid out, with my own conclusions about what I am going to use after. Disclaimer: These are basically my combined thoughts from when I tried to work with it, or from
DevMaster.net. Your mileage may vary, I'm just trying to aggregate my thoughts into one spot. On with the tables and lists!
Engine: | Ogre3D | OpenSceneGraph | Irrlicht | Panda3D | Monogame | OpenGL |
Pros: |
- Platforms: Big 3, iOS, Android, WebGL
- Comprehensive, has scene management, resource loading, many built in shaders
- Abstracts most meshing functions
- Has extensions for input, GUI, physics
- Well Documented API, many tutorials, books
|
- Platforms: Big 3, Playstation
- Scene Management, resource loading
- Many Plugins
|
- Platforms: Big 3, Xbox
- Decent Tutorials
- Easy to get up and running(see below)
|
- Platforms: Big 3
- Uses Python Extensively
- Integrated tools for physics, AI, network, Audio, packaging
|
- Platforms: Most of them
- Comprehensive
- Uses C#, my favored language
- Decently supported
- Can use OpenGL and DirectX
|
- Complete and total control over my engine
- Don't have to deal with installing except in the case of physics engine
|
Cons: |
- Poorly documented for Mac, so far impossible to set up
- Must use 1.7 for set up, 1.8 for manual, 1.9 for available downloads, and 1.10 for latest features.
- Many things for ease of use are simply missing.
|
- Poor Community and Documentation
- Poor support for procedural generation
|
- Difficult to set up on Mac
- Poor Documentation
|
- Documentation lacking, especially for c++
- Not easily set up on IDEs that are not Visual Studio
- Because it uses integrated tools and is a full-stack engine, Panda3D needs to be disqualified for my purposes.
|
- Have to make my own WebGL support
- Not helping me learn better C++, which is part of this exercise
- Unknown how easy it will be to install BulletSharp
|
- The very definition of going to square one
- Have to implement all resource loading from scratch
- Might be too big a scope for a 6 week project
|
What it really seems to be coming down to is Monogame, OpenGL, or Irrlicht. I guess the game is then to figure out which one takes the least amount of time to install and get 10 rotating cubes on the screen. Once I have that down, I should be able to figure out what the best next step is. I'll update with my results once I get it done.
UPDATE: Ditching Monogame because OpenTK's been abandoned. Ditching Ogre3D because of its documentation. Haven't set up Irrlicht yet, but OpenGL/SDL is seeming like the way to go.
No comments:
Post a Comment