   MMORTS, Need to choose 3d graphic engine
  Hi all,My previous project was a browser based MMORPG which was very successful, I'm currently moving on to my next project, a MMORTS (Multiplayer Real Time Strategy Game).I think I'll choose C++ as the programming language of both the client and the server - I want it to be as reliable and fast as possible. The client should run on Windows and the server should run on Linux. (Any comments on this issue?)The game's world should hold up to 5000 players on a huge MAP. Regarding the client, it should use 3D graphics that resembles Starcraft or C&C. I know I'm about to face a lot of challenges so I thought I would ask for help from someone with experience.1. Can you list games that are of this genere? What is their business model?2. Any suggestion for ready-to-use networking libraries? How reliable are they? who uses them?3. Any suggestion on a 3D engine that fits my requirements? I need something that is well known with well based tools to work with. I prefer an engine with a low cost developer license or even a free one. I'm willing to pay $ for a commerical license (are there any pitfalls?)4. Can you provide links to some articles on desiging MMORTS?Also, I'm looking for someone to guide me through, contact me if you are interested.Thanks in advance,Guy.   
Quote:I think I'll choose C++ as the programming language of both the client and the server - I want it to be as reliable and fast as possible. The client should run on Windows and the server should run on Linux. (Any comments on this issue?)This should not be a problem.Quote:The game's world should hold up to 5000 players on a huge MAP. Regarding the client, it should use 3D graphics that resembles Starcraft or C&C. I know I'm about to face a lot of challenges so I thought I would ask for help from someone with experience.Could you be more precise about what your game would look like ? I mean, realtime strategy like Starcraft or realtime strategy like Galaxy Wars ? The first one is more action packed where each player controls dozent of units in "realtime" and have to react very fast. The latter one is more about strategic decisions, where the player gives a command which will be executed in "realtime" , which could be a few hours.Quote:3. Any suggestion on a 3D engine that fits my requirements? I need something that is well known with well based tools to work with. I prefer an engine with a low cost developer license or even a free one. I'm willing to pay $ for a commerical license (are there any pitfalls?)Most standard engines will do. The free one like ogre3d or irrlicht, or (semi) free/commercial like UDK or unity. Though most engines don't target RTS games, so you need to tweak/mod them.   ;  Hi Ashaman,Quote:Could you be more precise about what your game would look like ? I mean, realtime strategy like Starcraft or realtime strategy like Galaxy Wars ? The first one is more action packed where each player controls dozent of units in "realtime" and have to react very fast. The latter one is more about strategic decisions, where the player gives a command which will be executed in "realtime" , which could be a few hours.The game is going to be much like starcraft, many actions can be done simultaneously but actions will be limited by energy so the player will be effective when his unit's total energy is fully regained (max playing time will be set around 4-6 hours per day).I tought about a dynamic model where worker servers are handling different regions of the map (the part of the map is dynamic and can grow bigger or smaller using a statistic mechanism that counts the number of actions players makes on that region).Quote:Most standard engines will do. The free one like ogre3d or irrlicht, or (semi) free/commercial like UDK or unity. Though most engines don't target RTS games, so you need to tweak/mod them.I'm really looking for a finalized solution (with a robust editor and tools) and I need a Royalty free license. Torque3D seems cool but I can't tell how much they ask for their unlimited license, I've asked them and I'm waiting for replay.I've looked on ogre3d, they are using mercurial so I can tell they are proffesionals :) It uses directx9 which is a bit out of date.I'm willing to spend around $3000-$5000 for an unlimited license (except from reselling) for a really robust engine and editor.   ;  From my experience Torque is not good. I would suggest using Unity, it is really robust and easy to use, with a great editor. Ogre is only a graphics engine, but there are several libraries for collisions, gui, networking that go along well with it.   ;Quote:Original post by ArKano22From my experience Torque is not good. I would suggest using Unity, it is really robust and easy to use, with a great editor. Ogre is only a graphics engine, but there are several libraries for collisions, gui, networking that go along well with it.I've download a few demos and I wasn't fascinated by the graphics and gameplay.Also, I need to make some adjustments to the engine for RTS, I'm not sure unity is the best choice for me - altough it is very well established...Torque's demos wasn't good either... I really liked ogre :) but I'm not aware of an editor.;Quote:I'm really looking for a finalized solution (with a robust editor and tools) and I need a Royalty free license. Torque3D seems cool but I can't tell how much they ask for their unlimited license, I've asked them and I'm waiting for replay.I've looked on ogre3d, they are using mercurial so I can tell they are proffesionals :) It uses directx9 which is a bit out of date.I'm willing to spend around $3000-$5000 for an unlimited license (except from reselling) for a really robust engine and editor.For a royal free license and only $5000 I would target a free open source engine (udk full license should be around $750.000, the other hi-end engines like crytek and idtech will not differ much, I fear).Quote:I've download a few demos and I wasn't fascinated by the graphics and gameplay.Also, I need to make some adjustments to the engine for RTS, I'm not sure unity is the best choice for me - altough it is very well established...Graphics and gameplay is up to you. Don't let yourself be blinded by nice artwork. The artwork you see in engine demos (often games like god of war or crysis), as kind of advertisement, costs a lot of money, for $5000 you will be able to buy a fully animated leg of a main character ;-)As an advice: start with a good and easy to use engine like udk, even if it is not royal free. Once you have a running game, you can always choose to change the engine. Either you will spent lot of time to get a free engine with many shortcoming running (missing tools etc.) or you can choose to setup a game with a really good engine and can choose to spent some time later changing the underlying engine !Games like natural selection 2 choose the latter way of development.Quote:The game's world should hold up to 5000 players on a huge MAP. Regarding the client, it should use 3D graphics that resembles Starcraft or C&C. I know I'm about to face a lot of challenges ..... yes, you are :) But good luck.;  Ashaman, good insights LOL :)Quote:As an advice: start with a good and easy to use engine like udk, even if it is not royal free. Once you have a running game, you can always choose to change the engine. Either you will spent lot of time to get a free engine with many shortcoming running (missing tools etc.) or you can choose to setup a game with a really good engine and can choose to spent some time later changing the underlying engine !Cool, thanks for the tip - I'll consider this option.I can say that I'm really making baby steps in this world. I have something like 7 books I want to read on this subject before even thinking on starting out. In the meanwhile, I'm just designing the game itself.On a second look, OGRE seems very attractive. Torchlight is a commercial game based on it with some really nice graphics!I understood that OGRE doesn't include a physics engine. Can you tell me what does it means? Also what are the basic components needed for a game engine? what OGRE supports and what do I have to complete?Also, what are the tools that goes along with OGRE? if there are any...Guy.   ;Quote:I understood that OGRE doesn't include a physics engine. Can you tell me what does it means?It means that OGRE does not take care of physically simulating the in-game objects for you. You can think of a physics engine as a kind of animation engine. It makes objects fall when dropped from mid-air, it allows you to set properties such as mass and friction to your objects and usually also takes care of collision detection between the objects. OGRE supports animation of in-game models such as characters, but if you want a physical simulation you have to plug in a physics engine and have it tell OGRE where the objects are to be drawn. Bullet and ODE are two examples of such engines, and IIRC they both have bindings to OGRE. However, I'm not really sure if you need ridig body dynamics in an RTS, so you might be better off coding the physics yourself.Quote:Also what are the basic components needed for a game engine? what OGRE supports and what do I have to complete?Also, what are the tools that goes along with OGRE? if there are any...Guy.OGRE is a 3D rendering engine, and it does just that, nothing more. What other components you want to include in your game really depends on the game you want to make. Most games need some sort of audio engine, a way to capture input from the mouse/keyboard/other input devices, some GUI components etc. Also your project sounds like it will need sophisticated networking, so perhaps a library like RakNet would be in order...?I have used OGRE in my personal projects and I have usually written the editors myself. There is no "world editor" or similar all-in-one solution for OGRE-based apps. If you want one of these you should look into something like Unity or NeoAxis (which is based on OGRE).;Quote:Original post by ByronManCool, thanks for the tip - I'll consider this option.I can say that I'm really making baby steps in this world. I have something like 7 books I want to read on this subject before even thinking on starting out. In the meanwhile, I'm just designing the game itself.Baby steps are the right way to go. Even if you have your final goal try to subdivide it into smaller milestones. In your case 1. milestone: get a few units moving, fighting around, some basic ai, small terrain only2. milestone: refine and tweak the way the player is able to create and control units. 3. milestone: add multiplayer capacity for 2-8 players.4. milestone: be happy !5. milestone: revisit original game design and change it where necessaryQuote:On a second look, OGRE seems very attractive. Torchlight is a commercial game based on it with some really nice graphics!I understood that OGRE doesn't include a physics engine. Can you tell me what does it means? Also what are the basic components needed for a game engine? what OGRE supports and what do I have to complete?Also, what are the tools that goes along with OGRE? if there are any...GuyWithBeard already told everything. I have to second his opinion about a physics engine in a rts game. A simple 2d , circle based collistion detection should be enough for the start. If it get too messy, you can always go for a physics engine. But be careful, a physics engine does lot of things not really necessary in a rts game, but which will costs a lot of performance.;Quote:Baby steps are the right way to go. Even if you have your final goal try to subdivide it into smaller milestones. In your case1. milestone: get a few units moving, fighting around, some basic ai, small terrain only2. milestone: refine and tweak the way the player is able to create and control units.3. milestone: add multiplayer capacity for 2-8 players.4. milestone: be happy !5. milestone: revisit original game design and change it where necessaryLOL. I guess it all breaks down really nicely, all the components (graphics, physics, networking) is within reach... it even make me more confident that I'll succeed!Quote:It means that OGRE does not take care of physically simulating the in-game objects for you. You can think of a physics engine as a kind of animation engine. It makes objects fall when dropped from mid-air, it allows you to set properties such as mass and friction to your objects and usually also takes care of collision detection between the objects. OGRE supports animation of in-game models such as characters, but if you want a physical simulation you have to plug in a physics engine and have it tell OGRE where the objects are to be drawn. Bullet and ODE are two examples of such engines, and IIRC they both have bindings to OGRE. However, I'm not really sure if you need ridig body dynamics in an RTS, so you might be better off coding the physics yourself.I guess I need a little bit more than 2d collision detection but definitely not rigid body support. ODE looks really nice/professional, I'll have to do some research or maybe steal some design ideas out of it (it's time to use SourceInsight) for my own RTS physics engine ;)Quote:... Also your project sounds like it will need sophisticated networking, so perhaps a library like RakNet would be in order...?RakNet might be useful, it takes care of the connectivity issues... I'm not sure what "multiplayer" features it has.Quote:I have used OGRE in my personal projects and I have usually written the editors myself. There is no "world editor" or similar all-in-one solution for OGRE-based apps. If you want one of these you should look into something like Unity or NeoAxis (which is based on OGRE).NeoAxis looks really good, it is a bit expensive comparing to torque/unity but definitely not a blocker.Thanks guys, you helped me a lot, now I really know what to look for when I'll start this project. In case you have a link to your projects I'll be happy to see what you have done!Guy   