Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Pierre Terdiman, posted on October 13, 2001

Image Description, by Pierre Terdiman

Yes. You're right. This is Konoko, indeed.

Directly hacked out of ONI from Bungie, one of my favorite PC games despite some major flaws. That game frustrated me as much as I enjoyed playing it - read: a hell of a lot. So as a revenge I took the liberty to hack my way through the file format, cut the whole thing to pieces, and here's my new pet project: KONOKO PAYNE !! guessed it, that means ONI with the swell moves + a bullet-time mode (absolutely compulsory for such a game!) + all the special graphic stuff we like, and which lacks from the original game (shadows, shaders, more polygons in characters, yadayada).

Ok, I'll probably never finish such a daunting project (we waited for both games many years and I want to mix the two all alone? DOH...!) but it was cool enough for an IOTD ! :)

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

October 13, 2001, 03:45 PM

LOL, that's COOL!!!!


October 13, 2001, 03:48 PM

wow, the shadows rulez!


October 13, 2001, 05:36 PM

I wonder what Bullet Time effect togather with Martial Arts game can produce... The picture looks cool, though!


October 13, 2001, 05:44 PM

Slo-mo martial arts kicks ass. :)


October 13, 2001, 06:27 PM

I love shadows >:)

Lars W.

October 13, 2001, 06:32 PM

Did anyone see the trailer from "the one" with Jet Li.
They have some cool slo-mo martial arts scenes in there.

So go on with your project we wan't to see Konoko moving... And even if it will not be a complete game a good demo is sometimes better.


Pierre Terdiman

October 13, 2001, 06:40 PM

Want to see Konoko moving ? Two ways:
1) play Oni :)
2) try this quick test:

For slo-mo, replace that line in the .ini file:

decimal DeltaT 60

with something like:

decimal DeltaT 10

(for example)

There's just the character here ('twas to test the moves).


franck brescia

October 13, 2001, 06:50 PM

he he

Jukka Liimatta

October 13, 2001, 06:55 PM


you did it - again! ;-)


October 13, 2001, 07:05 PM

Pierre, you rock, I hope there will be a binary demo soon, possible ?


Da Wolf

October 13, 2001, 07:36 PM

Don't forget to buy the rights!

Nice pic :)

Pierre Terdiman

October 13, 2001, 07:42 PM

Franck? Saturday night and you're not clubbing ?!
Sick ? :)

Pierre Terdiman

October 13, 2001, 07:49 PM

Yeah, I suppose some companies out there wouldn't be too happy to see this, although it's not really meant to harm them. I guess it's more something like a tribute. Oh, well.

Pierre Terdiman

October 13, 2001, 08:05 PM

Hey Laurent,

Well there's that little character test whose link I just posted, not much more so far.

Next move (pun!) is to put Konoko and some bad guy (probably a striker, or Muro) on some battlefield (probably the old one I used here:, and let them fight, Tekken-style. Rebuilding all the original motions/combos is somewhat delicate, actually! Then I could add the weapons and particles/lightning effects (important!). I'd love something like Storm Riders in the end :))) (that's a more-or-less recent Hong Kong movie)

Err, don't expect this to happen soon anyway, that's only a week-end project, exactly as Flexporter, Opcode, etc.

...would be interesting to add a fight vs Lara as well.. *grin*

It was nice making demos some years ago, but this is actually a lot funnier :)


October 13, 2001, 11:39 PM

Make sure you hire LOTS and lots of bruce lee / jackie chan movies, so us, the players, can bust our favorite moves onto unsuspecting mafia blokes :D


October 14, 2001, 01:34 AM

Very nice, but it would be nice to see a program that does proper smoothing of shadows. Maybe I should write and post an algorithm on such a issue, wouldn't be all that hard. When I mean proper smoothing, I mean make a shadow on a surface more blurred if the surface is further from the light occluder that other surfaces. One way of doing this would be using 2 shadow volumes, one larger and one smaller than the projected silhouette. It would involve a little more work, but not all that much and it would make shadows look a hell of a lot more realistic.

Also on the issue of creating shadows, I much prefer carmacks version, which is that shadows are simply a lack of light, compared to the much used rendering a scene without shadows and then rendering shadows on top.

And please no one use the method of using a low res depth buffer from the perspective of a light put into a texture with linear max filter to achieve a smooth shadow (those diagonals look horrible!, just like low res light maps).

