Tokyo 10 Sept 2004

 

EXCITING TIME

In less than 2 months time I will have to leave Japan and I will start to work to

nKpro as a full-time occupation. After 3 years of sharing my time between my real job and my part time obsession this next change is one of the most exciting things I've ever faced. I can't wait to find myself able to wake up, work, eat and sleep with just one thing in mind: nKpro. I was "forced" into this by some events during last week (that's the reason for the missing report btw), but now that things have cooled down I can see this is the right decision for everybody. I hope sales for nKpro will be enough to allow me to come back to live here, but if not, it was a fantastic experience that I'll never forget. A country with such an high pace in everything, from fashion to cars to daily life to commerce to culture.. and simply the place with the most beautiful girls on the planet ;-)... I will miss every bit of it.

 

GENERAL PROGRAMMING

That's what I've been doing last week, it was one of those week when it was very difficult to say I was working on a videogame. I concentrated my effort on 2 main subjects:

 

1) Security and protection

Nothing's uncrackable of course, I just hope to make it more difficult to happen. nKpro is based on a series of licence files that unlock different parts of the game. Every component, from tracks to cars to plugins to single editors could be connected to a licence. This would allow commercial expansion kits for nKpro, where the 3rd party developer could use this licence system to "lock" their creation.

 

2) Virtual file system

Things can get messy with hundreds of texture files, ini, conf, and db files lying around, so I took some time to work on a virtual file system that allow an entire folder structure to be collapsed into one big file. Nothing new really, most commercial games do that, think about Id's "pak" files. nKpro virtual file system files will be password protected to lock sensible data and artwork for 3rd party cars.

 

BACK TO PHYSICS

This week though, was finally about physics. It is amazing how nKpro is getting "simpler" compared to nK 0.9.9. I've changed the way the collision between road and tyres work, well, what I actually mean for "changed" is, I've deleted 40% of the code for it! The entire automatic smoothing system is gone and now cars are driving purely on the triangles. When I started nK my main references was GPL and Nascar from Papy. Their road surfaces were always silky smooth and it was weird to have cars bumping around on the tracks. Then F1200x came along and we started to get used to a more bumpy track and to discover that, actually, not only bumps offered a major challenge actually present in real life, but they also contributed to created an increased "sense of speed" by just raising the frequence of the micro irregularities of moving from one triangle to another. But the triangle approach has many problems when applied to corners with high height changes (think Eau Rouge). I strongly opposed to the idea of having splines in nK since from the start, it makes the job too difficult for converters. For nKpro the solution for banked or high elevation corners is in a high definition triangle mesh used by the collision system and not by the drawing system. In other words, tons of triangles are checked for collision but only a reasonable amount are used to render. This is pretty simple, code is very clean and memory footprint (for

"normal" tracks) is much reduced because the collision triangles are not storing normals and additional infos for barycentric interpolation.

 

MY HEAD IS HURTING, CAN I DO A FPS?

Physic programming can be a nightmare, there are things that just will not work and make you scream in agony. Low speed (<10Kmh) is an official nightmare, I tried to clean up a bit the code in that segment too but all I did was gettng an headache for 2 days, this morning I quickly fell back to the old code, I'll think about that during my "fulltime" nKpro period.

 

MORE ADDITIONS

McPherson is working. It is still difficult to setup because I didn't write the code to analyse the roll center position yet. So I tried to setup a McPherson on a test car and the front axle was going uuupp during cornering driving me mad. At the end of the day it was just a bad jacking due to a wrong setup, instant centers and roll centers are needed badly for this suspension since it is so easy to screw it compared to double wishbones.

I've also finished the work on progressive springs and dampers. They're not really "progressive", they could be whatever the user wants so to simulate coil overs, different dampers etc. Pretty nice but I need a lot of work to expose them outside.

I am also working on a real-time garage for spring and height adjustments, it is much easier when you can actually see the car going up and down.

 

ONE MORE SIM

Just a quick note on the new Richard Burns Rally: really awesome. I was hooked for hours and I couldn't stop. The most impressive feature is "familiarity", never, not even for 10 second I had to "relearn" the car in the game, it felt so familiar and every apparent "strange" behaviour was due to setup and not to strange physics. I read it is selling well since online resellers are out of stock, this can only do good to this community and I hope to see more of these efforts in the future.

 

Next week is going to be a "full-time" week (hols that is) and I really expect to

come up with some screens for you.

ciao

 

stefano