   Major Project Engine Choice
  I'm currently doing a games programming degree at Qantm in Sydney, Australia. I'm really loving it so far and am looking forward to our major project which is coming up next trimester. Basically we will have two trimesters (24 weeks roughly) to make a game, as our major project. We would like to be able to port our game to iPhone after it is completed without too much hassle, initially we will be targeting PC. Our team will consist of two programmers, two designers and two artists.We are currently wondering which engine to use that best shows off our skills as programmers, in the hopes of having a nice portfolio piece at the end of major project, but also something that allows the designers to actually help out with development, and something that supports a nice asset workflow.So our current thoughts are to use one of the following engines or APIs with some of the advantages/disadvantages I can see to using them:Ogre 3D - Open source, allows us to exercise our C++ and game architecting muscles, time consuming, lower level, only rendering engine need to incorporate other APIsUnity 3D - C# or &#106avascript scripting to objects only, no programming muscle flexing?, everything provided out of the box, costs moneyPanda 3D - Open source, forced to use Python scripting (I think, I see learning Python scripting as a plus), has alot of components available out of the box ie, networking, physics etcTorque 3D - Binary version costs $100, not sure if we're forced to use TorqueScript with binary version or whether we can code in C++, world editor and gui editor + other tools out of the boxGamebryo - Might be educational only license, seems to have alot of components out of the box, not too much information on this one actuallyXNA - Possibly could consider using this, but to be honest haven't given it a good looking atApologies for the wall of text, but basically I'm looking for some experienced people to give me a little insight and direction, or atleast an opinion on which would be the best sort of path to go down. Remembering that I want to further my programming skills and whilst doing a game in a higher level API would let us script and get a game up quicker, is this really showing off our skills and getting us ready for the industry? Or is getting a good game together, even if it is scripted, more important as an aspiring programmer?   
  Moving to "For Beginners," where this question is answered a dozen times every day. Recommendation: "View Forum FAQ" (above).   ;  Your choice of engines or kits depends on your specs.For example...Quote:We would like to be able to port our game to iPhone after it is completedNew iPhone license forbids metaplatforms such as Flash, Unity, etc.'least that's most people's interpretation.You might have to do portability the old fashioned way; write it C++ or Objective-C, keeping the low level bits abstracted away a little from your code. On the PC you can use a gaming library like SFML or SDL and when you do iPhone you'll just have to hit the books and rewrite some parts.Consider OpenGL, Objective-C and GNUStep.MinGW provides a port of the GNU Objective-C compiler for Windows.And there's your answer, assuming your specification of PC first then "portability" to iPhone.You've got two programmers. You can do it.Or chicken out and drop that spec, whatever.[Edited by - JoeCooper on April 14, 2010 11:53:40 AM];Quote:Original post by JoeCooperQuote:We would like to be able to port our game to iPhone after it is completedNo metaplatforms on the iPhone according to the new license.'least that's most people's interpretation.Unity seems to think they are in the clear since they compile their code directly to ARM assembly.Given your list Unity and Torque are really the only ones to do PC/iPhone.  But given recent events neither one of those might be on the iPhone for much longer.  Coding it all in C++ then abstracting the graphics layer away in OpenGL is probably going to be your safest bet.Gamebryo is tens of thousands of dollars so that is out and XNA is C# so since MonoTouch has gotten the axe you would have to completely rewrite the game to C++/Obj-C for the iPhone port.;  The latest version of Ogre3D supports the iPhone/Touch(/Pad? Probably) so that is probably your option to go for if you want to do your best to avoid problems with Apple's new AppStore rules. As you say though, it is not a game engine but many community wrappers exist for popular physics engines etc.If that bothers you and you're willing to take a little risk on the iPhone front then I'd say Unity is your best choice. The PC version is free so you'll only be wasting time and not money if it turns out Unity is no longer allowed on iPhone.   ;  XNA isn't an engine.Perhaps Ogre3D in conjunction with an audio engine, perhaps a physics library and whatever other components you need would be your best bet?   ;  Check out the C4 engine.It's the most reviewed engine on DevMasters :: http://www.devmaster.net/engines/engine_details.php?id=42   ;  I will definately be keeping an eye on the new App Store rules, to see if Unity and Torque are banned or not because in the end they compile on XCode (right?).Ogre3D is probably the most appealing at this early stage from the point of view of us programmers, that is we will learn alot about C++ game architecture. But it will also be alot more work to get things up and running. Like I said because this is rendering only and we'll need to implement the other components.Plus Ogre3D has no level editor or any real tools that we could use.Do you think this is a good choice, understanding we will have no tools for designers to use? If we did use something really high level like Unity 3D hypothetically, how is this looked upon by hirers in regard to programmers?;Quote:Original post by reapzPanda 3D - Open source, forced to use Python scripting (I think, I see learning Python scripting as a plus), has alot of components available out of the box ie, networking, physics etcYou can use C++ for Panda 3DSee here: http://www.panda3d.org/wiki/index.php/Starting_Panda3D;Quote:Do you think this is a good choice, understanding we will have no tools for designers to use?Yes, you will have tools because you're programmers and your tools include RAD kits.You can also look at tools that don't come neatly prepackaged with your kit because, again, you're programmers and you can write export plugins & file readers if you so please.Making tools is an important part of game development.[Edited by - JoeCooper on April 14, 2010 6:40:45 PM]