Game Development Community

A different kind of change to the engine

by David Dougher · in Torque Game Engine · 05/08/2006 (8:48 am) · 2 replies

I am working on a different kind of game and it occurs to me that I need to make a rather unique kind of change to the engine. But before I begin I thought I would see if anyone in the community has tried something similar.

My goal is to host multiple small groups or even single players on the same piece of terrain - however, they will not see or be in contact with anyone except those in their own party. In effect, each mission would serve as an "instance dungeon". So the server will only ghost the actions of those in your party to you and the members of your party. In addition, the server will ignore collisions between anyone not in your party, so if someone were in front of you who is not in your party you would pass through them.

It's obviously more complicated than that, since I need to deal with issues like doors opening etc. but in this game almost all that code can be moved client side and there will be no penalty to gameplay.

To get started I planned on initially eliminating the ghosting of all other characters except yourself to your machine. I would then eliminate all collisions between all individuals. Later I want to modify the changes so that visibility and collisions would be just between you and your party/team members.

I figure the first set of changes should be very, very easy. First, I need to identify the spots where ghosting of the player to the clients happens and second, where collisions between players first occurs. I would prefer to catch the actions server side rather than client side to reduce the bandwidth and allow more players on a single dedicated server.

Seems pretty simple - at least the first part - so has anybody ever tried anything like this? If so, where did you begin and what kind of luck did you have?

About the author

Owner - Pariah Games, Adjunct Professor - Bristol Community College, Mentor - Game Design - Met School Newport, Mentor - Game Design - Met School Providence


#1
05/08/2006 (9:49 am)
I've been working with this before, but it was partly in script.. as you said the first few parts are easy enough, but collision detection wasn't as easy as you might think.. there's alot of issues if you want to use the stock functions like rayCast, containerRadius, etc.

But it's definatly doable.
#2
05/09/2006 (7:58 am)
You play too much Guild Wars... No, wait, thats me! =)

I'd have it like this:

It logs in/connects via TCPObject/mmoTCPObject* to master server.

It is connected to a "District" server when you connect. (One that sees everyone!)

When you go outside, it disconnects from the District server and the leader of the party hosts the game.

Master server checks picked up items, actions, etc, for cheating.

=D

*mmoTCPObject = My Invention, BINARY TCPObject.