elfric
27-08-2010 17:27:01
Hi, I'm pondering on which engine to use based on my project requirements (which are, admittedly fuzzy at the moment). So far, Mogre is the top choice, but I wanted to see if I could solicit others' opinions and advice on setup, add-ons, etc.
My background is as a programmer. By career, I'm a professional game programmer, but this is a side project of my own. It's ambitious, but that's ok - if I get something good accomplished, great, if not, well, I'll learn some new things and enjoy the time I spend working on it. I'm explaining this so that I don't get a lot of troll-bait about how I shouldn't be embarking on a big project or that I have no clue what it takes to make a game. I do and I'm still undaunted. 'nuff said.
Anyway, the game I'm aiming for is somewhat of a cross between Might & Magic and Oblivion. For those who are interested, I have some of the game design finished and will have a website and wiki up soon so I can post a link with more details soon. I have almost no artistic skills, so whatever the visual look will be beyond the UI, etc will all be up to artists. My desire is to have a good enough base rendering engine that I can set some artists loose and have confidence that they can build something decent without me having to spend any more time than necessary on creating tools for them. My main concern and enjoyment out of this will be in designing the game mechanics, the UI and the AI - not tools/pipeline, rendering, physics, animation, etc. I've done enough of those in my normal job that I know what a time-sink they are and want to avoid that if possible.
MOgre is attractive mainly because I'm sick to death of C++ and want to do more with C#, even though this may end up complicating things in the setup and possibly down the road for debugging, etc. I'm also very interested in using WPF with MOgre (as done at http://www.codeproject.com/KB/WPF/OgreInTheWpf.aspx) since all the GUI systems I've seen are much harder to use and very limited in functionality compared to WPF. Unfortunately, the author of that project seems to have dropped off the face of the earth so I suspect I'll have to do some work to update Mogre 1.72 to work with WPF, much as he did with MOgre 1.4.
I'm planning on this being a windows-only project - I don't even mind if it's only for Vista+ or DX10+ if that's necessary. MOgre (and Ogre in general seems to only support up to DX9 (if I'm reading things correctly)), so DX version shouldn't be a big issue and shader model 3.0 cards are common enough these days. I'm using Visual Studio 2008 (mainly because I already own a pro license and don't see enough benefit in paying for the upgrade to VS 2010).
Requirements
My background is as a programmer. By career, I'm a professional game programmer, but this is a side project of my own. It's ambitious, but that's ok - if I get something good accomplished, great, if not, well, I'll learn some new things and enjoy the time I spend working on it. I'm explaining this so that I don't get a lot of troll-bait about how I shouldn't be embarking on a big project or that I have no clue what it takes to make a game. I do and I'm still undaunted. 'nuff said.
Anyway, the game I'm aiming for is somewhat of a cross between Might & Magic and Oblivion. For those who are interested, I have some of the game design finished and will have a website and wiki up soon so I can post a link with more details soon. I have almost no artistic skills, so whatever the visual look will be beyond the UI, etc will all be up to artists. My desire is to have a good enough base rendering engine that I can set some artists loose and have confidence that they can build something decent without me having to spend any more time than necessary on creating tools for them. My main concern and enjoyment out of this will be in designing the game mechanics, the UI and the AI - not tools/pipeline, rendering, physics, animation, etc. I've done enough of those in my normal job that I know what a time-sink they are and want to avoid that if possible.
MOgre is attractive mainly because I'm sick to death of C++ and want to do more with C#, even though this may end up complicating things in the setup and possibly down the road for debugging, etc. I'm also very interested in using WPF with MOgre (as done at http://www.codeproject.com/KB/WPF/OgreInTheWpf.aspx) since all the GUI systems I've seen are much harder to use and very limited in functionality compared to WPF. Unfortunately, the author of that project seems to have dropped off the face of the earth so I suspect I'll have to do some work to update Mogre 1.72 to work with WPF, much as he did with MOgre 1.4.
I'm planning on this being a windows-only project - I don't even mind if it's only for Vista+ or DX10+ if that's necessary. MOgre (and Ogre in general seems to only support up to DX9 (if I'm reading things correctly)), so DX version shouldn't be a big issue and shader model 3.0 cards are common enough these days. I'm using Visual Studio 2008 (mainly because I already own a pro license and don't see enough benefit in paying for the upgrade to VS 2010).
Requirements
- Pre-built rendering engine, tools, physics, animation systems or add-ons that can be set up to allow artists to use their standard tools and create artwork for the game with little or no attention on my part.[/*]
- Allow coding of AI and most game-loop code in C#. I don't really care if renderer, etc are in C++ since I don't plan on working with them more than necessary However, I haven't really found a good way to tightly integrate a C++ engine with C# game-loop code without a lot of custom programming, so I figure it's easier just to use a "fully" C# engine[/*]
- Able to page terrain blocks in the background, much as Oblivion (i.e. no loading screens unless you teleport to completely different place in the world)[/*]
- Able to integrate renderer viewport into a WPF form and use WPF as the in-game HUD/UI, etc.[/*]
[/list:u]
In doing my research, however, the choices that I have are limited because of my desire to work in C#. My other choices seem to be:
- Unity
- Unity costs $1200 if you want the un-gimped engine, which is a pretty big expense for a hobby project and a large deterrent to recruiting others to help on the project, so I suspect Unity is not a viable choice despite the fact that it has a good pipeline.[/*]
- Unity also has a somewhat strange dev environment where you attach "scripts" to visual objects. While this works, it also makes me shudder to think what a large-scale project will look like over time and how disorganized it would become.[/*]
[/list:u][/*:m]
- Visual 3d.Net.
- Visual 3d.Net, while less costly than Unity, is still not free, thus again is a barrier to recruitment[/*]
- I was initially excited about using this, despite the cost, however, as I kept waiting and waiting for their promised next version, I began to realize that the engine seems to be in trouble and I cannot rely on them to come out with features that I need in any kind of reasonable time frame. Disappointingly, I've mostly given up on this engine - which is too bad considering how much potential it has.[/*]
[/list:u][/*:m]
- Torque X
- cost is not free, but low enough that I think it's reasonable for a hobby project[/*]
- Theoretically has everything I need/want... however, based on reading it seems the current version is virtually unsupported and buggy as hell. It's also a nightmare to work with based on my trial with it. The devs are supposedly re-vamping Torque X, but with the plans I've read, I don't expect real results for another 1-2 years at least.[/*]
[/list:u][/*:m][/list:u]
Therefore, based on my requirements and my other choices, I'm reasonably sure that MOgre is my best choice for all this. I'm not sure about how difficult it will be to set up, however. I've downloaded the MOgre 1.72 beta and mstoyke's terrain-paging work, but haven't set it up or tried to sink my teeth into a sample project yet. I'm currently planning on starting that today and this weekend. We'll see how good I feel about MOgre after that
Anyway, I'd appreciate any thoughts from more experienced MOgre users and/or suggestions of what I'll need to get or set up, or even ideas on other engines that fit my requirements better.
Thanks!
- cost is not free, but low enough that I think it's reasonable for a hobby project[/*]
- Visual 3d.Net, while less costly than Unity, is still not free, thus again is a barrier to recruitment[/*]
- Unity costs $1200 if you want the un-gimped engine, which is a pretty big expense for a hobby project and a large deterrent to recruiting others to help on the project, so I suspect Unity is not a viable choice despite the fact that it has a good pipeline.[/*]
- Unity