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

Submitted by David Rosen, posted on February 04, 2005

Image Description, by David Rosen

These are two screenshots from my new mac combat game Lugaru. I programmed the engine using C++ in Codewarrior 8 for Mac, and I used OpenGL for graphics and FMOD for sound and music. I am working on a PC version, but for now the Mac demo is up at

I could not use new hardware technology such as pixel and vertex shaders because when I was writing the engine they did not exist for Mac yet, but I did use some interesting graphics techniques:

A) Full and partial ragdoll impacts
I know that ragdoll physics are becoming just another checklist feature in modern games, but Lugaru uses them in an unusual way. Whenever a character is knocked off his feet he blends into a physics-based fall, and takes damage based on how he lands. I.e. if you kick an enemy into a snow drift, he takes much less damage than if you throw him and he smashes his head on the corner of a stone block. Characters can recover seamlessly from physics-based falls, even while in the air.

B) Dynamic blood effects
If a character is hit in the head exceptionally hard and loses some teeth, then blood will drip from his mouth down his body, and stay there for the rest of the level. For example, here the main character has been clawed in the face and stomach, and the blood has dripped down to other areas. Also blood spreads using a changing alpha mask cutoff, allowing it to expand in an organic way rather than as a uniformly-scaling decal.

C) Transparent fog
I have a skybox of pre-rendered distant terrain, and the local terrain becomes more transparent as it approaches the far clipping plain. This makes the real-time terrain blend into the skybox, allowing smooth gameplay without decreasing the apparent view distance too significantly.

In addition, the context-sensitive combat system is unlike any other game that I have seen. If you press attack while running you use your momentum to perform a powerful spin kick, and then if the opponent crouches under your kick and stands up, he will catch your leg and kick you away.

Check out the Lugaru gameplay movies and free mac demo at

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.
Steven Don

February 04, 2005, 10:07 AM

Interesting, if slightly disturbing. The motion blur is a nice touch, although it does make me dizzy.

John Schultz

February 04, 2005, 12:59 PM

It's just a lit-il bunny rabbit...

Run away! Run away!

1. A shrubbery (for the you-know-who).
2. The Black Night.


February 04, 2005, 01:01 PM

Heh sounds neat ;) Can't try it though, since I don't have a MAC at hands....

One question though, relating to
C) Transparent fog

How exactly do you fade out your terrain alpha? I recon you'd perhaps render the skybox first, and then fade out the alpha values of the terrain verts. Doesn't that need any presorting or stuff to get correct blending? Do you use fog to fade out the alpha values? (I tried, and it wouldn't work for me =/ ) I guess that manually rebuilding alpha is a bit too costy to do each frame...

I once had a similiar idea to have a more "interesting" skybox than just plain fog, and at the same time reduce popping artifacts. However, my idea was to first render the terrain, and then fade in a sky texture (possibly also created dynamically), based on the current z value. I didn't actually try it, but I guess that its not possible with fixed function only.

- Wernaeh

John Schultz

February 04, 2005, 01:24 PM

After watching the videos:

1. You will get much more feedback from the PC version.
2. The tech is good.
3. After reading the back-story, it appears you are making a serious(?) game. IMO you cannot make a rabbit game serious (MPATHG, Bugs Bunny, Rabbot from ATHF, etc.). If it's intended to be humorous, see below.
4. Given the mindset from (3), I could not help from laughing when watching the videos. IMO, that's a very good thing.
5. There is a lot of potential for humor here: the more serious you try to make it, the funnier it can become: move the head side to side (Hong Kong action movie style), twist and jitter the ears, move the ears Hong Kong hand action style.
6. Loosely borrow from Bugs, MPATHG. Study ear motion from Bugs, borrow from dogs/cats (move the ears down, up, sideways, depending on emotion). You could borrow from the flying nun: move the ears sideways when jumping to improve glide performance (flap them to fly, helicoptor flight/fighting move, etc.).
7. One of the rabbits should be named "Lucky". One of the wolves should be name Blitzer, wear glasses, and carry a mic as a weapon.

This game has potential. Good luck!


February 04, 2005, 01:41 PM

The movies look awesome! Fast gameplay is always nice. Itís a pity there is no PC version :)
The mentioned ragdoll physics donít show very well in the videos, though.


February 04, 2005, 02:35 PM

I really like what you have done here. Great stuff. This is the best IOTD in a while.
I was wondering why your textures look so crapulent though. Is this a result of "programmer art" or a limitation of your software. If you make your textures look better, you will have a really sharp, professional looking game. Keep up the good work!

Nick Rolfe

February 04, 2005, 03:59 PM

Wernaeh wrote: Heh sounds neat ;) Can't try it though, since I don't have a MAC at hands....

Here, I'll give you a MAC: 00-20-18-A1-27-84



February 04, 2005, 03:59 PM

The story is not overtly humerous; it is meant to be more darkly ironic than slapstick.

