Brain fart

April 14th, 2009

There was this line in some code:

#include <cruntime.h>

…and I was reading “include crunch time”. I must be tired :)

Dat is amaaazing man!

March 10th, 2009

Baaam!

:)

Seen in Switzerland (Crans-Montana)

March 9th, 2009

Wanted demo + random junk (no time)

March 5th, 2009

The demo for “Wanted: Weapons of Fate” has been released. I’ve worked on that one as “lead gameplay programmer”. You can also blame me for the notorious “pussy” difficulty mode. My idea :)

I stopped paying Globat but the website is still up and I can apparently still write posts. They suck even for kicking people out!

People quoting Einstein’s “Imagination is more important than knowledge” should use their imagination instead of their knowledge, to come up with a more creative quote.

Time perception is not linear.

You should apply the “broken window theory” to code, and hence start fixing those “minor issues”. Seriously.

It’s nice to be able to compile the game without any support for sounds whatsoever. It means you don’t waste any time loading all those samples while testing/implementing a new feature. Too bad some people in some company don’t understand the “quick iteration time” concept very well.

Wordpress export…. not

January 22nd, 2009

One more minus point for Wordpress. It doesn’t even export the whole blog successfully. It just exports most of it, and then the XML file just stops in the middle, ignoring like the dozen last posts. Tried again and again in vain.

So let me recap my blog experience so far:

- it got my main website hacked

- the spam keeps coming even with reCAPTCHA installed

- the spam keeps coming to posts where I explicitely closed the comments (!)

- it’s extremely slow to do anything with the available online tools

- Globat tried to use my credit card number for an automatic renewal even though I despise them:

“As per our previous notice, today we have processed your invoice
XXXXXXX in the amount of $95.40 and the charge
to your credit card came back as DECLINED. We will attempt to bill your
card again in five days. If the charge is declined again, your hosting
account will be subject to immediate suspension resulting in
interruption of service and an additional $30 fee.”

Of course it came back as declined, I blocked it against you, suckers. Oh, and they sent me this 21 days ago, so even for this they’re unreliable.

- and now it looks like I can’t export the blog to move to a saner placer.

This is just ridiculous, I don’t have time for this BS.

2D fluids… again

November 19th, 2008

I’m so tired of those 2D height field fluids. Iguana did it in Heartquake 14 years ago, and people are still rediscovering them, reinventing the wheel, marketing them as new things, or proudly showing them off as the results of their “research”. Gimme a fucking break! It was cool the first time. And then everybody copied it from Iguana. In 1996 it was already dead boring, the horse had been beaten over and over again for 2 years. It’s almost 2009 now, can we move on? Please?

Soon they’ll give us shadebobs and keftales!

Slow motion debug

October 9th, 2008

People should play their game in slow-motion to finally see all the animation / blending / transitions / camera problems that they fail to see at normal speed.

“But Pierre, nobody notices those small defects at normal speed!”. Well, I do, and it bothers me.

Tri-strips from the past

October 7th, 2008

Just found a small report testing my old triangle strips code. Strips are obsolete those days but it’s nice to see the code worked as intended.

IntroSort & multi-threaded radix

September 22nd, 2008

I found a link in Charles Bloom’s rants, about “intro sort”. The author claims it is faster than STL’s version. Long story short: it is.

Once in a while I get doubts about how fast a radix sort is, compared to a vanilla STL sort, so I ran the good old tests again. Any news? Nope, radix is still faster in cases that interest me.

While I was at it, I quickly put together a “multithreaded radix sort” where half the list of items is sorted in a different thread, and then there’s an extra pass to merge the results. Result: faster than the single thread version on my dual core - at list for large amounts of elements to sort. Cool :)

Below are the results when sorting various numbers of floats.

  • Radix: single thread radix sort, 3 passes
  • Radix MT: multi thread version
  • IntroSort: sort whose source code was given in the link above
  • std::sort: your vanilla STL sort

See for yourself. The source code is here.

Optimization by sharing

September 22nd, 2008

Quite often you can amortize the cost of two pieces of code in different parts of the engine by merging them together, reusing the results from one part in another part. For example, say you have:

  • a character controller (CCT) moving your characters in the world
  • old style projected shadows below your characters
  • a portal engine using a downward raycast per character to find in what region they are
  • a sound module using a downward raycast per character to find what footstep sound to play

It’s rather obvious but you can easily optimize away the 3 last parts. The CCT module already knows what triangles each character is touching. If you set it up correctly, those triangles can be the same as the ones you want to render your projected shadows on. And the same triangles already tell you in what region you are, what material you’re touching, and what sound is associated with them.

It may sound obvious but it’s not always done…

 

shopfr.org cialis