Sign in to follow this  
BrianV

Choosing a game engine for a MMOFPS

Recommended Posts

Hello everyone. I have a game idea in mind, and I am thinking of finally beginning to build it out into something a little more tangible than an idea. So, I am probing for opinions and advice over how to get started with this project. First off, I am new at game programming. While I have a CS degree and fairly extensive applications programming experience, I haven't done game programming previously. Secondly, the project I have in mind is huge. Without a doubt it is overly ambitious given my experience and the amount of 'hobby' time available. It would probably be overambitious given a team of 20 people and a multi-million dollar budget. However, Rome wasn't built in a day, and I don't expect to complete this project in several months or even years - it's more for my own personal gratification and experience than any real expectation of a usable result. So please, read the below with an open mind. Remember that I am a newcomer to game development, and if anything below sounds ridiculous enough to make you laugh, please point out my error! I would appreciate any engine suggestions or topics you suggest I research on in order to begin this project! ----- Disclaimers aside, the idea I have is a kind of massive multiplayer online FPS, similar to what is currently happening at http://www.wwiionline.com. It is not only meant to be an FPS, but to (eventually) allow the player to control aircraft and vehicles as well. I want to have a 'seamless' world - that is, users should never notice a lag or loading time when entering another part of the world. This includes users who will be flying and could conceivably cross large portions of the map in very short time. I also want to have a good physics system for projectiles. That is, projectiles will drop over distance, ricochet, cause realistic splash damage, and also interact with the other models in the environment. Tanks, ships, planes, and even people ideally will be damage-modeled with component parts. ie, a tank that is shot in a certain way by a rocket, rpg, etc. may have it's driver or gunner hit, or just the commander, or may lose it's engine, or an ammunition storage box may be hit blowing the thing sky-high etc. depending on what angle and with what energy the certain part of the model is hit. The graphics capabilities are not mission critical - while I would like something that looks modern and good, I understand it's probably not possible to do still having reasonable hardware demands. given that a user could fly a plane with ground visibility of 100km in each direction on a clear day... could be difficult to render that much ground well at a high level of detail without killing your machine. -- I would like to begin with an existing game engine in order to take advantage of pre-existing work. After all, why reinvent the wheel? Obviously, I understand that there is no existing game engine available that supports all of the above. But is there any that would make a good starting point? Compatability: I want this project to be compatible with Linux, as well as Windows and Mac if possible. I will be developing on Linux. Finally, I would like suggestions of both open-source and closed-source engines that may be appropriate for this. While I would probably love community help with this overly-ambitious project, it could be difficult in the future if this ever turns into something to turn a decent revenue on this project to maintain game servers etc.

Share this post


Link to post
Share on other sites
Sounds like a pretty ambitious project, and since it's a relatively mixed concept (MMO + FPS) then the amount of game engines to work with will be limited, unless you can find an existing MMOFPS engine...

For something so large, I'd recommend you team up with a pretty decent programmer and get a mix of libraries instead of an existing engine, it'll be much easier to tailor it to your specific needs.

I.e: Ogre for graphics, RakNet for networking, Havok for physics, etc.

Share this post


Link to post
Share on other sites
Hi guys, and thanks for the responses so far (Wow you guys are fast!)

Yes, I know that the project is ambitious. However, I should specify that I really don't expect to ever build it. Or if I do, I doubt there is any chance of beginning it within the next few years.

I understand how much I *don't* know. While the described is a long term goal, I expect in the meantime to construct a large number of 'toys' each used in order to focus on learning certain aspects of the game.

ie.,

Phase 1: FPS Engine and moving the camera
Phase 2: Making it huge
Phase 3: Vegetation and in-world models
Phase 4: Player models

etc. etc.

Knowing my past development history... I suspect there will be a lot of 'Build one to throw away'-type implementations along the way.


@deadstar: Yeah, I kind of suspected that would be the kind of suggestion I would recieve. I've looked at 10-15 engines already fairly in-depth, and I figure I would probably need to roll my own. I do have a small hope someone here will be working on or know of something similar to what I am looking for :p

Share this post


Link to post
Share on other sites
While you've jumped straight in the deep end, you've set a pretty realistic time goal for the learning curves ahead (several years).

I did a similar thing, I played around with some simple 2D games for years and got pretty fed up of it. I jumped straight from things like Tetris right into designing a fully-fledged 3D engine, and it's the most rewarding thing I've ever done in my life.

It's taken me about a year so far, and anything I don't understand I simply look it up on the fly.

Books help, books REALLY help. From the start I didn't think there would be much difference between Googling something and spending £20 on a paperback about the subject, but I was very wrong. Engines like UT and the Quake engine have books dedicated to modding, expansion and complete overhauls, while selecting your engine I'd take a look at what books are available on it. Even Ogre has some good paperbacks to go with it.

Not a method I'd recommend to anyone, you really should start from the beginning and make something small, but in my case it's success story.

Hope you have fun making your game.

Share this post


Link to post
Share on other sites
Daedstar - from your description, I think we are a lot more alike than I suspected.

I also have a habit of jumping into the deep end with projects. After all, anything I don't already know, I like to think I have the capacity to figure out, or at least the capacity to find the documentation to help me puzzle through it. While that is probably not the best long-term method of learning, it's gotten me by in the past.

I think I am probably going to try building a toy application with OGRE and rakNet, see where that brings me. Havok looks a little expensive for my budget ($0), so I may be looking at a different physics solution!

Share this post


Link to post
Share on other sites
Take a look at torque or unity for the game engine. I would go with physX for physics. There is also bullet, ode and newton out there. If the budget of 0 is firm then maybe crystal space or ogre for graphics.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this