My 2 cents with added rambling and poorly constructed sentences,



October 14, 2001, 01:40 AM

actually I am not too sure how my 2 shadow volumes idea would work.... I'll have to think about and come back and post or something.


October 14, 2001, 02:07 AM

Now I remember how I would do it... Draw the 1st shadow volume into the stencil buffer (using method dicussed by that guy at NVidia) and get the silhouette from the volume inprinted in the stencil buffer. Then draw the 2nd shadow volume into the stencil buffer and get the silhouette of that volume. The perspective to a 2d projection with max height being the height of the window and max width being the width of the window (0 for both mins). Draw a triangle strip that joins both silhouettes together, 2nd silhouette's points having an alpha value of 0 and 1st silhouette's points having an alpha value of 1 and draw this all into the stencil buffer. Then render the whole scene using the stencil buffer to hide the shadows. (Fill in all gapes yourself or convince me to write a more detail paper on it). I am pretty sure this would work (haven't played with lighting and stencil buffers much).

No paragraphs or proof reading,



October 14, 2001, 02:13 AM

oh and make sure your shadows don't have holes in em or they won't work correctly, unless you put back the stencil values doing the same method for each hole.


October 14, 2001, 03:08 AM

Not to go to far off topic or be insulting in any way, but bullet time was max payne's only new gameplay feature. After that wore off, it was kinda like playing a cross between mario64 and blood2 which didn't mix with me. (so i went and played starcontrol 2..wooo!)

The graphics in your pic are brilliant, even with self shadowing!

Two things which i'd recommend for gameplay (if you haven't done this already):
1, make the bullet-time combat much more compicated than the stand... sorta like no big 'moves' as such but more a collection of attacks/blocks/stuff that start and finish in different 'poses'... like state based ai, but for moves

2, give bosses and uber-enemies the ability to fight in bullet-time (which forces you into bullet time as well)

Anyway, its your game. Those are just a few easily-dismissable ideas i came up with

Pierre Terdiman

October 14, 2001, 03:18 AM

> and get the silhouette from the volume inprinted in the stencil buffer

If you're speaking about Mc Cool's method, I'm afraid it's highly unpractical and very slow. Vanilla stencil shadows are slow enough not to make it worse with 2 shadow volumes, 2 image-based silhouette extractions (!), and even more stuff on top of that.

Brute-force dynamic shadow-BSP trees may even be faster...

For soft shadows I would use simple projected shadow maps, low-rez, blurred, and software-rendered to bypass painful render-to-texture issues. Has worked well, works well, will work well.

For cool accurate penumbra/antipenumbra stuff, check this out:


October 14, 2001, 04:58 AM

Konoko Payne ... now that's something I would like to see! Bullet time could really allow you to use those special moves with deadly bone crunching precision, while avoiding the enemies fire at the same time.

Any chance you could release the file format doc?

- Marco

Pierre Terdiman

October 14, 2001, 06:22 AM

Errrrrr..... to release that, I would have to write such a doc! This is not something I'm going to do soon (if I ever do it), because that format is particularly *painful* !

If you're interested, start with the source code from Oni Tools - that's a Mac program but the source is included in the .sit file (of course it won't compile on PC). It allows you to get the textures & meshes (even if the original code is broken for meshes...).

Unfortunately it doesn't say anything about character motions (the only valuable resources IMHO). Actually I now know why the author stopped there: breaking it was hell-on-earth :) For example translation & rotation tracks are not even in the same chunks, you find some dwords in one file and must figure out they're offsets from the start of another file (...), translations are stored as floats whereas rotations are stored as quantized Euler angles in bursts of 7 bytes (hell to figure out!), etc, etc. And of course you don't know if it's stored as XYZ, ZYX, relative or absolute values, etc, so you end up trying all combinations. Each time it fails, you don't know if it failed because the combination was wrong, or because you misinterpreted the data in the first place (the rotation track looks like a packed zip file when seen as binary => hell)

So if you have specific questions, no pb, ask them.. but I won't write a doc, argh! (there are a lot of things I still don't know what to do with, on top of that)

...I spent most of the time wiping out complete parts in the game data files, and relaunching it to see what had been modified... Fun or what ?

A good idea as well is to modify the game scripts in order to replay a specific anim when you access a console! That way you can focus on a well-known animation (say the hidden stripping anim from the warehouse!)

