Game engines

Posted by colseed on Jan. 15, 2011, 4:31 p.m.

So I've been trying to figure out what would be good to use for this 3D game I'm making…

The game is planned to be a multiplayer combination FPS/RTS - players carry out the strategy parts on a world map, but then can go into smaller first/third-person shooter matches in which they fight for control of the localized map.

Complicated? Probably. Difficult to the point where I won't finish? Maybe, but I want to try anyway. :P

That said, I've been considering a few different engines/languages/what-have-you to use (looking for good performance over good graphics):

Blender/Python

Pros:

- I'm already making all the models in Blender.

- I love Blender. Plus Python is nice.

Cons:

- Potential performance issues with scalability, networking - I don't know how big I can make a map before it gets too slow to run. Also, I've seen at least a few small-scale attempts at networking, but I don't know how well it'll handle on larger scale. (By "large" scale, I mean 16-32 players. Or something like that.)

Unity 3

Pros:

- It seems to perform nicely.

Cons:

- The usual closed-source stuff (watermark, some features not available, etc.). Also I don't really trust Unity yet (maybe because I just started looking at it a few days ago…)

- Possible performance issues with scalability and networking, blah blah blah.

Source SDK

Pros:

- Valve!

- It's proven to work nicely for decent-sized multiplayer and such (Counterstrike, Half Life 2, etc.)

Cons:

- Time, work, etc.

Ogre3D/C++

Pros:

- I know C++ already, and this'll most likely work.

Cons:

- This might take a while.

- I get the feeling I'm going to have to do a lot of coding from ground-up. : (

My question to y'all is - what do you think will work best?

Any suggestions you have (whether they be on the above list or not) are greatly appreciated.

(Bravo if you read all that by the way. :D)

ON NEARLY COMPLETELY UNRELATED SUBJECTS

- I bought Minecraft yesterday. Very fun.

Though a spider jumped into my shelter and hit me in the face before I had time to make a door…it was a bit of a surprise.

Then there were the spiders that kept camping over my front door. >_<

- YouTube video that actually motivated me to do game-making work:

It happens sometimes. :P

Comments

JID 13 years, 11 months ago

It would take a quite a bit of work in GM, but I think it is very possible to achieve this.

If you're doing about 16 players on one map. I'd say, make it so there are 4 squads of 4, all assigned to 4 different parts of the map.

And when you are in RTS style of play, only draw the 3d models depending on the z of the camera or something.

So what I mean is, the further you zoom in on a certain place, the more detail you can see.

And if you are playing as one squad in FPS style, don't draw the other squads and other places where the player shouldn't see.

I don't feel like saying more right now. I'm getting lazy. :P

Oh and you should try joining our Minecraft server. :D

colseed 13 years, 11 months ago

Hm…interesting point that.

I did start off programming the game in GM (when I was making it to be 2D).

Who do I go to to get on the Minecraft server whitelist again?

Or…well, I'm kind of guessing since I don't actually know how it works. XP

JID 13 years, 11 months ago

Stevenup. I think there are a few other people who can. But Steven added me to the whitelist.

Also, about the game performance, I think I have another thing that could work.

Say if a 3d object is behind a wall in FPS view, you could make them not be drawn.

I think this could work if a 3d object is under a tree or something in RTS view too.

Zarniwooop 13 years, 11 months ago

Doesn't GM do that automatically?

Scott_AW 13 years, 11 months ago

What about the Unreal engine or some other engine with scripting involved?

You can use the Build, with Eduke32 for some very extensive scripting, and its open source. But of course its a legacy engine and the advanced renderer polymer is quite finished.

I'm not sure about any other engines that would let you easily script what you need for those type of games besides ones that you've mentioned.

You can use GLBasic as its quick to work with, but then like you said, you'd have to code from the ground up.

Depends on how much customization control you'll need. If its just scripts and AI, try Eduke, Unreal, maybe Doom3's engine, or Source. Those other options you'll have to start from scratch or possibly find some examples and tutorials to get started.

JID 13 years, 11 months ago

@Zarniwoop

GM only draws 3d objects that are inside of your view. Even if they are behind another object.

So if something is outside your field of vision, it doesn't draw it.

Say if a 3d object is on your right and you are looking left, THEN it doesn't draw that object.

What I'm suggesting is that if something is behind an object, even if you're looking in that direction, don't draw it.

Zarniwooop 13 years, 11 months ago

What I meant was that GM does only draw the point with the smallest z value depending of your view position.

I checked GM's manual and found this:

Quote: GM Manual
Starting 3D mode will result in the following changes. First of all hidden surface removal is switched on (using a 16-bit z-buffer). This means that for each pixel on the screen only the drawing with the smallest z-value (= depth value) is drawn. If instances have the same depth it is unclear what will happen and you can get ugly effects. Make sure instances that might overlap do not have the same depth value!

JID 13 years, 11 months ago

I think we are talking about two different things.

What I'm talking about is that the farther that you zoom out from a 3d object, the less polygons they should have, and if you zoom out too much, they will no longer become visible.

The Avatrol 13 years, 11 months ago

Download the Game Maker Ogre 3d wrapper. It's capable of achieving some nice things graphically at this point and you'll still be able to (partially) work in an environment you are used to.

Honestly, if you're good enough and you think you will actually have the motivation doing it in C++, then just download the regular Ogre SDK, but that's up for you to decide. :)

Mordi 13 years, 11 months ago

There's also XNA.