Games from Within is back

Heads up: I'm back writing on Games from Within. So make sure you re-add it to your RSS reader :-)

Bad News for Scons Fans

We have been talking a lot about Scons recently at the Power of Two Games World Headquarters. MSBuild has proven to be quite a pain to work with for our asset builds and eventually left us dissatisfied (that's material for a whole other entry). So we kept looking over to Scons as a possible solution.

Back to The Future (Part 2)

tea cupI really enjoy a good cup of tea. On the surface, making tea is really easy: take some tea leaves, pour some hot water over them, and wait a few minutes. In practice, the difference between a bitter, undrinkable brew, and a perfect cup of tea is all in the details; the type and amount of tea, the temperature of the water, and the steeping, time all make a huge difference. A playback system for a game is very much the same. As we saw last month, the basic idea is really simple: Record all game inputs, make the game deterministic, and you get the same playback every time. Unfortunately things aren't quite that simple in real life. Just as with tea making, the secret to a perfect playback system is all in the details.

Back to The Future (Part 1)

How would you like to be able to reproduce every crash report that QA adds to the bug database quickly and reliably? How useful would it be to be able to put a breakpoint the frame before a crash bug happens? You can do all that and more if your game is deterministic and you feed it the same inputs as an earlier run. Sounds easy? It is, if you implement it early on and you keep it that way during development.

Still alive...

Worry not, we're still around! We're just... really busy.

The Measure Of Code

tape measureI've gotten a lot of questions about how big our codebase is, how fast does it build, how many tests we have... Fear not, Gentle Reader, all your pressing questions will be answered here.

What's Your Pain Threshold?

lechimpMine is two seconds.

For many months, our unit tests ran under one second. Each library has its own set of unit tests, and so does the game and each tool. So even though we were writing lots of unit tests, we weren't always running them all at the same time. There was a definite snappiness to coding: write test, compile, fail, write code, compile, pass, move on. Go, go, go.

Color your svn command-line output with svnc!

Wouldn't subversion's command-line output be more readable if it were horrifically color-coded by way of a C# wrapper that P/Invokes down to Win32's ::SetConsoleTextAttribute function to do its work?! I thought so too!

Stupid C++ Tricks #2: Better Enums

C++ enums are great in practice, but they're a bit lacking once you really start flexing them. Don't get me wrong, they're definitely a step up from #defines, but you can't help but wish for more.

We're Shutting Down... And Going to GDC

GDC08Ever since I've been in the games industry, I've wished that come March, whichever company I'm working for at the moment, would shut down for a week and send everybody to GDC. I've been lucky enough to work for great companies that have sent lots of people, but never close to everybody (or at least everybody who wanted to go).