A Day in the Life of Unknown Worlds
2007-09-10 1:44 PM PDT
10:00 AM
Max: Time to get the day started. Today I'm primarily going to be doing development on our in-house Lua debugger. Lua is a scripting language that we're using for Natural Selection 2 to help us quickly code up and modify the game logic – even while the game is running – so that we can iterate over design ideas and maintain a super agile development process. We've also adopted Lua as a platform for allowing our players to create “mods” and interesting new content for the game.
Lua is a popular choice game games because it's fast and a lightweight. Some recent games that use Lua include World of Warcraft, Far Cry, Company of Heroes, Psychonauts and Garry's Mod, and it has a long history going back to games like Grim Fandango, Baldur's Gate and MDK. Even with such a strong history in the game industry, there isn't a really solid tool available for debugging code written in Lua. A few months ago we decided to create a debugger for our own use on Natural Selection 2, and later realized we could package it up as middleware and sell it to other developers.
Right now we're in the beta testing stage for the debugger and we've sent evaluation copies to a few game companies to get their feedback. Typically when you're beta testing a product you're in “feature freeze.” This means the only code that's going in are bug fixes,since any new feature has the potential to introduce a lot of new bugs and set you back. However, one particular feature has been requested multiple times during this evaluation period and I've decided it's important enough to put in for the first release. You want to make a good impression after all!
The feature I'm going to be working on today is the ability to attach the debugger to an already running game. Right now you can only debug a game if you launch it through the debugger, but a common case is you'll be testing something, realize there's a bug and want to hop into the debugger and see what's going on. This sounds simple on the surface, but adding it is going to be...
View entry
- views: 290