| |
|
Since I already had created an advanced form for collision
detection as a part of my graduate project at HIA, I decided first to learn
how to load a new bones animation format, with quaternion interpolation. I
wanted to do this because I wanted my character motions to be smoother
to look at. Since I didn't have access to any motion capture equipment,
I choose the most common interpolation technique used by games in 2001-2002.
After about two weeks of very hard work(14+ hours pr day) it was finished. I had managed
to modify a new animation loader, and the new format was proving to be
better than my old one, that was using linear interpolation.
It takes more than advanced collision detection and smooth character motion,
to create a decent game. I had already planned to have dynamic lights,
shadows and a good looking particle engine in my game.
Download Demo
|
| |
|
The natural next step for me would be to develop a particle engine.
The particle engine was finished on December 23. I don’t think it took more
than a couple of days to develop. First I searched the web for some info, and then
I used my "artistic sense" to put it together. As a result I published a small
project at Apron Tutorials not surprisingly called Particle Engine.
As a game designer I wanted to have colourful bright texture mapping
in my game, and decided to purchase a digital camera. I bought the test winner of the
year 2001 “Fujifilm FinePix 2800”, with 6X optical zoom.
Download Demo
|
| |
|
At this time I started to look into nVidia developer demos and articles
for solutions for my light and shadow casting. I didn’t find much source code on the net,
except the nVidia samples that looked very tempting. This turned out to be the least
satisfying part of my work so far.. First I had to purchase a GeForce4 TI series GPU
to compile the source code for these demos, because most of the demos were using
nVidia (NV) extensions . Then I used a lot of time learning about per-pixel lighting
using Register Combiners and other nVidia extensions.
Then when I tested a small test project on my girlfriend’s computer
with an ATI GPU, I found out that ATI didn’t support Register Combiners at all...
My test projects could not even run on an ATI GPU!!! I was not very motivated at this point...
Download Demo
|
| |
|
But as always I decided to go on.. Searching the web for clues, I came up with two very good
theoretical articles of stencil shadow volumes at Gamasutra.com and Gamedev.net.
This had to do. I started putting the pieces together. In both of the articles
I found that the author did rely on extensions to do some of his “dirty work”.
I decided to rely on my "math knowledge" instead, and to solve it without the
use of any extensions. I phoned my good friend Tommy Johannessen... As always
it “pays of” discussing problems with him, we have a sort of thing going that
he studies the stuff that I don’t and vice versa. We started working like this
back at school, and found that this way we could learn faster from each other.
After a few weeks I had managed to put together a very good and very fast shadow
volume algorithm. My motivation came back as it always does...
Download Demo
|
| |
|
Now I took a trip to Grimstad to visit Tommy Johannessen. We had planed to discuss some web and
some C++ algorithms for the new dynamic light engine that I was working on. Instead we took
a vacation and partied a lot...
I finished the dynamic light engine a week after I came home.
The point light theory is built up on projecting a point in 3D (the light source) on to a plane in 2D (a wall).
This dynamic light engine used no extensions and could run on any GPU...
Download Demo
|
| |
|
I had finally managed to create all the pieces of my game code puzzle,
and it was time to start modelling the arena and put the pieces together. I had drawn
a simple sketch, and I had a pretty clear picture in my mind of what I wanted my arena
to look like. My main character is 1.8 units tall, so I first drew down a sketch with
real measures compared to the scale of my character. It took about 3 days to create
the basic of my new 3D Arena. I could have used less time, but I wanted my
measures to be exact. I used 3D Studio Max as my 3D modelling tool, and Adobe Photoshop
for my 2D textures.
|
| |
|
I tested my shadow algorithm both static or dynamic on a simple 3ds model
and I was very satisfied with my result..
In 2003 this quality looks good.
View Screenshots
|
| |
|
I then created an editor for my dynamic point light. With this "simple" editor I was
able to dynamically place out point lights and decide the position, size and colour.
After I had created my lights I could save them to a light-file, I was also able
to load the light file again and edit the lights.
View Screenshots
Download Demo
|
| |
|
I then tested my alpha loader that I had created before.
I converted it into a 3DS Alpha Loader and as you can see it works fine..
View Screenshots
|
| |
|
I wanted to test the dynamic shadows on my arena-model as I already knew
The file was to big to run smooth with dynamic shadows on every model, but
it sure looked nice though..
|
| |
|
Added frustumculling to speed up my application.
|
| |
|
Added spacepartitioning to speed up my application.
|
| |
|
I added a little 3D sound and water to the scene to give the setting a
more dynamic feel. (Use headphones to give the 3d sound a better effect)
|
| |
|
I implemented better texture-filtering for greater texture quality,
and to get smoother tiling results on greater distances.
View Screenshots
|
| |
|
I added a start-up dialog to gain more control over the game demo.
By enabling the feature of turning off some of the special effects,
the game demo would now run fine on older computers.
View Screenshots
|
| |
|
It had planned how my characters should look like on the first day I thought about
the Shadow Blade game demo. But I guess they got “changed” a little on the way..
In this multiple character demo I inserted the characters with some animations.
View Screenshots
Download Demo
|
| |
|
Finally I had something to show for :) the final walk demo was first published
for my friends at 18.07.03. There is no collision detection in this demo
but you will be able to walk around and look at the arena...
View Screenshots
Download Demo
|
| |
|
This is what is coming up next!
The fighting dynamics is already created, but the story and movies will take a
while to create, now that I'm studying for my Masters degree.
View Screenshots
|