Monday, July 13, 2009

Ghostwalker: First Screens

After several months and a little work, I have the start of a game engine and the start of an idea. The basic concept of Ghostwalker is a generic first-person-shooter with a bit of "Legacy of Kain: Soulreaver" or "Dark Dominion" thrown in. Allow me to elaborate.

The as yet unnameds main character in Ghostwalker will have a limited ability to see into the spirit realm (if anyone has read Dark Dominion by Defiant Comics, they'll get the basic idea). However, normally he can only do this as he himself approaches death. In the same way that most FPS games these days communicate the player's health using on screen filters, usually a reddening of the screen, in Ghostwalker the player will be able to see into the spirit realm as his health gets lower. This will actually have the opposite effect to typical FPS games in that the player will have an advantage - there are no walls in the spirit world, so the player will be able to see enemies through obstacles etc.

Since health will not regenerate automatically (no Wolverine here, folks), the player will be able to play with low health to take advantage of this ability, at greater risk of dying in a firefight. Enemies may have souls that differ dramatically from their physical appearance, eg. werewolves will look human but have wolfman-like souls. Some enemies may be invisible, thus the player will not see them until he loses enough health to see their souls. Others may not have souls, such as zombies. The player may gain spells to allow him to temporarily see the spirit world even at full health.

I realize that the idea is not so different from the special vision modes, such as thermal vision, present in other games like Syphon Filter, however I'm hoping it will be better integrated, allowing the player to play without needing to stop constantly to activate his thermal vision goggles for a moment, only to switch back to normal vision. I'm also hoping it will be more visually interesting. Like I said, nothing groundbreaking. To be honest, I'm mainly doing this as a hobby to improve my own skills, if I someday have a halfway decent playable demo I'll be ecstatic. If any of my friends (you know who you are) are interested in helping, let me know. Truth is, I'd love some artistic help, I have a few character ideas that I'm too crap to draw myself.

The engine currently has a few features planned or in place:
-Efficient smooth LODing of meshes (more details to come).
-Real-time mesh splitting (haven't started to integrate it yet, but the engine is designed around the neccessary data structures).
-Multiple models per object for the two-stage rendering needed (physical and spirit models).

I have made some progress, with the framework of a game engine in place, some asset management code working nicely, and the basic smooth LODing system working in-engine. It's still nothing but a very basic rendering engine, with no physics or animation and only very basic rendering abilities. Still, it's enough to show a few early screenshots of the basic concept. These are using free models I nicked off the net:

Normal view:

Player at around half health, starts to see spirit world:

Player almost dead, visions is almost completely in spirit world:
Well, that's all for now. Soul Samurai out.

GhostWalker: Announcement

Since Geocities is closing, I decided to start a blog instead of a website, for now at least. I'll start by copy the entire contents of my old site in this post (previously on

Soul Samurai presents: Ghostwalker

Ghostwalker is the tentative title of a game I am currently working on. At the current rate of progress, it will probably be ready to demo some time next millenium, so don't hold your breath. If you do start holding your breath, and you are still holding it next millenium, please contact the guiness book of world records. Don't try to contact me, I'll be dead.

Sorry, back to Ghostwalker. The game will be a first person shooter of modest proportions, but hopefully will have enough decent bits to be worth a quick look. I am currently working on the engine, which I am calling "Soul engine", because I am not very original. It is being written in C++ with OpenGL.

That's all for now, more details to come.