Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Check out my first networked game and help brainstorm my second.  (Read 815 times)

jplur

  • Bay Watcher
    • View Profile
    • http://www.parker-portfolio.com

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
Code: [Select]
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!






Logged
I ended up finding out you can speed up pregnancies by changing the mother to a cat to knock them up and changing back before labor

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: Check out my first networked game and help brainstorm my second.
« Reply #1 on: January 26, 2010, 07:40:43 pm »

I read it, and I like it.

This screams procedural to me.
Do it Jplur.
Make it happen.

Also, I'd just mod CS or GMod to do this,
then just make these standard vehicles chosen by build menu,
 and have one pilot seat.
The person who does the best in each game
 spawns next to the pilot chair in the next game,
 giving him the decision of who drives the ship next (probably himself).

Or just do the whole thing from scratch and use modules.

Sorry, I was just thinking expediently,
 since I like the concept a ton,
 and want to play it soon.
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

Armok

  • Bay Watcher
  • God of Blood
    • View Profile
Re: Check out my first networked game and help brainstorm my second.
« Reply #2 on: January 27, 2010, 01:55:14 pm »

The concept sound awesome, but I'm sceptical to if someone random can manage to pull it of in a satisfactory way alone.
Logged
So says Armok, God of blood.
Sszsszssoo...
Sszsszssaaayysss...
III...

jplur

  • Bay Watcher
    • View Profile
    • http://www.parker-portfolio.com
Re: Check out my first networked game and help brainstorm my second.
« Reply #3 on: January 28, 2010, 07:22:53 pm »

Concept image:
Spoiler (click to show/hide)
Just some rough building blocks.  The compartments have to snap together, but I'm thinking I can have radial design blocks that snap to the grid every 90o.

I'm still trying to think through ideas. These are the features I'm certain on.

  • Building modular ships from scratch
  • First person view (with the exception of a 'factory' view where you maneuver heavy ship nodes into place)
  • No forced game mechanics.  No RPG stats, levels, or NPCs.  No hard coded currency system or 'inventory' to store items.

@ Orange, yeah not sure about the engine I would use for the client.  CS you mean crystal space?

@ Armok, I'll definitely pull something off, lets just hope it's 'satisfactory'

Thanks for the input

Logged
I ended up finding out you can speed up pregnancies by changing the mother to a cat to knock them up and changing back before labor