What game engine/library to use?
by Robert York · in General Discussion · 04/20/2008 (10:35 am) · 15 replies
This is the first time I've attempted to ask this question on a forum, so I apologize if this is the wrong place for it.
After researching as much as I can on the web about this question, I'm still left with few answers. I would like to develop my own game, not out of a desire to make money or anything, but just because I enjoy creating and nothing envelops you in a world as much as being able to be a character in that world and interact with it. So (for the time being), I'm not interested in royalties and high end commercial licenses, though I am willing to spend some money to get started. I'm a programmer/engineer by education, though it's been a few years since I did it for a living. I'm to the point now where I'm more interested in creating a world than I am programming one. So I'd like to avoid too much programming and keep focused on the world I want to make. I want to create a fantasy RPG sort of game the likes of Dungeon Siege or even something like Black and White 2. The type of game isn't solid yet, but the flavor and idea of fantasy adventure, from a 3rd person perspective like those two games, are. I really like the visuals, effects and polish of Black and White 2, so that's sort of my goal for technology. I want the ability to do large, wide open terrains, as well as possibly diving into dungeons.
Now for the question: What is the best (or a good) way to approach such a project from the standpoint of the game coding tools? I've looked at several options, and I've not found any answers which lead me to start working on one vs another. And I'd like some clue as to what will be successful before I invest much time or money. I've looked at using XNA and writing things from the ground up, more or less. I've considered taking a game such as the Half Life 2 Source engine, Unreal3, etc and modding them. And I've considered game development packages like TGE/TGEA or 3DGamestudio. I've read all I can find about each of these, but I'm sure there's more I haven't found.
In the end, I've come up with these conclusions: XNA will take a lot of work to do even some basic things like level load/save and large terrains, laying out levels/areas, etc. Modding a game may not be feasible, and I've seen no serious evidence of anyone who's tried to turn a game like half life 2 or Unreal3 into a RTS/3rd person RPG. Much less any help when I try to flounder through my first mod. This leaves a game toolkit the best bet, but I've not been able to find much help in deciding which one is best suited or easiest to use. The demos for the two mentioned don't include all the editors, so I can't get a good grasp for what I will eventually have to work with, and as it stands, I can't get the Forge Demo from TGEA to not crash when making water (maybe I'm doing something wrong). And I'd rather not pay for several different toolkits before I find one that works well for me.
So, with all that being said, any insight on good solutions or other options, or especially, on info I've overlooked or isn't as obvious would be greatly appreciated.
(As a side note, for content I do have Vue 6, and XSI fundamentals for making models and terrain)
After researching as much as I can on the web about this question, I'm still left with few answers. I would like to develop my own game, not out of a desire to make money or anything, but just because I enjoy creating and nothing envelops you in a world as much as being able to be a character in that world and interact with it. So (for the time being), I'm not interested in royalties and high end commercial licenses, though I am willing to spend some money to get started. I'm a programmer/engineer by education, though it's been a few years since I did it for a living. I'm to the point now where I'm more interested in creating a world than I am programming one. So I'd like to avoid too much programming and keep focused on the world I want to make. I want to create a fantasy RPG sort of game the likes of Dungeon Siege or even something like Black and White 2. The type of game isn't solid yet, but the flavor and idea of fantasy adventure, from a 3rd person perspective like those two games, are. I really like the visuals, effects and polish of Black and White 2, so that's sort of my goal for technology. I want the ability to do large, wide open terrains, as well as possibly diving into dungeons.
Now for the question: What is the best (or a good) way to approach such a project from the standpoint of the game coding tools? I've looked at several options, and I've not found any answers which lead me to start working on one vs another. And I'd like some clue as to what will be successful before I invest much time or money. I've looked at using XNA and writing things from the ground up, more or less. I've considered taking a game such as the Half Life 2 Source engine, Unreal3, etc and modding them. And I've considered game development packages like TGE/TGEA or 3DGamestudio. I've read all I can find about each of these, but I'm sure there's more I haven't found.
In the end, I've come up with these conclusions: XNA will take a lot of work to do even some basic things like level load/save and large terrains, laying out levels/areas, etc. Modding a game may not be feasible, and I've seen no serious evidence of anyone who's tried to turn a game like half life 2 or Unreal3 into a RTS/3rd person RPG. Much less any help when I try to flounder through my first mod. This leaves a game toolkit the best bet, but I've not been able to find much help in deciding which one is best suited or easiest to use. The demos for the two mentioned don't include all the editors, so I can't get a good grasp for what I will eventually have to work with, and as it stands, I can't get the Forge Demo from TGEA to not crash when making water (maybe I'm doing something wrong). And I'd rather not pay for several different toolkits before I find one that works well for me.
So, with all that being said, any insight on good solutions or other options, or especially, on info I've overlooked or isn't as obvious would be greatly appreciated.
(As a side note, for content I do have Vue 6, and XSI fundamentals for making models and terrain)
About the author
Recent Threads
#2
I think you may also want to have a look at
Unity3D
Developers using Unity3D
http://unity3d.com/gallery/developer-profiles/web-games/
Unity 3D features
http://unity3d.com/unity/features/
Some video tutorial (basic videos, check out the pipeline ones)
http://unity3d.com/support/documentation/video/
Right now you need Mac to use it but it does create builds to Mac, Windows PC, Web Player
Also they are working of Wii version and on iPhone version but I think it will be separate licenses
Also:
Game Core (New version of Beyond Virtual)
http://www.gamecore.ca/
Features
http://www.gamecore.ca/blog/features/
Video Gallery
http://www.gamecore.ca/blog/video-gallery/
There are others but I don't think as complete as these ones.
04/21/2008 (4:39 am)
"I'm to the point now where I'm more interested in creating a world than I am programming one"I think you may also want to have a look at
Unity3D
Developers using Unity3D
http://unity3d.com/gallery/developer-profiles/web-games/
Unity 3D features
http://unity3d.com/unity/features/
Some video tutorial (basic videos, check out the pipeline ones)
http://unity3d.com/support/documentation/video/
Right now you need Mac to use it but it does create builds to Mac, Windows PC, Web Player
Also they are working of Wii version and on iPhone version but I think it will be separate licenses
Also:
Game Core (New version of Beyond Virtual)
http://www.gamecore.ca/
Features
http://www.gamecore.ca/blog/features/
Video Gallery
http://www.gamecore.ca/blog/video-gallery/
There are others but I don't think as complete as these ones.
#3
I will try to take point by point what you have posted and help you see some of the differences between the engines. This isn't to say that one or the other is better (they are all fine engines), but to try to evaluate which ones feature what you need with the least modification.
Engines like Lawmaker, A7, GameCore (as noted, previously called BeyondVirtual) and Unity provide a core engine and allow you to either script for it using their specified languages, or in some cases, extend the engine via the engine SDK (I place Half-Life 2 for modders in this area; licensed developers have the engine source). You use C++ to extend the engine, though the primary use is through script access. Torque functions in this capacity in many ways, but depending on your implementation, you may be digging into the source a lot more than some SDK-based engines. Note that Unity and GameCore do not have SDK's in C++. They are script-only engines. It doesn't lower them on some ephemeral engine hierarchy, but it is something good to know going in--it may, in fact, aid you in choosing one of them.
The camera is simple in most all of the engines mentioned. In Torque and Cipher, it is a little more difficult (Quake 1/2 as well) in that you will have to do a little engine coding to get it done. The Cipher forums used to have a community created solution. TGE has the advanced camera resource. Quake has a number of community camera extensions for the various tech-level engines (3 and beyond made such manipulation of the camera much easier, IIRC). A7, GC, and Unity have strong scripting interfaces. While I have been a fan of Lawmaker in the past, mostly due to the excellent e-mail support, the community seems to have died over the last several months. This is mostly due to a complete engine redesign from the ground up for LM2. As a licensee, I cannot talk about the general direction of LM2 posted on the private forums.
The ease-of-use is a strong point of contention among many game development tools, engines, and frameworks. For example, Unity and GameCore have an extremely streamlined artpath and scripting environments that make them very nice to work with. The drawback is extensibility. If your game requires something that is not included, you have to work with the developers of the engine to get it included. Unity developers are great to work with. The BV dev team had quite a history of not getting back to users on their forums about engine enhancements or wishlist items. Though, to be fair, Gekido often posted regular updates and answered technical questions quite often. I haven't seen as much action on the GC site, but then I haven't been as active a lurker lately.
Vue 6, in terms of game development, will help you create great skyboxes and interesting terrains, though the accuracy of them within a game engine with different terrain specifications than your settings in Vue will most likely cause them to appear somewhat differently. The plant creator and such can be handy, but you will find yourself taking the exported OBJ into another application to modify it for a more game-ready low-poly object (not that they are that high poly, but they are created for procedural rendering).
XSI Foundation will be good for any engines that have a direct exporter for it or use the Collada format. Torque has some limited XSI exporter functionality, but since I do not use XSI, I do not know much about it.
A few links I found:
CounterStrike RPG Mod (Half-Life 2)
HL2 RPG Mod
BattleRPG Unreal 3 mod
04/21/2008 (8:13 am)
No engine will match your needs directly, except perhaps modding NeverWinter Nights as a close catch. But all of the ones mentioned can match your needs with modification and careful planning.I will try to take point by point what you have posted and help you see some of the differences between the engines. This isn't to say that one or the other is better (they are all fine engines), but to try to evaluate which ones feature what you need with the least modification.
Quote:I'd like to avoid too much programming and keep focused on the world I want to make.This pretty much discounts source engines such as PowerRender, TrueVision3D, Irrilicht, Cipher, Quake, etc. It also limits engines such as Torque, Genesis3D, or C4 which have world editors (and a strong scripting interface in some) but also recommend having the developer have at least a strong C++ programmer on the team to implement resources, integral gameplay features, and new technology. The benefit of these engines (on both fronts) is that you get the complete source code to the engine--or an API/SDK to the engine.
Engines like Lawmaker, A7, GameCore (as noted, previously called BeyondVirtual) and Unity provide a core engine and allow you to either script for it using their specified languages, or in some cases, extend the engine via the engine SDK (I place Half-Life 2 for modders in this area; licensed developers have the engine source). You use C++ to extend the engine, though the primary use is through script access. Torque functions in this capacity in many ways, but depending on your implementation, you may be digging into the source a lot more than some SDK-based engines. Note that Unity and GameCore do not have SDK's in C++. They are script-only engines. It doesn't lower them on some ephemeral engine hierarchy, but it is something good to know going in--it may, in fact, aid you in choosing one of them.
Quote:want to create a fantasy RPG sort of game the likes of Dungeon Siege or even something like Black and White 2. The type of game isn't solid yet, but the flavor and idea of fantasy adventure, from a 3rd person perspective like those two games, are.You are going to be doing a large portion of programming (whether in a scripting language or in a traditional language) in any of the engines listed to get the required features. None of the engines (except, like I noted previously, modding NeverWinter Nights 2, perhaps) will have out-of-the-box utility for the specificity of not only the genre but the discrete gameplay mechanics available in the example games.
The camera is simple in most all of the engines mentioned. In Torque and Cipher, it is a little more difficult (Quake 1/2 as well) in that you will have to do a little engine coding to get it done. The Cipher forums used to have a community created solution. TGE has the advanced camera resource. Quake has a number of community camera extensions for the various tech-level engines (3 and beyond made such manipulation of the camera much easier, IIRC). A7, GC, and Unity have strong scripting interfaces. While I have been a fan of Lawmaker in the past, mostly due to the excellent e-mail support, the community seems to have died over the last several months. This is mostly due to a complete engine redesign from the ground up for LM2. As a licensee, I cannot talk about the general direction of LM2 posted on the private forums.
Quote:I really like the visuals, effects and polish of Black and White 2, so that's sort of my goal for technology.The visuals will depend on the art team for the most part. All of the engines presented can have excellent visuals or extremely horrible ones. It all depends on the artwork. I can make Unreal 3 crawl with high-poly models from TurboSquid that were never meant to be used in realtime applications. A good artist can take similar levels and make them work. I wish I were a better artist. :)
Quote:I want the ability to do large, wide open terrains, as well as possibly diving into dungeons.TGEA's MegaTerrains or ATLAS/2 terrains, RealmCrafter's MegaTerrains (whoo-hoo aren't we all so creative with naming!), and A7's chunked terrains are probably the best solutions here. ATLAS, Unity's large terrains, and A7's terrains do not allow for cutting out chunks for caves and such, so you would have to implement a number of solutions such as teleporting the player, etc for specific areas using these systems. Both MegaTerrain systems in TGEA 1.7 and RealmCrafter allow you to remove terrain pieces for caves and such.
Quote:This leaves a game toolkit the best bet, but I've not been able to find much help in deciding which one is best suited or easiest to use.It really depends on the scope of your project, the design of your project, the toolchain that you are used to working with, and your development strategy and methodology. I find TGE/A/B great to work with. I love Unity and GameCore (though I'm more experienced with BeyondVirtual since I haven't had much of a chance to crack the GC alphas). I quite like A7, though I know a number among the community here who have had bad experiences with it or the community. As with all communities, there are a couple of bad apples and I've had run ins with a number of them on various forums. I also like C4, though it is definitely programmer-centric.
The ease-of-use is a strong point of contention among many game development tools, engines, and frameworks. For example, Unity and GameCore have an extremely streamlined artpath and scripting environments that make them very nice to work with. The drawback is extensibility. If your game requires something that is not included, you have to work with the developers of the engine to get it included. Unity developers are great to work with. The BV dev team had quite a history of not getting back to users on their forums about engine enhancements or wishlist items. Though, to be fair, Gekido often posted regular updates and answered technical questions quite often. I haven't seen as much action on the GC site, but then I haven't been as active a lurker lately.
Quote:The demos for the two mentioned don't include all the editors, so I can't get a good grasp for what I will eventually have to work with, and as it stands, I can't get the Forge Demo from TGEA to not crash when making water (maybe I'm doing something wrong).The Forge demo is an art demo, which is not necessarily meant to be used in the same way as a game itself. Look at some of the engine crippling art demos for the Unreal engine to see the beauty that artists can put into it while crippling gameplay aspects. There is a section of the Make Something Unreal contest devoted to specifically this. Hopefully a MegaTerrains or Stronghold conversion demo will be released.
Vue 6, in terms of game development, will help you create great skyboxes and interesting terrains, though the accuracy of them within a game engine with different terrain specifications than your settings in Vue will most likely cause them to appear somewhat differently. The plant creator and such can be handy, but you will find yourself taking the exported OBJ into another application to modify it for a more game-ready low-poly object (not that they are that high poly, but they are created for procedural rendering).
XSI Foundation will be good for any engines that have a direct exporter for it or use the Collada format. Torque has some limited XSI exporter functionality, but since I do not use XSI, I do not know much about it.
A few links I found:
CounterStrike RPG Mod (Half-Life 2)
HL2 RPG Mod
BattleRPG Unreal 3 mod
#4
Useful for anyone having similar questions in their heads.
I lost sight of Lawmaker... you just reminded me of it...
These are interesting times with most engines out there (including TGEA) getting big updates or rewrites.
04/21/2008 (9:49 am)
David, that was a top notch reply. Useful for anyone having similar questions in their heads.
I lost sight of Lawmaker... you just reminded me of it...
These are interesting times with most engines out there (including TGEA) getting big updates or rewrites.
#5
Then you obviously didnt saw Half-Life 2: Wars.
Dont get confuse, I still prefer working with an engine where I can touch whatever I want, where I own a license to sell what I do if I want to, and backed by a incredible community, like this one, where very cool and experienced people is always inventing new ways of improving the whole experience.
But that one is one of the most gorgeous Mods I ever seen, a very cool idea, and if I ever have to choose for another engine/community tandem, I think that would be Source/Valve Developer Community.
04/21/2008 (12:30 pm)
Quote:Modding a game may not be feasible, and I've seen no serious evidence of anyone who's tried to turn a game like half life 2 or Unreal3 into a RTS/3rd person RPG.
Then you obviously didnt saw Half-Life 2: Wars.
Dont get confuse, I still prefer working with an engine where I can touch whatever I want, where I own a license to sell what I do if I want to, and backed by a incredible community, like this one, where very cool and experienced people is always inventing new ways of improving the whole experience.
But that one is one of the most gorgeous Mods I ever seen, a very cool idea, and if I ever have to choose for another engine/community tandem, I think that would be Source/Valve Developer Community.
#6
04/21/2008 (12:37 pm)
The Valve mod community is a great place, as is the Unreal Mod camp. Some of the various Quake mod communities can be rather vitriolic, but for the most part, they're a pretty nice bunch. Just put on your flame suit before reading the non-mod community responses to your mod! There's a definite difference between comments from modders and those who just play mods!
#7
Btw, I didnt mentioned it on my previous post but, very cool work on that response David.
04/21/2008 (12:46 pm)
Hehe Good catch! A community composed by developers and 14 years old hardcore gamers alike, could be a very frustrating experience.Btw, I didnt mentioned it on my previous post but, very cool work on that response David.
#8
04/21/2008 (2:38 pm)
Well, TGEA is something GREAT for terrains, the WYSIWYG editors are pretty easy to handle, and it is pretty cheap for the indie license.
#9
Now, from what I've gotten back and what I've read previously, Unity2.0 is a very good candidate (more on that), and things like TrueVision and Irrlicht are not so much. This leaves the majority of the options in the air, like Torque and A7. It also leaves the question of modding out in the open. From what I've heard, there's the possibility that modding something like HalfLife2 or Unreal3 may not be any more work in the end, just a different kind of work. After playing with the Crysis editor for a few hours, I saw how quickly you can make some stunning content (though I understand that Crysis is almost in a realm of it's own in that respect), however I've not found a lot of discussion about how far you can mod these games with much ease. The RPG mods for HL2 and Unreal mentioned provide a good idea of some of the code changes to do 'levels', but they don't address the issue I'm concerned about, that is, turning a FPS into an RTS, more or less. The RPG code in my opinion, seems like it'd be the easy part. Turning it into a click-move, 3rd person game sounds like it's a bigger modification, since it alters how you interact with the game entirely. That is my feeling on the mod issue. If getting an RTS/Diablo like interface in Unreal or HL2 is pretty easy, then that makes it more appealing.
After looking into the other game engines/toolkits (whatever the buzzword for them is), the ones that seem like they'd offer what I'm looking for are Unity, this GameCore and Lawmaker (which I'd never read anything about either before) and Torque and A7. What is it that Unity, GameCore or Lawmaker offer that isn't offered in Torque or A7? It seems like they all mention the same features. Is it a matter of how complete the editors are, or how much coding is already done and built in, in some form? These are the sorts of questions I can't seem to find answers for. Right now, unless modding HL2 to make a really pretty Diablo is easier than making it in one of those game SDKs, than it comes down to figuring out which of them offers the best set of tools for what I'd like to do. As I said, from the features lists, all seem comparable. From reading forums, there's gripes about one not offering good user support or one being prone to crashes or one being real stable, but nothing very concrete that really differentiates them. I'd rather not buy a license for several of them before I find the one that'll let me do what I want well. And not to ignore the NWN2 mod, but while I like the game, I don't think I can mod it and remove the turn-based D&D mechanics. I also understand that the community is going to be a big help (or lack thereof), so that will make a difference too.
Now, just a side comment on Unity before I close out for now. I've been watching it for a while, since it has a flashy website and very good demos which show what can be done. Which for some reason, heavens knows why, most any other game engines sorely lack. And it makes a BIG impact on what people think the game can do. If you can't show someone a polished image and a professional, nice looking web page, people will think your engine either can't do it, or you don't care to put the effort into it. (which reflects on what else you may or may not care to put effort into). But anyway, after digging more, seems a lot of people really like Unity, too, if you get past the mac-only SDK (for the time being). The big problem I have is that the $150 (or so, I may be off by $100 or something) is lacking in some areas which I would consider pretty key features. One being windows executable, the other being the graphics features like post-processing effects, realtime shadows, etc. Since I happen to have a nice macbook pro as well as a windows machine, the development environment isn't as huge of a factor, as much as I'd prefer doing it in windows. Especially since I've never tried to program on a mac. (Unless you count 68000series ansi C firmware) I'm willing to put down a few hundred dollars, but not the $1500 required to get what I consider some relatively key features. The windows exectuable I could even live without, since for now the development is a personal learning experience more than something I plan on marketing. But it does severely limit who I can show it off to and get feebback on.
So to sum up: What is the difference that makes Unity (or one of the other two engines mentioned) more suited to my proposed task than Torque or A7? If I'm digging through a game SDK's website and their feature list, how can I discern which would be better? All of the above (as far as I recall) list very similar graphical features, WYSIWYG editors and other features like physics, AI, and terrain. I've heard Unity is worth every penny of the $1500 pro license. While that may be true, I have to be damn sold on it given my expected return on this project (that being personal gratification of a job well done). Again, thanks for the response David, and I hope you can continue to enlighten me. Torque has a very pretty web page and logo. It's hard to resist the impulse to buy!
04/21/2008 (6:47 pm)
I'd like to start by saying I appreciate the feedback, especially the depth that David provided. I'll go through and respond to some of his comments, though I'm not very proficient with forums, so I'll do old fashioned cut/paste. To start, I wanted to clarify my coding stance. I understand that this -will- involve programming of some kind, and I've accepted that I'll be writing game dynamics sort of code. Things like what happens when you click on an object. What I want to avoid is getting into 3D transformations, figuring out what polygon the mouse is currently over and which object it belongs to, making database systems for efficient terrain rendering, rendering pipelines, file systems, and all the nitty gritty code. Programming things like putting an item I click on in an inventory and taking off the ground, is the level I'm expecting and would prefer not to have to dig a whole lot deeper if I don't have to. I would also prefer having a basic framework to go off of, if I could. For instance. I'd like to be able to get to the point where I have some actor in a terrain and I can click on the ground (and use arrow keys) and the actor moves to said spot, within a day or so of productive work.Now, from what I've gotten back and what I've read previously, Unity2.0 is a very good candidate (more on that), and things like TrueVision and Irrlicht are not so much. This leaves the majority of the options in the air, like Torque and A7. It also leaves the question of modding out in the open. From what I've heard, there's the possibility that modding something like HalfLife2 or Unreal3 may not be any more work in the end, just a different kind of work. After playing with the Crysis editor for a few hours, I saw how quickly you can make some stunning content (though I understand that Crysis is almost in a realm of it's own in that respect), however I've not found a lot of discussion about how far you can mod these games with much ease. The RPG mods for HL2 and Unreal mentioned provide a good idea of some of the code changes to do 'levels', but they don't address the issue I'm concerned about, that is, turning a FPS into an RTS, more or less. The RPG code in my opinion, seems like it'd be the easy part. Turning it into a click-move, 3rd person game sounds like it's a bigger modification, since it alters how you interact with the game entirely. That is my feeling on the mod issue. If getting an RTS/Diablo like interface in Unreal or HL2 is pretty easy, then that makes it more appealing.
After looking into the other game engines/toolkits (whatever the buzzword for them is), the ones that seem like they'd offer what I'm looking for are Unity, this GameCore and Lawmaker (which I'd never read anything about either before) and Torque and A7. What is it that Unity, GameCore or Lawmaker offer that isn't offered in Torque or A7? It seems like they all mention the same features. Is it a matter of how complete the editors are, or how much coding is already done and built in, in some form? These are the sorts of questions I can't seem to find answers for. Right now, unless modding HL2 to make a really pretty Diablo is easier than making it in one of those game SDKs, than it comes down to figuring out which of them offers the best set of tools for what I'd like to do. As I said, from the features lists, all seem comparable. From reading forums, there's gripes about one not offering good user support or one being prone to crashes or one being real stable, but nothing very concrete that really differentiates them. I'd rather not buy a license for several of them before I find the one that'll let me do what I want well. And not to ignore the NWN2 mod, but while I like the game, I don't think I can mod it and remove the turn-based D&D mechanics. I also understand that the community is going to be a big help (or lack thereof), so that will make a difference too.
Now, just a side comment on Unity before I close out for now. I've been watching it for a while, since it has a flashy website and very good demos which show what can be done. Which for some reason, heavens knows why, most any other game engines sorely lack. And it makes a BIG impact on what people think the game can do. If you can't show someone a polished image and a professional, nice looking web page, people will think your engine either can't do it, or you don't care to put the effort into it. (which reflects on what else you may or may not care to put effort into). But anyway, after digging more, seems a lot of people really like Unity, too, if you get past the mac-only SDK (for the time being). The big problem I have is that the $150 (or so, I may be off by $100 or something) is lacking in some areas which I would consider pretty key features. One being windows executable, the other being the graphics features like post-processing effects, realtime shadows, etc. Since I happen to have a nice macbook pro as well as a windows machine, the development environment isn't as huge of a factor, as much as I'd prefer doing it in windows. Especially since I've never tried to program on a mac. (Unless you count 68000series ansi C firmware) I'm willing to put down a few hundred dollars, but not the $1500 required to get what I consider some relatively key features. The windows exectuable I could even live without, since for now the development is a personal learning experience more than something I plan on marketing. But it does severely limit who I can show it off to and get feebback on.
So to sum up: What is the difference that makes Unity (or one of the other two engines mentioned) more suited to my proposed task than Torque or A7? If I'm digging through a game SDK's website and their feature list, how can I discern which would be better? All of the above (as far as I recall) list very similar graphical features, WYSIWYG editors and other features like physics, AI, and terrain. I've heard Unity is worth every penny of the $1500 pro license. While that may be true, I have to be damn sold on it given my expected return on this project (that being personal gratification of a job well done). Again, thanks for the response David, and I hope you can continue to enlighten me. Torque has a very pretty web page and logo. It's hard to resist the impulse to buy!
#10
I also looked at Unity more and some of the products released with it. Looks like it's very user friendly, but also pretty mac-focused. I'm still trying to figure out what makes an engine like unity more suited to what I was after than the others. Is it that the others are geared towards FPS games? Is it that unity has a more in depth editor/world builder, so there's less real coding that has to be done? Still confused here. Doesn't seem like technically, their games are more impressive or advanced than demos I've seen using Torque or A7. Also, anyone able to talk more about the future of GameCore or Lawmaker? It seems like they're both in transition, as was mentioned, but there's little info about where it's going from here.
04/23/2008 (6:22 pm)
Well, I looked at HL2 Wars, and that's a good example of the sort of 3rd person mod I'd be shooting for, but in a fantasy adventure sort of game. Maybe. Might have some RTS in it too. Still not sure. But how difficult is it to get that sort of mod done in HL2 or Unreal?I also looked at Unity more and some of the products released with it. Looks like it's very user friendly, but also pretty mac-focused. I'm still trying to figure out what makes an engine like unity more suited to what I was after than the others. Is it that the others are geared towards FPS games? Is it that unity has a more in depth editor/world builder, so there's less real coding that has to be done? Still confused here. Doesn't seem like technically, their games are more impressive or advanced than demos I've seen using Torque or A7. Also, anyone able to talk more about the future of GameCore or Lawmaker? It seems like they're both in transition, as was mentioned, but there's little info about where it's going from here.
#11
Object selection, etc is pretty easy in all the engines mentioned.
All of the engines have pretty simple mechanics for this. In Torque, you will have to add some resources since it wasn't originally used for accessing objects and inputs in this manner. The resources are simple C++ additions, however.
In reality, content is still the realm of the artists. I've seen complete crap made in Crysis, regardless of how cool their sandbox is. It is a great and very usable environment, but it can easily be used to create complete crap with bad artists. If you mod, however, you have the excellent artwork that the team put together to use in your project. Same with Half-Life 2, Unreal, NWN, etc.
When it comes to looking at features and trying to figure out what one engine offers over another, I would recommend downloading the demos for every engine and trying them out. In a couple of hours, you will be extremely well-informed about issues that might make development difficult for you. Asking questions about how to do something in a specific engine will also give you an idea of the flow of the community.
So you could use your C++ skizzilz and put together an engine in OGRE or Irrlicht that fits what you want to do (which a number of teams have done) or you can work with an engine that has softened the blow for you, often for a cost.
AI will be a huge issue on all engines. Most AI included with most engines is simple pathing or pathfinding. While there are often add-ons or middleware, they usually add game-specific types of AI. Generic AI is a difficult problem. Physics, especially if you are thinking about networked physics, can also be a nightmare.
I have no idea how difficult it is to get that sort of mod done in HL or Unreal because I've never tried it. Probably not much different than using any other engine, except you wouldn't be able to dig into the source code to do something yourself (if it wasn't included; and assuming you had a source engine). I'd recommend talking to the teams to see how hard it would be.
If you want to know more about GameCore, then you'll need to register at their site and see what is up. BV was an interesting engine that had some nice features (I especially liked the LW workflow, though others were irritated because it didn't support every LW feature; which is wholly an unrealistic expectation in the first place for an engine). I just found it clunky. There are a number of things in Unity that I find clunky in terms of the interface as well. It's that "all-in-one" app mentality that I often just want to break out of because I'm used to using more than one. The Unity interface is much nicer to work with than BV, though.
Lawmaker is in transition and seems like it is currently dead. As I said, I cannot talk about the stuff on the private forums about LM2. If you use 3DS Max, then it might be a viable engine for you to approach. I could not create animated content for the engine because it was tied to Cal3D and there was not anything available for Lightwave to work with it. I could have taken my project and completely re-rigged it and animated it in Blender, but it just wasn't worth it.
The basic interfacing can be done in any of the engines listed. What you need to determine is how to effectively evaluate the engine to see how it fits into your workflow. When I bought a Lawmaker license, I had asked if a LW exporter was available and was told that it would be. Then it was cancelled, or at least moved off the radar. I understand that project pieces have to be cut, but it effectively removed any use for me with the engine. It is a loss that I could cut, though it hurt my wallet.
Torque will require more lower-level programming, but it can be done. A7 and Unity have great scripting interfaces, and it can be done in either of them.
Another major thing that you want to consider is what happens when it is all over. If it dies on your hard drive, then nothing happens and you can determine whether what you've learned is of merit or not. If you decide to release it for free, then a mod solution might be an excellent idea (you will, however, have to release it only to owners of the software you modded). If you decide that you like the project enough to turn it into a commercial venture, you may have a hard time getting together $250k-$1m to license the engine. Of course, if you think of it as a commercial venture and notice that a lot of indies make money on the Mac since they're a game-hungry market, and you've used A7 or GC or LM, then you're in a pretty leaky "complete conversion engine-switch" boat. If you decide that you are going to target a Windows-only market, then any of the engines will be top-notch, though I have heard sketchy things about the performance of the Windows export for Unity. I don't have the pro version, though, so I can't comment either way on it. I've used the demos on both Mac and Windows, and while Windows was slower to an extent on Advent Rising, it didn't seem bad at all on a low-mid level on-board graphics machine. I compared it to my Mini and dual-G5 (which, of course, rocked the Mini).
04/24/2008 (12:30 pm)
Alright, I'll try to answer a couple of questions since I have a little time. It takes quite a lot of time to answer as in-depth as I have previously.Quote:What I want to avoid is getting into 3D transformations, figuring out what polygon the mouse is currently over and which object it belongs to, making database systems for efficient terrain rendering, rendering pipelines, file systems, and all the nitty gritty code.While there are some solutions that provide save/load state functionality, often times they save extremely massive amounts of useless information because they are saving the state of the world. Think about the way emulators worked in the past when the saves were often the exact state of the ROM. Many emulators for specific hardware look at state changes and only save the state changes, but for a PC game that can be a huge undertaking between saves. I have always preferred to write my own save/load functionality so that I can adapt it to the type of game and not take up horrendous amount of space. Some people don't care or don't know how to determine what needs to be saved and what doesn't.
Object selection, etc is pretty easy in all the engines mentioned.
Quote:Programming things like putting an item I click on in an inventory and taking off the ground, is the level I'm expecting and would prefer not to have to dig a whole lot deeper if I don't have to. I would also prefer having a basic framework to go off of, if I could. For instance. I'd like to be able to get to the point where I have some actor in a terrain and I can click on the ground (and use arrow keys) and the actor moves to said spot, within a day or so of productive work.
All of the engines have pretty simple mechanics for this. In Torque, you will have to add some resources since it wasn't originally used for accessing objects and inputs in this manner. The resources are simple C++ additions, however.
In reality, content is still the realm of the artists. I've seen complete crap made in Crysis, regardless of how cool their sandbox is. It is a great and very usable environment, but it can easily be used to create complete crap with bad artists. If you mod, however, you have the excellent artwork that the team put together to use in your project. Same with Half-Life 2, Unreal, NWN, etc.
When it comes to looking at features and trying to figure out what one engine offers over another, I would recommend downloading the demos for every engine and trying them out. In a couple of hours, you will be extremely well-informed about issues that might make development difficult for you. Asking questions about how to do something in a specific engine will also give you an idea of the flow of the community.
Quote:One being windows executable, the other being the graphics features like post-processing effects, realtime shadows, etc.There is a simple maxim that has dominated the game dev view for a while: the more features you pack, and most importantly, the easier they are to use, the higher the price of the package. Modding Quake and Quake 2 wasn't easy by the standards of Sauerbraten and Crysis, but they were easy in comparison to the zero-entry bar at the time. Crysis and Unreal cost ungodly amounts of money, not just for the quality of their engines, but for the development convenience that they have added in to them. Unity has followed suit as well with their pricing (while not anywhere near the massive cost of those engines). The pro version is significantly higher in price with a nice little featureset for that price.
So you could use your C++ skizzilz and put together an engine in OGRE or Irrlicht that fits what you want to do (which a number of teams have done) or you can work with an engine that has softened the blow for you, often for a cost.
AI will be a huge issue on all engines. Most AI included with most engines is simple pathing or pathfinding. While there are often add-ons or middleware, they usually add game-specific types of AI. Generic AI is a difficult problem. Physics, especially if you are thinking about networked physics, can also be a nightmare.
I have no idea how difficult it is to get that sort of mod done in HL or Unreal because I've never tried it. Probably not much different than using any other engine, except you wouldn't be able to dig into the source code to do something yourself (if it wasn't included; and assuming you had a source engine). I'd recommend talking to the teams to see how hard it would be.
If you want to know more about GameCore, then you'll need to register at their site and see what is up. BV was an interesting engine that had some nice features (I especially liked the LW workflow, though others were irritated because it didn't support every LW feature; which is wholly an unrealistic expectation in the first place for an engine). I just found it clunky. There are a number of things in Unity that I find clunky in terms of the interface as well. It's that "all-in-one" app mentality that I often just want to break out of because I'm used to using more than one. The Unity interface is much nicer to work with than BV, though.
Lawmaker is in transition and seems like it is currently dead. As I said, I cannot talk about the stuff on the private forums about LM2. If you use 3DS Max, then it might be a viable engine for you to approach. I could not create animated content for the engine because it was tied to Cal3D and there was not anything available for Lightwave to work with it. I could have taken my project and completely re-rigged it and animated it in Blender, but it just wasn't worth it.
The basic interfacing can be done in any of the engines listed. What you need to determine is how to effectively evaluate the engine to see how it fits into your workflow. When I bought a Lawmaker license, I had asked if a LW exporter was available and was told that it would be. Then it was cancelled, or at least moved off the radar. I understand that project pieces have to be cut, but it effectively removed any use for me with the engine. It is a loss that I could cut, though it hurt my wallet.
Torque will require more lower-level programming, but it can be done. A7 and Unity have great scripting interfaces, and it can be done in either of them.
Another major thing that you want to consider is what happens when it is all over. If it dies on your hard drive, then nothing happens and you can determine whether what you've learned is of merit or not. If you decide to release it for free, then a mod solution might be an excellent idea (you will, however, have to release it only to owners of the software you modded). If you decide that you like the project enough to turn it into a commercial venture, you may have a hard time getting together $250k-$1m to license the engine. Of course, if you think of it as a commercial venture and notice that a lot of indies make money on the Mac since they're a game-hungry market, and you've used A7 or GC or LM, then you're in a pretty leaky "complete conversion engine-switch" boat. If you decide that you are going to target a Windows-only market, then any of the engines will be top-notch, though I have heard sketchy things about the performance of the Windows export for Unity. I don't have the pro version, though, so I can't comment either way on it. I've used the demos on both Mac and Windows, and while Windows was slower to an extent on Advent Rising, it didn't seem bad at all on a low-mid level on-board graphics machine. I compared it to my Mini and dual-G5 (which, of course, rocked the Mini).
#12
So enough of that. Unity looks very pretty (and I am rather fond of C#) but I'll dig into A7 a bit more as well. I understand your NDA restrictions on the other engines, so I won't pry. The main issue is some of the demos for this products are hard to get hold of full version for. A7's demo isn't complete either.
One last question to anyone who may know: How hard is developing a game with just XNA and VC# 2005, as compared to using Torque, Unity, or A7? MS makes it sound easy, though I doubt that's the case.
04/24/2008 (4:03 pm)
Thanks for taking the time out to respond, David. I know it takes me a while to just write the post, so coming up with in depth answers is even more work. Right now, I'm trying to feel out how the whole dynamic of game engines works now days. I wrote my first game back on a TRS-80 (the little thing with 2 lines on an LCD and you could hold it in your hand) Well, was more of an animation than a real game. But it went from there. Little projects back when 320x200 in 8 bits, and then the mysterious 'Mode X' graphics in 320x240x8! omg! Anyway, even wrote a little 3d wireframe engine myself at one point. But, trying to get back into it now with shaders and all, as well as having to use an engine if you want a nice looking product in this decade, leaves a big learning curve. That, and I've done enough messing with computers that I'm to the point where I just want to focus on the creative aspect and not all those years of vector math and programming in school.So enough of that. Unity looks very pretty (and I am rather fond of C#) but I'll dig into A7 a bit more as well. I understand your NDA restrictions on the other engines, so I won't pry. The main issue is some of the demos for this products are hard to get hold of full version for. A7's demo isn't complete either.
One last question to anyone who may know: How hard is developing a game with just XNA and VC# 2005, as compared to using Torque, Unity, or A7? MS makes it sound easy, though I doubt that's the case.
#13
I had a Trash-80 and a Spectrum! Oy the memories!
04/25/2008 (10:04 am)
With XNA, you basically get a code framework similar to TrueVision3D or Irrlicht, except you get a sweet XBox 360 deployment solution. But you will have to do a lot of heavy C# lifting with XNA. You could look into the NeoAxis engine, though I haven't checked it out in a while.I had a Trash-80 and a Spectrum! Oy the memories!
#14
04/25/2008 (6:19 pm)
If you're not comfortable with C#, or just don't want to learn it, XNA is not the way to go. I like it, but it's much harder than Torque.
#15
04/28/2008 (7:11 am)
Jason's definitely right. You mentioned you liked C#, but you'll be doing more than scripting logic in XNA with it. In Unity, you'll use it in the same manner you would use QuakeC or UnrealScript or TorqueScript. In XNA, you will be writing your game with it using the XNA (and possibly torqueX) framework. Which is similar to using TrueVision3D, except in C# rather than C++.
Torque 3D Owner Cyberkada
Triluminary Design Studios
I gave up on development using A6 due to the in ability to change the source and no multiplayer - even with the 3rd party addon Populace. Between TGE and TGEA, I would go with TGEA, with its Atlas terrain and shaders.