Coding Maps (Part I)


Quite a while ago, I discussed map generation in the classic 80s-era game Tunnels of Doom. After a short correspondence with Kevin Kenney himself (who kindly answered my questions; and I hope he is aware that he contributed to the fascination of great many kids in computer science), I manage to, not exactly reproduce his algorithm, but create a number of fun variations.

Tunnels of Doom Combat Screen.

This raises the question as to how do we encode maps efficiently in the computer’s memory, not only for Tunnels of Doooooom but also for any number of other games.

Read the rest of this entry »

Wallpaper: Split Time


(Split Time, 1920×1200)

You can find more backgrounds here.

Analog Thinking


About five years ago, I found an old book, probably now an introuvable, Korn and Korn’s Electronic Analog Computers (D-c Analog Computers), 1956 [1].

Well, that mostly unrelated to today’s post, except that in some cases, relatively crude analog methods may give surprisingly good results in numerical problems (the topic came up while I was discussing the golden ratio and its place in art with friends, trying to make a point that it was mostly heuristic, bordering on the numerological). Take the pyramids, for example. The Ancient Egyptians did not have GPSes and laser guided telemetry. Yet, they managed to get some of their buildings incredibly well aligned with the celestial north.

Read the rest of this entry »

Programming Challenge: Martian Calendar


This week, another programming challenge, but this time considerably tougher than the previous.

His Imperial Majesty, Xórgü of House Nand, decrees that the martian imperial court is in need of a new calendar. The current martian calendar counts 668 days, but it accumulates errors. The martian year, according to His Imperial Majesty’s most illustrious astronomers, is in fact 668.60 (martian) days long.

Read the rest of this entry »

Lost+Found: Harder, Better, Faster, Stronger… typography?


Programming Challenge: Luminance


A few years ago, I posted on my personal web page a number of programming challenges for my friends. This week, I present one of the old challenges: computing luma from RGB triplets using integer arithmetic only.

Read the rest of this entry »

Compiling Python


As I take a new (professional) interest in Python, I use it more often. I noticed on previous occasion that the default interpreter’s performance is dismal, and I concluded that the next logical step would be to recompile it to get better performance.

It would not prove easy.

Read the rest of this entry »