Xenogeddon (AKA "Space Hulk")

Okay, I realise that I'm probably the last person here to start writing a 3D Space Hulk game, but what the hell, very few seem to be finished or available that I know of.  I've only been developing it for a couple of weeks, so it's far from complete but is looking a lot better than I dared hope for.

I think it looks good, however I am not familiar with what a "space hulk" game entails.

Space Hulk = Space Marines + Aliens  }:-@

I think KevGlass has a similar project running ?

That's right, but AFAIK nothing has been released (and it's been a bit quiet for almost a year now).  I think his game stuck more to the original game as well, whereas mine is more straight FPS.

the lighting is pretty cool (as in scary) if there is a gene-stealer rushing towards me in a dark corridor I will **** my pants

Something like this hopefully? :slight_smile:

It's now available via Subversion at "svn://onlinegameplanner.no-ip.org/Xenogeddon".

It's now available for download at http://nologinrequired.no-ip.org/Xenogeddon.zip.  All comments welcome!


thats cool  :slight_smile:

I noticed, you can get stuck in walls if you run straight into them, turn a bit (45

It's taken me a while to work out why, and it seems to be because the bounding box around the players "cylinder" expands and contracts as the cylinder rotates.  No idea why it should do this, as a cylinder doesn't change when it's rotated along the axis.

as a cylinder doesn't change when it's rotated along the axis.

But it's a box (of the bounding variety granted, but still a box at heart).

Does that mean that for the purposes of calculating the size of the bounding box, JME treats the cylinder as a cube (which, when rotated, increases its extents)?

Yes bounding volumes usually take the form of simple shapes such as box or sphere, sized to fit as close as possible around the complex shape.

Thanks, that explains a lot of the problems I've been having.  :slight_smile:

Update!  I've just released v0.2, which fixes the wall-sticking bug, and adds a few more features including sfx.  There's also a basic website: http://www.onlinegameplanner.com/games/xenogeddon.cls .  All comments welcome!

How did you create these levels?

They are randomly generated each time, if you mean the layout.  (BTW, if you're running a version prior to 0.3, I'd get the newer version since I improved the map gen algorythm to avoid sideways doors and other anomalies…).

How are you doing it procedurally? Perhaps just a bit of psuedo-code or a general explanation of your appraoch?

Nothing too complex.  The pseudo-code might look something like this:-

Create blank array 40 x 40

Loop 9 times (for 9 rooms)

  Generate random coords and room size (and store these for later)

  Check there is no room at those coords

      if not, store the room in the array

  if we're doing room no. 1, make this the players start location

  if we're doing room no. 9, store the mission objective here

Loop 9 times again

  Get the co-ords of two random rooms

  Create a corridor along the x between the two rooms

  Create a corridor along the y between the two rooms

Next, using A*, check that rooms 1 and 9 are connected.  If not, redo from start (though this rarely happens).

That's all.  Let me know if any bit doesn't make sense.  There's probably better ways to do it, but it works for me!