About Sam Driver


Ludum Dare 25
Ludum Dare 18

Sam Driver's Trophies

Sam Driver's Archive

A Fair Wind – Day 3&4

Posted by
Thursday, July 25th, 2013 4:53 pm

I lost much of yesterday to a migraine, and what time was left to the far more insidious beast of fiddling with procedural generation parameters.

I’m now wildly behind schedule, but I do have it consistently generating landscapes that I feel pleased with. It may be a little presumptuous to say but I think it does a good job of not looking too much like generic procedural landscape. Mainly thanks to a little hydraulic erosion simulation that produces neat cliff features, and some free mixing of mountainous and rolling hills terrain. I’m also really pleased with how the colouring and shading have turned out. Other progress is in creating nice chunk of heightmap processing code and smarter vertex buffer updating to my library, but that doesn’t show up so well in screenshots. Tomorrow I’ll implement water and I promise that will look nice in [animated] screenshots.


I’ve developed a much better idea of where the game’s headed with its mechanics and theme, even if it is at best skirting along the borders of the People’s Republic of Real Time Strategy. Originally the concept was that the player is the spirit of the landscape guiding a settlement in its growth and war through their use of various abilities to morph the landscape and control weather (‘sup, Populous). But I think there’s probably enough games about killing people, so I’m moving the focus towards the nurturing aspects that can be found buried deep in base building RTS games. Caring for the tiny people as they scamper about: smoothing over a mountain to make way for crops here, channel a river somewhere useful, that kind of thing.

I’m a little apprehensive as the spectre of traditional game design keeps telling me the player needs a clear goal with a direction they can take towards the win state. And for there to be a win state. I shall offer up some appeasement through having abilities unlocked by completing tasks in the game. For instance having a certain amount of crops growing will unlock the ability to raise new mountains. Although what the player must do to unlock each ability will not be shown, I aim to provide good feedback on when they’re making progress towards an unlock. That should create an impetus in the player to both care for their people so the population grows (which is sure to unlock something), and to experiment with their abilities in novel ways to find how to unlock more. Kind of like achievements, but without being bullshit extrinsic rewards.

That sounds like a lot of stuff for a game that’s meant to be finished in four days’ time. So it’s not quite a real time strategy game, and it’s very unlikely to be done in seven days. But other than that 7dRTS is going great for me.

A Fair Wind – Day 2

Posted by
Tuesday, July 23rd, 2013 6:58 pm


Making non-game-specific stuff during a jam is definitely not the best way to do things. I could have made most of what I did today before the week began and wouldn’t have felt at all like it was cheating, but oh well.

Today has been landscape again, now able to render large maps, generate some quite nice mountain ranges, and have put in the start of the player being able to manipulate the landscape. Also raycasting against the landscape and a nice little camera system. All the landscape manipulation is done through workers, so even during heavy processing the game remains responsive. Not so important for the initial generation of the map but will be key once I get the more dynamic elements of the terrain going.

Tomorrow the terrain will become less monochrome, and much more dynamic. Hopefully I’ll get some flowing water done too.


A Fair Wind – Day 1

Posted by
Monday, July 22nd, 2013 4:39 pm


I’m in for this MiniLD. My plan is for something in the area of a god game, which I think is probably close enough to being a real time strategy. Even before starting my idea was scoping out a little wildly so it’ll be interesting to see what remains by the week’s end. It’s quite possible that by then I’ll have decided to skip over the “strategy” and  “game” parts of the design.

Language: Haxe

Platform: Flash

Flavour of the month technology I’ll regret using: Flash Workers

As well as the Flash API and HxSL (like GLSL or HLSL, but it can compile to the bytecode used by Flash’s Stage3D rendering stuff), I’m using my hodge-podge of a self-made library. Recently I’ve added stuff to that library to deal with data sharing between workers, so this should be a nice relatively small scale test for it.

With most of the first day gone I’ve got the basic core of memory and worker management going, and a rendering height map. Easy to forget the time it takes to write even quite simple code to generate a mesh from height map data, definitely a good thing this isn’t 48 hours.


Double Tap – Postpartum

Posted by
Friday, December 21st, 2012 10:46 am

Here’s why I don’t like my game.


The Cacophony of Completion

Posted by
Sunday, December 16th, 2012 7:04 pm

By the skin of my teeth, finished in time. I think there’s still a bug in the submitted version that stops “ambient” people from following their movement paths. But the game itself seems to play through fine.

Big congratulations to everyone that has made it.

Scripted Movement Paths in a Hurry

Posted by
Sunday, December 16th, 2012 9:53 am


Don’t have a sensible workflow for creating movement paths? No problem!  Just make a mesh in Blender that’s a long chain of vertices where you want something to move:



