Saturday, September 8, 2012

(part of) a planet (sort of)


A quick video for real-time planet surface generation:


It is a random midpoint displacement fractal. It has issues at the edges; I'll be fixing that soon.

Tuesday, May 29, 2012

Old-style enemy sprites






After adding some basic lighting to the maze, I decided to add a simple sprite-based enemy.  I decided to photograph an Aliens action figure from different angles.  The famous game DOOM used scanned photos of clay models, so it a proven, but old, technique. (Reference)



Here's a short video:


Mazes

Indoor Mazes. 




















Very limited at the moment.

  • Only 1 texture (supporting different texture per block is somewhat trivial)
  • 2D maze layout on a grid (like Wolfenstein 3D/ Ken's Labyrinth)
  • Has floors and ceilings (Hey Wolf3d didn't!)
Needs:
  • Differing height for floor/ceiling (like  Rise of the Triad has)
  • Allow diagonal walls (like Doom/ Duke 3D)
  • Allow Rooms on top of room (like Descent/Quake)
  • Specify height map per floor/ceiling/wall with different level-of-detail
    • From far away, the floor/ceiling is still just a quad
    • From a medium distance, floor/walls/etc can be swapped out for a mesh
    • At really close range, maybe the floors and walls behave more like a terrain engine
  • Evil things to shoot (mostly sprites)






 Part 2 of the 3 simple frameworks the game projects needsThere are 3, in level of difficulty:

1. In space:  Fly around in mostly-a-vacuum.  There are other objects to track and draw, like asteroids, ships, planets, etc.  The tricky part here is just basic rendering and camera movement.



2. Inside:  Mazes for inside of space stations, buildings located on planets/moons, tunnels inside giant asteroids, etc  The trick isn't drawing stuff, it's determining what parts of the maze currently can't be seen, and ignoring those parts.  If this is done right the maze can be 'infinitely' large, because only a small amount of the maze can be seen at a time.



3. Terrain:  Mountains, etc for the surfaces of planets and moons. The trick here is drawing miles and miles of sharply detailed stuff by drawing the close-range stuff in super-high detail and drawing the far away stuff in very crappy detail.

Tuesday, March 20, 2012

sound effects

So this last weekend I decided to play around with OpenAL. It's a sound library with an API that's pretty similar to OpenGL. That is, if it's possible for sound operations to be similar to graphics operations.

I've abstracted the details of OpenAL away from the rest of the system by writing a little library that goes on top. The graphics subsystem of this game is already called 'gx', so I'm calling the sound system 'sx.'

sx can't do a lot yet; It can play stereo and mono sounds at different volume levels, with or without echo. This should be enough for my space game. (Yes, there's no sound in space, but its boring without it!)