New Programming Slang

Every programmer should know about Yoda conditions and Ninja comments! My favorite term:

Refactoring
The process of taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself.

Twitter Digest 3

Congratulations @notch, the forth Twitter Digest is all yours!

Markus Persson@notch 12:19 PM – 16 Jun 12

Sometimes when I play a game, the screen goes dark and I see my own reflection in the monitor, and wonder what I’m doing with my life.

Then the next level starts. WOO!!!

Markus Persson@notch 4:07 PM – 13 Jun 12

Spent a few hours implementing the Bullet physics lib into 0x10c today. Works well, but it has the sinking into floors issue I hate.

Physics suck and nobody likes them and also they smell. #sinkingthroughfloors

Markus Persson@notch 11:46 AM – 6 Jun 12

Free history lesson: Today is the national day of Sweden, so I guess something happened today many years ago. I don’t know what.

Markus Persson@notch 8:49 PM – 17 May 12

I would totally eat healthy food if it had any flavor.

Markus Persson@notch 3:52 AM – 10 May 12

Middle of night, very tired. Some kind of bird. You go away, bird, nobody cares, it’s four am.

NavMesh Generation Made “Easy”

Preparing this year’s version of my Introduction to the Unreal Development Kit, I got reminded of Epic having integrated Recast in February this year: Recast is an open-source library for automatic generation of navigation meshes. Although nav mesh generation has been part of the UDK for almost two years now, Epic finally decided to switch to Recast, gaining an almost ten times performance boost.

I highly recommend reading the corresponding CritterAI article in case you’re interested in that topic: Stephen Pratt explains the whole generation process from heightfield generation to region generation to contour generation to convex polygon generation. Many detailed explanations and elaborate illustrations make this article really worth reading. What are you waiting for?

Crappy Code 1: Goto Hell!

Recently I found this little jewel in some commercial UI plug-in for the Unity3D engine:

Now don’t tell me you couldn’t do this in any other way, knowing that the Invoke jump label isn’t used anywhere else.

Fun fact: Visual Studio doesn’t even know how to deal with that – Find All References of Invoke returns a stumped “Search found no results.” 😉