Wednesday, October 29, 2008

Take Me to the Moon

I am learning the Lua programming language, prompted in part by Steve Yegge's recent blog post The Universal Design Pattern. In his post, Steve summarizes a few well-known schools of modeling before introducing the lesser-known Prototype Pattern. A few years ago in a post to the DGD mailing list, Pär Winzell described a similar technique used in the Skotos mud library. So, at least two above-average programmers have recommended prototype-based programming for developing highly configurable games.

Never much for impulse control, I am ditching Wormbane, my second attempt at a roguelike computer game written in Python, in favor of a new roguelike in Lua. Although Lua first sparked my interest a couple of years ago, I had placed it in the same language category as Python, and I was already invested in Python. However, Lua is primarily a prototype-based language whereas Python is class-based. I will give Lua a try, though it seems that so far, I am spending most of my time implementing Lua versions of Python's builtin functions. Then again, I never really was against reinventing the wheel.