🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Cyberspawn creeps out from under the bed...

Published March 23, 2009
Advertisement
It's been far too long of a while since I've written here! I feel like I need to get my writing muscles back into shape, so please excuse me if this first entry is a little rough around the edges. [smile]


Cyberspawn? What's that?

A rather long while back, nearly a year ago, I wrote about a small scale first-person shooter project I had undertaken. At that time it was using a renderer I had implemented in software, and it looked sort of groovy:



I didn't really discuss it, but the basic premise for the game was to blur a little of the lines between cyberpunk greats such as Shadowrun and Deus Ex. The player was to take on the role of an amnesiac freelancer in a dangerous city, trying to determine what went wrong with his last job, and who he has to eliminate to set things straight. The story might not be entirely original, but it's general enough that I would have a ton of room for artistic maneuvering. My goal was to spruce the storyline aspect up, with elements like Morrowind-styled conversations, and flexible inventory/implant management. Things got busy with Skirmish again, however, so Cyberspawn went to the backburner.

Recently motivated to try and get Cyberspawn going again, I loaded up the ancient code, blew off some proverbial dust, and went to it. My first order of business was to add some more level features. Two such things were sloped floors and stairs, which I'm thrilled about [grin]. I also changed the rendering system; I broke it down by making each level a list of sectors, and each sector a list of faces. Each face could then be rendered, with all of the pre-computation (there's a bunch of sector-touching-adjascent-sector logic to make things look right) done on boot-up.

Anyways, the most important part was when I had the level essentially broken down into a big list of faces. Because of the nature of how it works, this put me in a position where a certain feature, lightmapping, would not be a stretch to implement. I won't go into the details of how lightmapping works in this post, but can discuss it later if there is any interest.

The important part is that lightmapping is something I have wanted to implement for a *long* time. Lighting is such a HUGE part of making a 3D game look proper; levels almost look freakishly boring without it. For example, these shots look boring, right?



Sprinkle on some lightmaps -- even just these basic ones -- and things start to look much prettier. [smile]



The current lighting model is very simple. Quadratic fall-off for light attenuation, and collision detection with the map to create shadows. Radiosity is still out of reach for the moment, but it is yet to be seen whether this model is good enough for the game.

Now, armed with features like stairs and lightmaps, I am very eager to start working on the actual game. This will mean teaching myself to model better, as well as use tools like GIMP more effectively to create game art. While I've always leaned heavily on my artistic comrade, Dean, for artistic assistance, I'm very excited to tackle the game art on my own ground, and try and learn how to create an immersive experience from both sides: the code and the paintbrush. [grin]

Stay tuned for more updates.



(PS. I have erected a small development gallery for Cyberspawn, for anyone interested in gleaning the history of its progression.)
0 likes 7 comments

Comments

evolutional
Looks nice. The original reminded me of the Amiga 3d games such as Alien Breed 3d. The upgrades look good too, nice to see you blowing dust off your old code! I've started looking at my wastebin and considering some salvaging too.
March 24, 2009 02:53 AM
nolongerhere
Very cool! I was already liking it but then I saw that last screen shot, WOW. I wish I could make something that looked like that! Your upgrades made it go from looking like a toy project to a real game!
Im looking forward to hearing more on this project and Skirmish.
March 24, 2009 12:55 PM
HopeDagger
Thanks for the comments and kind words.

Quote: Original post by evolutional
Looks nice. The original reminded me of the Amiga 3d games such as Alien Breed 3d. The upgrades look good too, nice to see you blowing dust off your old code! I've started looking at my wastebin and considering some salvaging too.


Alien Breed 3D looks like a pretty awesome game. Thanks for mentioning it; I didn't know about it until now. [grin]

Quote: Original post by Falling Sky
Very cool! I was already liking it but then I saw that last screen shot, WOW. I wish I could make something that looked like that! Your upgrades made it go from looking like a toy project to a real game!
Im looking forward to hearing more on this project and Skirmish.


It's not as large of a task as you might think. So far I've been interested how much the current lighting resembles a simplified raytracer, whereas one traces rays through points on the map rather than points on the viewer's screen. I suppose what I'm trying to say is, raytracing might be a good place to start if you are interested in pursuing something similar. [smile]
March 24, 2009 09:16 PM
Ravuya
Light maps are damned cool! That really adds a ton of pop to the game.

Do you have dynamic light maps (a la Doom's flickering lights)?
March 25, 2009 02:49 PM
HopeDagger
Quote: Original post by Ravuya
Do you have dynamic light maps (a la Doom's flickering lights)?


That was actually something I was curious about. I would love to support it, but wouldn't that mean you'd need one lightmap per-face per-light? Assuming of course you'd want to flicker lights without affecting every light shining on that face. I would be grateful for any input on the matter.
March 25, 2009 06:31 PM
Ravuya
I would handle those as a special case and do an additive blend or similar.

I believe in Doom, "normal" lights override all others; I don't think they even blend, but I can't think of any rooms off the top of my head that have both always-on and flickering lights.

Another side benefit of doing "dynamic" lightmaps as a separate pass is that you could do animation - something like spinning klaxon lights or Unreal-style multicoloured disco lighting is entirely possible since we have a lot more horsepower than Doom ever had to throw at the problem.

Let me know when it comes time to implement "game entities" like switches and the like, I have some ideas you might want to hear that aren't quite appropriate for implementation in Afterglow.
March 26, 2009 02:00 PM
Twisol
The initial shots actually remind me very strongly of the original Doom. Very nice!
May 02, 2009 02:12 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement