Advertisement

Questions about choosing the right APIs for a unique project...

Started by August 26, 2012 05:05 AM
2 comments, last by 6677 12 years, 3 months ago
Hey all, been a while since I have posted on here.

I am looking to start a new project, and like so many others I have no idea what tech to base my project on.

I'm thinking I would prefer to use c++ libraries / engines so that I can deploy on as many platforms as possible (Linux/Mac/Windows are the big ones).

The game's tech features that I have decided are definite:

  • Procedural worlds, not just levels but entire worlds. Not as big as earth, but I want more than just 50km². Somewhere above 500km² would be more appropriate. They would also be persistent on the Servers.
  • Networking: Client\Server - pretty standard stuff, nothing world changing
  • 3d Graphics - OpenGL or DirectX again pretty standard.
  • Physics - Bullet or something like that, again standard.
  • Huge Numbers of Simple AI (Something capable of hordes of zombies or animals, synchronised over a network).

    Should I work on getting lots of libraries together to make an engine that can support a networked massive procedural world? or does an engine already exist that supports all of these things and I just suck at doing research?

    I have made some pretty simple engines in XNA with procedural generation, and this is the next step I suppose. I'm also pretty comfortable with c++, but not fluent in all of its concepts. is this even a realistic goal for me to set?

    Is there a pay off of building an engine from existing libraries? I understand it to be more work for the same results currently.

    I have looked at a few open source projects and the ones that really took my interest so far were

    • Ogre3d
    • Bullet Physics
    • Grit (OpenSource massive world engine for making sandbox games)
    • Torque 3D ( not really suited, but I already own a license with source access)

      Do any of these sound like they would be a good starting point for a project like this. I'm not sure what my game play will be like, however things like super advanced AI aren't going to be needed. (The gameplay will have large hordes of very simplistic AI, think Zergilings)
      I also understand this is a huge undertaking, but programming these sorts of things is a hobby of mine I want to get serious about.

      Any feedback is appreciated, and sorry if this question/post is a little vague.

      Thanks
What sort of gameplay are we talking here, sounds like an MMO of some sort to me in which case you'll need to take dedicated server hosting into account, for development a home PC accessed over LAN will probably suffice.

Ogre3d as a cross platform graphics engine should have you set-up nicely. Its very capable, seen alot of AAA quality demo's done in it (of course you'll need AAA quality assets for that). I think it can provide sound playback etc aswell.<p>Bullet can be hardware accelerated on systems supporting openCL (any GPU which isnt totally obsolete) or CUDA (any NVidia GTX4xx or above). Its meant to be a pretty decent physics engine, I've seen a tech demo of it being used with Ogre befo
Advertisement

What sort of gameplay are we talking here, sounds like an MMO of some sort to me in which case you'll need to take dedicated server hosting into account, for development a home PC accessed over LAN will probably suffice.


It's not going to be an mmo, but it will be an online only game (servers of around 50 players seems to be the number to aim for).

It's going to be a coop exploration/survival game, but other than that I don't really know how its going to play. I decided to get some procedural environments and engine basics set up first so i can decide what sort of gameplay feels best for what i get done.

Do you know of any engines that seem to be capable of this without me having to integrate all these different libraries? I have integrated some basic libraries into an XNA Engine i made before such as LIbNoise and C#SynthProject, but this is new territory for me.
Obviously XNA will limit you to windows when you mentioned mac and linux as target platforms. Monogame is incredibly similar to XNA but is compatible with the mono project aswell as the .net framework so you can simultaneously target mac, windows and linux. Monogame has some networking and audio libraries built in all ready. A full physics engine is not included, I believe http://jitter-physics.com/wordpress/ is one of the few that does work on mono. Monogame + some sort of physics should cover you for mac, windows and linux straight away.

https://github.com/mono/MonoGame/wiki
https://github.com/mono/MonoGame/wiki/Tutorials

50 players shouldn't be too much work for a home machine to be able to host.

This topic is closed to new replies.

Advertisement