Wednesday, August 12, 2009

Languages and game development

I'm reading through an interesting ppt on a game developer's view of language problems with C++.

http://lambda-the-ultimate.org/node/1277

I found this interesting:

§ Usage of integer variables in Unreal:

– 90% of integer variables in Unreal exist to index into arrays

• 80% could be dependently-typed explicitly,
guaranteeing safe array access without casting.

• 10% would require casts upon array access.

– The other 10% are used for:

• Computing summary statistics

• Encoding bit flags

• Various forms of low-level hackery

§ “For” loops in Unreal:

– 40% are functional comprehensions

– 50% are functional folds

The Natural Numbers

Factoid: C# exposes more than 10 integer-like data types, none of which are those defined by (Pythagoras, 500BC).

In the future, can we get integers right?

And this:

Concurency in Numeric Computation

· These are essentially pure functional algorithms, but they operate locally on mutable state

· Haskell ST, STRef solution enables encapsulating local heaps and mutability within referentially-transparent code

· These are the building blocks for implicitly parallel programs

· Estimate ~80% of CPU effort in Unreal can be parallelized this way

1 comment:

Anonymous said...

Good post, these are very helpful. I use them to help teach the new interns at our game development company.