The textures are 512*512 because I started development on an older system, and they look especially blurry in these screenshots partly because I paused the game to take them, and pausing has a slight radial blur effect. shows off the textures better.


February 04, 2005, 04:54 PM

I do it manually by changing the alpha values in the vertex array; it's not too costly really.


February 04, 2005, 05:37 PM

Heh thanx :) ... I'll screenshot it, print it, and put it on my wall :)

- Wernaeh


February 04, 2005, 05:39 PM

Ah ok thank you very much :)

And you're sure that doesn't cause any glitches related to the rendering order ? f.e. with a mountain that obscures another mountain ? :) ... I guess these should be hard to notice anyways, though =)

- Wernaeh

Kaspar Rohrer

February 04, 2005, 06:54 PM

I just played the game and I must say I really liked the combat system, ragdoll physics, permanent damage and the motion blur. The motion blur is especially cool if you jump down from some height. As for the graphics, well, the landscape just looks too uniform and washed out. I think even most of todays Macs should be able to handle better graphics?

There are some other points that bothered me as well :
Sometimes, pressing the mouse button to advance the dialogue will skip one too many.
Mouse sensitivity does not seem to be adjustable ingame.
If you support wide-screen resolutions at all (which IMHO is a good thing to do as I own a PB G4), why don't you support the resolutions of the more recent powerbooks (or just all the resolutions a machine supports)?
Personally I think that $19.95 is a little too much, even though I respect all the hard work and effort you put into it.

Other than that, great job. Keep up the good work!


February 04, 2005, 08:58 PM

Well the fade distance is short enough that this would be almost impossible, without a really strange heightmap.


February 04, 2005, 09:43 PM

Awesome... this is the best indie game I've seen in a while. I'd be playing it right now if it were ported to PC :(



February 04, 2005, 11:44 PM

I assume you're using skeletal animation when the ragdolls aren't in effect. After a character falls down, how do you go from the ragdoll to the animation skeleton? Just interpolate between the two?


February 05, 2005, 01:01 AM

The skeletal animations actually use the same skeleton as the ragdoll; they just force the bones to be in a certain position rather than basing their motion entirely on physics.


February 05, 2005, 08:30 AM

Looks really cool, any chance of a linux port? It shouldnt be much diffrent from the mac version anyway since the operating systems are both kind of unix based.

Tobias Franke

February 05, 2005, 08:58 AM

The game is cool, I tried it. I've stumbled over a bug though: in the tuorial, I got my knife and accidentally killed the transparent fight-buddy. Now, I also did this with breaking his neck, but with the knife, he didn't get up again, which was kind of a bummer, because then I couldn't try the sword or the stick.

Another thing, but that just might be me, was that sometimes the fight was really hard to control. Attacking with a knife often lead to nothing, because the opponent seemed to block ALL my knife attacks (fighting 2 opponents was the tricky one).

All in all a nice game, and nice story. Is there some kind of health status, or can I just see that on my character?


February 05, 2005, 10:16 AM

You can mostly see it on your character, or when the screen gets blurry or wavy.


February 05, 2005, 12:13 PM

Heh ok, I see :)

Thanks for the info,

- Wernaeh


February 05, 2005, 01:37 PM

I have only seen the video. Linux would be great. The animations look good, the interaction between the characters and the collsion detectio too, as much as i have seen in video. Then the great problem if you want someone not just to test your program, but also to play and eventually buy for it: the graphics are not good enough. i think the engine could easily handle some polygons more, so look for a modeller and texturer. Put some rabbits under your scanner. Try some geomipmapping for the terrain or if it is not very large brute force, but some polys more would make a better result without much work.

This game must have a multiplayer mode!


February 05, 2005, 02:42 PM

I am not actually going to change it at this point; it is already released and selling quite well. However, you are absolutely right, and all my future games are going to take into account development time. I.e. I will aim for graphics that will be impressive in a year or two, rather than what is considered impressive when the project begins.

Chad Austin

February 05, 2005, 03:41 PM

DRosen? Trial and Error? Happy family life?


February 05, 2005, 07:12 PM

If only you worked at Shiny when they made Enter the Matrix...


February 06, 2005, 11:11 PM

I'm not sure you answered his question. It makes sense you use the same skeleton to do ragdoll as for motion data, but its more interesting that you are able to move back to motion data after simulation. The common problem is that you don't know what pose the character is going to settle into on the ground. From playing the demo, it looks like you have a few "get up" animations (be it a kip or a forward roll). Do you just choose the closest animation and blending directly into it? Another technique you could use is drive the simulation towards these animations using the physics engine.... I'd love for you to elaborate on what you're doing.


February 07, 2005, 09:38 AM

I choose the closest animation and blend directly into it, and the closest animation is determined by factors such as velocity, facing and health.


April 24, 2005, 07:47 PM

This game is released for Windows now, if anyone is interested:

Chad Austin

April 25, 2005, 02:05 AM

Crashes after I see the world for the first time. :(

Dual Xeon 2.8
Radeon 9800 Pro

This thread contains 28 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.