Jump to content
  • Advertisement
  • entries
  • comments
  • views

Interlude: on tools

Sign in to follow this  


I'm going to interrupt my two-part brain dump on future hardware and programming technologies, for a couple of reasons. I'll start from the beginning so that hopefully my explanation is vaguely coherent. (That's unlikely, though, considering the extremely advanced state of sleep deprivation I'm in at the moment.)

I'm getting ready to make a little road trip up to my parents' place in Indiana, ostensibly to help out with construction on their new house, and other such stuff. Unfortunately, this isn't a proper vacation, which means I'll be taking some work with me. (It works out fine, though - they'll be asleep by 9PM every night which gives me a couple of hours guaranteed to get stuff done [grin])

So I've been copying my build environment over to Relm, my laptop, in order to be able to take my projects on the road. This is a pretty easy procedure, since I've got about 90% of it set up already from previous travels. The rest could actually be automated, but I haven't gotten around to it yet; I'll have to seriously think about it for the future. But that's another digression I don't have time for.

The upshot of this little bland slice of routine is that I realized just how much my current development box sucks. It's a great, reliable, and incredibly resilient machine, no doubt; but it's simply too old and decrepit for developing a next-gen game.

I've been planning, of course, to upgrade to a shiny new Conroe box - but it'll be another couple of weeks before inventory levels stabilise on the processor model I want, and I'm holding out for some price drops on the few Conroe-compatible motherboards. So I've just been hobbling along on my AthlonXP 2400 and GF4Ti4800 for the past couple of months, quietly losing my mind and pretending to be patient.

I timed a full compile/launch cycle on Phoenix, my development machine - the time it takes to recompile the entire game code (sans stable libraries, of course), start the game, and reach a point where I can actually play - I mean "work". On average, the length of the cycle is 6 minutes. What's worse, because there's a couple of game menus involved, I have to by physically present at the machine to keep the process moving forwards, so I can't even nip off for those 6 minutes to do other things.

And, since my processor is ancient rubbish, my machine is pretty much totally monopolized by the strain of running the compiler and/or the game. All of this translates into massive amounts of downtime, and as I've burbled before, downtime is very bad.

By contrast, on Relm, the glorious, beautiful, dual-core hunk of digital sexiness, the compile/launch cycle is roughly 40 seconds.

Yes, that's right. 40 seconds. Versus 6 minutes.

The more I think about it, the more I can directly trace my low productivity over the past few weeks to my hardware. Much of the time I don't have to do a full rebuild, which cuts the code/run cycle down to 2 or 3 minutes, but that's still 2 or 3 minutes I shouldn't have to be losing.

What's worse, I don't have the patience to sit in my chair and stare at the compiler while it does its thing - and I can't do anything else on the machine in the meantime. So, quite often, I'll get up and pace around, stretch, grab another drink, etc. This has two negative effects. First, I rarely sit down again at the exact moment that I can resume being productive, which adds to the downtime. Secondly, and more importantly, I lose my brain state.

I realized today that I haven't gotten into a proper groove in weeks, because I'm subconsciously frustrated as hell by the sluggishness of my hardware. So instead of building up momentum and getting huge swaths of things done, I keep stuttering in little abortive bursts, punctuated by compiles and waiting for the game to load.

My main excuse for hanging on to Phoenix has been the dual-monitor happiness. Yeah, 17" widescreen is really nice, but it just can't touch dual-17s for raw real estate. I'm constantly running two or three instances of Visual Studio for showing code and data files side-by-side. At any given moment there's a half-dozen browser windows, Notepad snippets, IM conversations, emails, and whatever else floating around. It's a critical part of getting stuff done.

Now that I've reminded myself just how much I'm sacrificing for those dual screens, though, I think it's time to just say "Screw it" and move over to the laptop entirely. I'll have to do that for this trip anyways... and moving all the data, email, blah blah blah back onto my desktop is a nuisance... so I'm just going to shift my development operations entirely over to Relm, until such time as I get around to building the Conroe machine.

Well, as usual, I blew a lot more hot air than I thought... if you think estimating schedules for software development is hard, try estimating how much drivel I'll sputter when I get to raving about something pointless. I was originally going to segue into some additional thoughts on productivity, tools, and programming languages... but I've forgotten half of what I was going to say, and I think most of it fits better in the Musings sequence anyways.

So here's another cliffhanger ending for you. Please don't lynch me.

And now a word from our sponsors.
Sign in to follow this  


Recommended Comments

Here's how I switch development machines:

[mike@laptop]$ svn co http://myhomebox/repository ravuya --username ravuya
We're in the 21st century, dammit. [wink] Although, sadly, this doesn't copy across my IDE settings but that rarely matters as all of my machines run dedicated different OSes (OSX, Windows, Linux).

Also, your previous rants have forced me to implement a new command line option on some of my games:
. I can feel my productivity increasing.

Share this comment

Link to comment
Guest Anonymous Poster


methinks you are still trying to rationalize and justify the purchase of a shiny new development machine. You have proved your point long ago, continued moanings about 6 minutes versus 40 seconds compile time gets me in mind of needing to shoot a horse because his leg is broken. Of course I am just kidding, but please someone get some inventory so he can build his box and get back to work. And I thought Wayne was obsesssing much about the shiny new white guitar in "Wayne's World"...sheesh.

Share this comment

Link to comment
Original post by Ravuya

In a bizarre but fulfilling bit of cyclical feedback, you inspired me in turn. I've implemented a parallel option, albeit renamed slightly for brevity and repeatability in the company of small children.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!