Hey all,
I wrote my first networked program this weekend, a 3D chatroom using TCP. It's not exactly a game, more like a skatepark for triangles with chat. To run the client you need blender 2.49.
The client can be downloaded from here:
http://www.terrasirenum.com/blendserve0.2.zip Secondly, a multiplayer game idea I've had for years is starting to solidify that I want to share.
The original idea was crew perspective spaceship combat. Just like all those sci fi shows where the captain is sitting in the bridge barking orders and electrical explosions are killing the extras in the background.
You could walk around the whole ship, take elevators, access consoles hooked up to different systems, man weapons.
A large ship would need a human crew to be efficient enough to justify the cost. Terminal access is split up depending on the type of ship, to differentiate the amount of players needed to fly a battlecruiser vs a single man fighter.
Recently, the idea has been evolving from match-up combat to a persistent world. I'm not thinking of a 'massive' game, more like a 3D MUD.
Players build their ships from basic module parts. The in game objects are just representation of python objects on the server. At the simplest, a spaceship is a box you can sit in with an engine hooked up to a button. The box is the root object and has a function to calculate the combined mass of everything attached. The engine has a function to pass force to the root object based on its angle. The button checks it's user defined id against every object and activates the engine.
Here is an example i brainstormed in python
Class liquid_container: # fuel tank
def __init__(self, weight, capacity):
self.scale = scale
self.material = "STEEL"
self.capacity = capacity
self.contents = {}
self.integrity = 100
def fill(self, material, amount):
if material.state = "LIQUID" and self.contents:
self.contents[material.type] += amount
def damage(self, amount, type):
self.integrity -= amount
if self.integrity <= 0:
if Reactive(self.contents, type):
SpawnEffect(self.contents, type)
The fuel container has allready inherited from a line up to the base object class. In game a large fuel tank and a gallon of milk could be filled with explosive fuel or milk
My thinking is that designing the game this way will actually simplify my job. For instance, I don't have to program space piracy, just airlocks and a way to kill people. Just by making an airlock I've opened up all sorts of features, and I don't even need to know what they will be.
Input and ideas appreciated, thanks!