Author Archives: Nicholas

A Day in the Life of a Programmer

The programming team codenamed our current milestone El Dorado after the mythical city that doesn’t really exist. Most of the stuff that we have been doing towards El Dorado… well, it isn’t ready yet. Also, a lot of it is systems which are transparent to the user (networking, refactoring, serialization, etc.) It’s all important, but it’s not glamorous. We should, however, have a few interesting things to show next week. We (well, mainly Micah) wrote up some of the work that we did on our threading and messaging system, and submitted it to an academic conference; I am pleased to report that HotPAR ’13 (the Usenix Hot Topics in Parallelism conference) decided to accept our paper, which will be presented at some point in June. I should figure out when that is…

So instead of the big Technical Status Update, which we’ll probably do next week, let’s look at a very small slice of life that makes a big difference. A lot of people ask me what it’s like doing game development, as a day-to-day process as opposed to the big picture; this is a good example of what it’s actually like on a given day, what graphics programmer thought processes are like, and so on and so forth. Also, I’ve included the picture of a tortoise next to a pile of ammunition that David refused to last week.

{ read this article }

Posted in Clockwork Empires, Gaslamp, Programming | Tagged , , , , , , , , , , , , , , , ,
17 Comments

April Technical Status Update

It’s April! There is a Technical Status Update. You know the drill.

{ read this article }

Posted in Clockwork Empires, Programming | Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
22 Comments

PC Gamer Interview

The good folks of PC Gamer have posted a very long interview with us, filmed while we were at GDC a few weeks ago.

You will note at the end that we give a new, intended approximate release date. We’ve decided to push our intended release date for CE back a bit, from “late this year” to “early next year”, around February/March 2014. Simply put, this is a large game and we need more time to do a good job of it and make it fun. (Also, we don’t want to compete with a bunch of console launch dates.) We hope you guys understand, and we promise the game will be better as a result.

Posted in Clockwork Empires, Gaslamp | Tagged , , , , , , , , , , , , , , , ,
18 Comments

CPU and GPU Run-time Profiling in Simulation Land

[Warning: This is a very technical post.]

It’s not easy writing a complicated simulation. There are lots of complex, interconnected moving parts to worry about and when something goes wrong, it can be hard to figure out where that small, broken thing is in the midst of a larger picture. We recently discovered that the game was running… unreasonably slowly, shall we say? My desktop was getting 15 FPS, and it wasn’t clear what the problem was. On Chris Whitman’s machine, which uses a slightly different graphics card than my computer, our FPS was in single digits. I don’t like optimizing too early – as Donald Knuth pointed out famously, “premature optimization is the root of all evil” – but something was going on. Finally, sick and tired of the problems, I decided to get some answers.

There were three solutions for profiling that we looked at: Intel’s VTune, what we might call a ‘classical’ profiler which you can download a 30-day trial of from their website, and Telemetry, a different sort of profiler made by RAD Game Tools (specifically by Brian Hook, who you might know from such games as Quake 3.) RAD Game Tools also provided us with a 30-day trial of Telemetry, and this gave me an interesting opportunity to compare two profilers. Finally, we tried our luck with NVidia’s GPU Perfstudio to see if we could figure out what was happening on the graphics card.

Three profilers. One slow down. Who cracked the mystery? Find out below.

These actually have nothing to do with what Nicholas is doing but It Was Decided that the post needed some more visual accompaniment. Think of it as a tenuous thematic connection.

{ read this article }

Posted in Clockwork Empires, Programming | Tagged , , , , , , , , , , ,
17 Comments

Yet Another Technology Status Update

Last time I wrote a programming team update about Clockwork Empires, I made a comment that was somewhere along the lines of “the game is starting to hit that point where it transitions from a bunch of technology bits to something that looks like a game.” Well, we’re a lot closer to that goal than we were last update. Some of the edited highlights:

{ read this article }

Posted in Clockwork Empires | Tagged , , , , , , , , , , , , , , , , ,
27 Comments

The Sad, Strange Tale of Josiah Nutpin

Bachelors and bachelorettes! Are you alone this Valentine’s Day? Do you crave romance, and find yourself unable to obtain it at your local convenience store, bar, or motorcycle repair shop? Fear not, we’ve got you covered, for Gaslamp Games knows what you like. We present, for your Romantic Indulgence:

THE SAD, STRANGE TALE OF JOSIAH NUTPIN

THE SCANDALOUS TRAGEDY THAT IS UPSETTING THE NATION

a work of Salacious Bawdy-Fiction Composed on the Type-Writing Device

with Erotic Daguerrotypes by Mr. David Baumgart

{ read this article }

Posted in Clockwork Empires | Tagged , , , , , , , , , , , , , , ,
35 Comments

Hooray for Scripting! (And Other Things We Did In The Past Two Weeks)

Way back in December, we had just implemented a bunch of the character logic for going through the world and doing things using our Finite State Machine model and utility functions. What we discovered was that writing the code for the FSMs themselves was, to put it frankly, a huge pain. Additionally, non-C++ programming members of the development team could not easily add new items and new behaviours to items (mines, buildings, trees, and the like.) Micah J Best, at the end of December, decided that we should use scripting to wrap some of the complexity and hide it from the end user, while simultaneously letting our development team create new objects and FSMs without requiring a programmer to go thrashing about in the codebase. I said, “Fine. Show me a proof of concept and then we’ll talk.”

Fundamentally, Gaslamp’s programming team operates based on spite. If somebody says “oh, well, we’ll never get that done in time”, or “oh, well, it’s too impractical”, somebody usually says “no, it well isn’t” and will jump to the bait. (I did this recently with a pipe system test.) Saying “Well, show me a proof of concept and we’ll talk” is equivalent to putting a red cape in front of a bull.

Over the holidays, Micah found himself stuck in Quebec. With nothing but inlaws, a language barrier, two laptops (one of which was destroyed by a cat), a turkey stuffed with poutine, and spite, he put together the first build of what is our new scripting system. It does, indeed, encapsulate all our programming decisions and is fairly powerful and flexible. We took apart all the character code we wrote in December, ported it to the new scripting system, and have now started using it to implement new things in game. It’s very powerful and, after some back-and-forth, I’m quite happy with how it’s turned out. We’re still fixing bugs and fine tuning how it all comes together, but let’s see how it all works…

{ read this article }

Posted in Clockwork Empires, Programming | Tagged , , , , , , , , , , , , , , , , ,
19 Comments

What’s New In Programmertown?

The best part of game development, for me at least, is when everything suddenly starts working. Quite often, there is a critical mass of code that you end up writing for a game, and then – in the span of a week, or even days – you go from “everything is hideously broken and we’re going to die” to “Oh, this might be fun.” We’re right on the cusp of that right now; programming has seen some setbacks this week, mainly due to an outbreak of flu that has consumed the office. Nonetheless, we’ve been hard at work here in Programmertown, trying to get all the excellent artwork and ridiculous designs that people have come up with integrated into the game as quickly and efficiently as possible. Once again, let us take a tour through my folder of wonderful work-in-progress screenshots.

{ read this article }

Posted in Clockwork Empires | Tagged , , , , , , , , , , , , , , , , ,
8 Comments