Author Archives: Nicholas

The Joys of Video Card Compatibility

With David taking a quick getaway vacation, and Micah off recovering from not doing anything in academia recently, Daniel and I are quietly holding the fort. By quietly, I mean “stirring up trouble.”

As you may have read, we sent out several builds of Clockwork Empires to various parties recently. Six such parties, in fact. Of these six parties, three of them were able to play the game, and three of them were not. This is what happens when you take code that runs very nicely on your office machine (Windows 7, a Lot Of RAM, a fairly recent video card of Good Quality and Character by NVIDIA, with a Fan Attached To It) and try to run it on somebody else’s machine (Windows XP laptop, 1 gig of RAM, and the video card driver is actually just Bonzai Buddy.)

black

Output of the game on the Intel HD4000.

{ read this article }

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

Combat 2: Son of Combat

Last time we wrote about combat, everybody got very excited about entrenching and trenches and gabions and spikes and shooting. Hooray for that. The brief, as I understood it from David “Accurate Simulation of Grain Silo” Baumgart, is the following:

poster_army00

  • Combat should be tactical and positional. Your entrenchments matter, your set up matters, and it is a tactical, positional sort of warfare.
  • Combat should be character-driven. How your soldiers approach a task depends on the relative efficiency of whoever is running the show, and of the soldiers themselves.
  • Combat should be pretty slow, really. Let’s have battles that feel like battles! (Many games have a problem where you send 30 dwarves to attack a Forgotten Beast and it’s all over in a blur of particles or ASCII.) No, let’s give the people what they ask for.
  • Pip pip, what ho, etc.

As the technical director, when some sort of a system comes up, I usually take a first swing at it before it gets passed on to somebody else, or I keep working at it. This sort of tends to be how I contribute to the design – by brute force implementing whatever I think things should be, but knowing that I won’t get any art for it if David doesn’t like it. It is this heady triptych of unresolved creative tension that makes Gaslamp Games into the swirling beehive of … bees… that it is today.

{ read this article }

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

How to Debug an Exploding Building

Things are afoot. As part of these things, we have had to do a few things that we have been putting off for awhile now here at Gaslamp HQ. One of these things is fixing pathing so people do not walk through each other; the other, which is what I have been working on, is a thorough shakedown of the building code.

As long-time readers are no doubt aware, one of our interesting pieces of technology is the code for procedural buildings. In Clockwork Empires, you designate a building footprint, feed it some style information (“brick walls and gabled roofs, please!”) and the engine churns out a building to your specification. There is significant Technical Devilry in our building code to do this, as it is a fairly hard problem to take somebody’s blueprint and get a building out of it.

As part of upcoming Things, one of the things we have been working on is a rewrite of our code for procedural buildings. The new code has a few key features that were requested by our art department:

1. It should not explode. (See this picture, arranged by David Baumgart and sent to me, of roofs exploding, set against a backdrop of early 2013 art.)

big_book_of_british_rooves2. Support for other roof types. (Roofs come in a number of different styles, and we should not blow up when we handle them.)

3. Less fragility when handling cuts in buildings (for things like modules, doors, windows.)

4. “Good” edge beveling for roof flashing. What this means is that when a roof faces the player, and has complex geometry, we should bevel it appropriately.

5. A litany of other, minor artist complaints.

Accomplishing all of these things requires a certain amount of very tricky programming, and some very skilled debugging. How do you debug an exploding roof?

{ read this article }

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

Down On The Farm

Lots of good stuff is wandering through the game this week as we finish a bunch more systems and lurch towards The Great Content-ing:

– Immigration is in – bands of migrants will arrive, ranging from people for your work crews to upper class capitalists and the wretched Aristocracy. (Not implemented yet: the jolly Population Dispersal Zeppelin.) This is implemented handily via our newly-finished event system from a few weeks back; other random events that can happen at present are wretched Novyrus peddlers and Invasions From The Deep.

– Various screens are being implemented, and David is sending them back to me with lots of jolly comments about how terrible they look.

– On the technical front, good progress is being made on the loading and saving front, using a plaintext save-file format (actually, more XML) which will hopefully alleviate some of the problems with the binary approach we used with Dredmor.

But what I actually want to talk to you about today is farming. Inspired by the fact that our citizens have had nothing to eat but berries and the occasional hunk of meat scavenged off of an auroch for the past eight months, we decided to implement farming this week.

{ read this article }

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

I SMOULDER WITH PROGRAMMER RAGE

Have you ever had one of those weeks where everything seems to go wrong? Work is being done. Oh yes, work is being done. But at every step, we are beset upon by mystery and woe! ARGH.

Loading doors! Mr. Triolo animated them. They are lovely:

Good, well-behaved shutters. (Seen in Maya.)

Good, well-behaved shutters. (Seen in Maya.)

Let’s put them through the same process that we use for importing everything else into the game, la la…

{ read this article }

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

Tags and Events

Gin mad engineer

Simulation of Nicholas’s ravings in-engine.

The IGF has announced today that they are removing the Technical Excellence category from their awards because of, quote, “widespread, affordable middleware”. Since I am a shattered pinion of a man, barely holding together and clutching a bottle of gin in the wake of this decision, I… I…

I don’t know what to write about any more.

I lurched into the office this morning. “What do we do?!” I asked nobody in particular. “Let’s… let’s… stop everything! Let’s license Unity! Let’s make a platformer with a lovable quirky twist!” Then David slapped me about a bit.

“You’ve got to blog!” he yelled. “Do it for the children. DO IT SO THEY MAY ONE DAY ENJOY TECHNICAL EXCELLENCE. ”

And so, one day late, we shall blog about technology – because I still believe in a world of Technical Excellence.

{ read this article }

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

State of the Programming

Greetings, loyal Subjects of the Empire! As you know, we traditionally give out a programming status update around the start of the month to let you know what we’ve been doing. To make things even more exciting, Mr. Triolo recently found some sort of “GIF-making” tool on the steam-pipe-and-radium-Internet. Therefore, what the heck, let’s show you some animated engine footage… in very, very small quantities.

conver2

Work makes us all sad. That’s why we’re in game development, right?

So, without further ado, what’s new this month…? 

{ read this article }

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