Export that chain as a .obj file. That format is an easy to read plaintext file, with each vertex’s position given by a line beginning with “v”.


Just grab the vertex positions from that and you have a path to walk along. You can even copy-paste the vertex positions into your raw code if you’re in full LD panic mode.

Pretty Debugging

Posted by
Sunday, December 16th, 2012 5:04 am

While getting screenspace rendering to work for HUD stuff, I had it just draw a plain red quad. I think it’s kind of pretty. It’s also the wrong size, so something is broken.
(GIF is hosted off-site to save LD’s bandwidth, and might be a little slow to load)

Dawn of the Second Day

Posted by
Sunday, December 16th, 2012 4:06 am


Glad I went to bed when I did last night. I was about to waste my time implementing shadows. A quick taking stock of where I am:

  • Controls are in and tweaked to feel as I want them to
  • Excessive graphic effects are in
  • World/landscape loading is in
  • The world is about 70% done

15 hours to finish, with the following to do:

  • HUD elements
  • System for simplistic scripting of NPC movement
  • A handful of sound effects
  • Scripting what actually happens in the game
  • Heavy handed moralising message

Just noticed the URL for this post automatically added a “4” on the end of the title. Guess it’s not too original huh?

Several Shaders and a Goat

Posted by
Saturday, December 15th, 2012 1:15 pm


How many post-process shaders does a game need? Always one more. The goat will appear in the game, but a little harder to spot than here.


In, and First Screenshot

Posted by
Saturday, December 15th, 2012 7:01 am

Hello, I am in.

I wasn’t planning to be in, but had an idea for a fairly quick to create game (that comment will certainly not backfire). Here’s my first screenshot, and below the break details of what I’m using.



Show your workings

Posted by
Monday, August 23rd, 2010 5:11 am

Click for the full page of notes

Phew, finished my game last night at very much the last moment.  Above is the page of scribbled notes accumulated over the 48 hours – a mixture of design ideas and remembering how geometry works.

Post mortem style words after the ‘more’ link.


Designing in your sleep

Posted by
Sunday, August 22nd, 2010 7:06 am

Not being able to get to sleep is excellent for redesigning.  I’m now happy with the design for my game, and I even naïvely think I can finish it in time!

Design is:

Space-based sidescroller.  Player given the usual 4-way control of an unarmed ship.

Progress through an (absurdly unrealistically dense) asteroid field.  Asteroids are static and there is always a fairly large safe path through the field.

From behind the player, homing missiles fire!  They are fairly easy to avoid as they react quite slowly to your movements.  The missiles can be tricked into colliding with the asteroids.  Avoiding them provides a moderate challenge when combined with navigating the asteroid field.

Every X seconds, the missiles stop being launched and instead a gunboat flies through the game area.  The gunboat fires volleys of bullets in pretty patterns which the player needs to avoid.  The gunboat can be damaged and destroyed by luring missiles into it.

The trick to the design is that the safest way by far to deal with the missiles is to quickly trick them into hitting an asteroid so that they’re destroyed.  So if you want to damage the gunboat (for mega points) you’ll need to take the risk of keeping a gaggle of missiles alive.  Not only does that mean there’s more missiles trying to kill you, but keeping them all safe from asteroids can become quite a challenge.

Hopefully the end result is a game with dynamic difficulty that is determined by the player’s skill and willingness to take on risk.  A less skilled player can play through just dodging everything, whilst an expert would make sure every missile ends up hitting a gunboat.

Obligatory screenshot:

Getting priorities straight

Posted by
Saturday, August 21st, 2010 11:34 am

Who needs collision detection, AI or gameplay when you can have graphics!

Been feeling like I have a cold all day, so I’ve given myself a relaxing time fiddling with graphics instead of doing the real work.

Plan is for the player to fly an unarmed ship that is being chased by (very much armed) enemies.  Duck behind asteroids to avoid fire and trick the enemies into shooting themselves.

Asteroids, in SPACE

Posted by
Saturday, August 21st, 2010 4:47 am

Oh yeah!  Smells like innovation.  Innovation and placeholder graphics.

Oh, morning

Posted by
Saturday, August 21st, 2010 2:50 am

First Ludum Dare, slept a bit late.  Here’s my base code. Handful of geometry, poorly implemented data structures and some alternative image rotation stuff I’ve found useful, and a light-mapped sprite blitter.

I’ll be using FlashDevelop, Pixel Bender, GIMP, SFXR and Audacity (maybe just AS3SFXR).

I’ve a couple of ideas on the theme, but they feel kind of dull and/or predictable for now.  We’ll see!

[cache: storing page]