Ok, I admit ripping it was almost as fun as playing it.... hum.


October 14, 2001, 06:22 AM

Brilliant can you release a paper with source on the file formats that is cool.

Show me the source.


October 14, 2001, 07:46 AM

Ouch! Why would somebody use a file format like that? I wonder ... maybe to prevent others from reverse engineering it =) I can see how that rotation part caused you major headaches ... quantized Euler angles in bursts of 7 bytes sound extremely painful to reverse-engineer. Once I find some time, I think I'll give it a try, but since the workload seems to go a bit beyond 'read mesh, get animation offset, read animation data, play data' ... I think I'll move that task to the end of the queue. Not that fiddling with file formats can't be (devious) fun.

I actually didn't expect you to write (or have written up) a file format doc. If the file format would be 'well structured' a header with the structs probably would have sufficed, but since the format seems to be a bit of a mess ... oh well, I'll get back to you if I should wander that road :)

Thanks for the reply (and offer to help).

Keep up the great work ... I hope we see more of Konoko Payne :)

- Marco


October 14, 2001, 08:00 AM

low rez shadow maps are fast...., but not all that realisitic. You will get 'jaggies' and will not get shaper and softer shadows, but will get only one type of shadow, depending on how low res you choose the texture to be. I think the method I put forth is doable, although you may want to add the option of doing it with my method or only using one shadow volume. Another thing you could do is only do, is the oposite to my method (inprint in the stencil where to light, instead of where to shadow) for portals, in a portal engine and just use one shadow volume or the depth buffer technique for everything else.

Mc Cool's method? whats that? got a link?

Douglas Cuthbertson

October 14, 2001, 10:22 AM

I tried the demo, but got the error "DX7Renderer::InitializeDirectX: CreateDevice failed"

Does this mean it doesn't work with DirectX 8 or is there another problem?

Moby Disk

October 14, 2001, 12:29 PM

"This is not something I'm going to do soon (if I ever do it), because that format is particularly *painful* ! "

That's exactly why you *should* write the doc. I don't want to start a flame war, but I must say that this attitude truly annoys me. Someone takes the time to reverse engineer a format, and do something really cool - then doesn't bother to document it. So many good ideas, good hacks, good pieces of software go to rot because the authors enjoyed the hack, but didn't share the hack.

I applaud the fact that you wish to create a game. I applaud your coding skills. I applaud that you are open enough to allow a free download and a post on this forum. But I do not applaud doing all this and holding back the real goods. Just think back to when you were a budding 3D coder and you couldn't get the documentation for XYZ - dozens of sample programs that showed it off, but nobody released documentation. The source was nice, but you still had to reverse engineer to figure it out. And you cursed the fact that they could have spent 2 hours and saved you days or weeks of frustration. Now you are in that same position, doing the same thing.

Maybe I'm wacked and the above scenario is meaningless to you. But I am betting that most of us here at flipcode went through that stage, and probably are still going through it.


October 14, 2001, 01:37 PM

Come on! Pierre really is doing enough work in his spare time. Just take a look at his site to see how much he is sharing already with the community (Gotta love Flexporter, OpCode, his triangle stripping page, etc...). I mean, he already offered to answer a few questions. That is quite nice of him. After all, this is the 'Image of the Day' and not the 'Code of the Day' or 'File Format of the Day' ... if he doesn't say that he has enough time to write up a doc for the format, then you should accept that (as have I).

Pierre, sorry I started all this with my request for a file format description.

- Marco

Pierre Terdiman

October 14, 2001, 05:24 PM

Your point is valid but you didn't get mine. No time, period.

I'm not keeping it for myself: I'm actually in touch with the author of Oni Tools, I told him how to fix his code for meshes, and I'll send him the info about TRAM chunks (rotation tracks) as soon as it's complete.

For the moment I understood one track in that chunk (the rotations), but there actually are 10 other tracks (in the same chunk!) I still have to figure out. Apparently there's one for the character's height (used for jumps), one to fix the character's placement in the XY plane, one to say what particles effects are played during the motion, one for the sound, etc, etc. I'm not exactly up to the point I can write a "paper".

So meanwhile, as I said, you can send me a mail for accurate questions if you really want to try it. But I won't write something nobody will care about.

This thread contains 40 messages.
First Previous ( To view more messages, select a page: 0 1 ... out of 1) Next Last
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.