Gauntlets of Recursion (+3)

Times, trials, and turbulence.

The spiel on “Cyberspawn”.

The Game

Hoy, it’s certainly been a while since my last update. There’s plenty to talk about, although it’s in a little bit of a different direction than usual.

I have a keen interest in software rendering, as several of my side projects have hopefully shown. A few weeks ago I was toying around with a particular algorithm for raycasting, sheerly for the spontaneous fun of it. Weeks passed by, and I found myself still steadily working on it, rather than Skirmish.

cs_img2.PNG

(The first phase of the renderer — no bells or whistles.)

The first step was to get the thing actually drawing. The idea was to adopt a Wolfenstein 3D sort of map format — insofar that it is tile-based — but allow for variable-height floors and ceilings, in addition to everything being textured. Getting this rendering fast has been a really interesting challenge.

Next up was getting in some better textures. I opted for the set that Dean drew from a project a few years back, which fit the theme I was going for perfectly.

cs_img3.PNG

The world was looking overly too bright and bare, so fog and sprites came next. The fog can be set to any colour, or fade distance, and the sprites can be scaled to any size and support animations.

cs_img4.PNG

(You don’t won’t want to mess with the Cyberpolice.)

Dean was nice enough to draw two neat characters for me (one human and one bot), and is slowly pushing towards getting one of them fully animated.

cs_img5.PNG

(Open sesame!)

Next came the implementation of what I’m currently calling “mask walls”, which are essentially optional wall textures that can be on any of the 4 sides of any tiles that fit between the floor and ceiling of that tile. They support z-buffering and colour masking, so their purpose is to act as things like doors, steel bars, grating, or other semi-see-through-able walls. Door logic isn’t implemented yet, so the above is really just a hard-coded mock-up item. šŸ™‚

cs_img6.PNG

(Dynamic lighting.)

The last graphical addition was a simple form of lighting, whereas each tile can be given a colour to modulate its textures by. Most lighting will likely be static, but I couldn’t resist adding this because of the neat benefits such as having energy-based projectiles or explosions that light up the surrounding area.

The Info

Cyberspawn, as the name may hint at, is to be a cyberpunk themed game. If you read over my entry a while back about my once-project Gloom, virtually everything from that applies to this project. The idea is a first-person game that explores an interesting cyberpunk world, and gives the player plenty of ways to approach the way the game is to be played.

Cyberspawn is, for the time being, taking the place of Skirmish as my primary project. I’ve felt more than a little burned out on the overhead shooter genre, which I think is understandable given my history of developed games. I’m jumping at this chance because it gives me a chance to do more work in software rendering, and finally an opportunity to work on components of game development my other games are rather devoid of, such as storyline and deeper gameplay. I think it will be a very interesting game to work on.

The Demo

I packaged a small ‘demo’ of what I have so far, which isn’t too much by some standards, but certainly a solid start. Most of the player physics are implemented, allowing for running, jumping, and full collisions with the map.

Optimization is still a work-in-progress, so don’t be surprised if you get a less-than-splendid framerate. I manage a mere 60 on my 3.0ghz machine, but your mileage may vary. Framerate independent timing has been implemented, so it shouldn’t feel too sluggish for anyone. Controls might feel a little awkward though, since I have odd tastes in that realm. šŸ™‚

Controls:

  • Arrow keys: Move forward/backward, and rotate
  • W and E: Strafe left and right
  • A: Jump

 

Download Cyberspawn Milestone One Demo

cs_img8.PNG

Fingers crossed that I haven’t forgotten any critical DLLs. šŸ™‚

EDIT: Looks like I did. Install the Visual C++ runtime DLLs if it gives you a hard time.

Advertisements

6 responses to “The spiel on “Cyberspawn”.

  1. The Visible Man February 3, 2008 at 10:34 pm

    Wow, that looks pretty awesome! Everything is working fine for me now that I’ve got the C++ DLLs. I love the way it looks, reminds me of the old days, back on our Powermac G3CD or something.

    Can’t wait to play it with a storyline!

  2. ravuya February 3, 2008 at 11:05 pm

    Very nice for a first milestone. It seems you can run faster diagonally than laterally, though.

    I can’t wait to see what kind of game will come out of this. You’ve certainly got some promise with something so solid so early.

  3. brian February 4, 2008 at 12:17 pm

    I enjoyed bunny hopping around the place. Very nice.

  4. Draff February 4, 2008 at 6:41 pm

    If only there was a mac port. šŸ˜›

  5. Stephen February 4, 2008 at 10:02 pm

    @Ravuya: Good catch on that.

    @Draff: Install g++ and SDL, and I can send you the source for you to build. šŸ™‚

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: