About chrisp


chrisp's Trophies

chrisp's Archive

Cyan Teddy Bear!

Posted by
Saturday, August 20th, 2011 1:40 am

I was hoping that I’d be inspired to think of an all-new game idea based on the theme, but unfortunately I couldn’t come up with anything interesting.

So, I’m resorting to my usual LD plan, which is to make one of my existing game ideas: a top-down, tile-based, turn-based, Thief-alike with a squad.

Here’s some programmer art! Say hello, Teddy:



In a desperate bid to introduce something that I hadn’t already thought of, I’ve decided to make all the characters teddy bears, differentiated using texture swaps. The above is the result of an afternoon spent bending Blender to my iron will, imported into Unity with a toon shader chucked onto it for the hell of it.

The real teddy is sitting on my desk. Reference, you know.

Now I just have to: write a way of making levels that’s less tedious than piecing together Unity scenes, make some level art, add some turn-based tile movement with multiple player-controlled characters, add a GUI to select characters / end the turn, write some AI guards to detect/hunt/kill the players, make it possible to win, make one fun level, tweak game mechanics to maek gaem betar, make more fun levels, add sound effects and music, and add a title screen and menus.

Red/Yellow/Blue is not a useful colour model

Posted by
Saturday, April 30th, 2011 8:35 pm

Yeah, I know. We were LIED TO at preschool. Childhood: destroyed. :-(

My idea: You are a nurse at a hospital for solo adventurers. It’s dangerous to go alone, but they went anyway, so now they’re sick. Each one has a different illness, represented by a different colour. In true homeopathy style (hey, it is a fantasy universe), to cure an illness of a particular colour you must make a potion of that colour, by mixing primary colours together.

Since potion colours are caused by pigments (SCIENCE!), a subtractive colour scheme is called for – namely, CMY. I wanted to use Red-Yellow-Blue, but it doesn’t actually work in practice. Sadness.

Here’s what I have so far: Playable Demo (requires Unity Web Player)


What do you reckon - graphics award is in the bag, yeah?

Click boxes to go there. You can visit the grey box to pick up a (weirdly-spherical) flask, and then visit the cyan, yellow, and magenta boxes to fill it with colours. Colours mix together quasi-correctly (I cheated and scaled them, so that one of the CMY channels is always at 100%, to make mixed colours look more vibrant).

The other rectangle thing will be a bed, eventually.

Playable Demo (requires Unity Web Player)

To-do list:

  • Patients with semi-randomly-coloured diseases
  • Patients have a sickness bar that starts at 50% and fills up over time.
  • Using a correctly-coloured potion on a patient will decrease the sickness bar. The closer the pigment, the bigger the decrease. Completely wrong potions will INcrease sickness.
  • Patients die when sickness bar is full
  • Patients survive (disappear and +1 score) when sickness falls to zero
  • Clicking queues up movement orders. Right-clicking clears the queue.
  • Tables to put WIP flasks down on.
  • Graphics
  • Sound
  • Animations?
  • High score list?

Oh boy. Less posting more coding.

Someone definitely has to work the space shuttle in there somehow

Posted by
Friday, December 17th, 2010 8:40 pm

I actually do have a bunch of ideas, I just don’t like any of them enough yet!

Here is some of my brainstorming, in case anyone would like some.

Plus a bunch of TV programs. Also, apparently just about every music album ever made.

Yes, all my ideas do come from Google Images and Wikipedia, why do you ask :'(


Posted by
Sunday, April 25th, 2010 7:05 pm

Well, that’s over. Tried to add a title screen and almost made it, but I’m over by a few minutes so I won’t count it. Even though I fixed a bug where you pretty much always die when starting level 5, which would have been really nice to get in the upload. :<

On the plus side, I did technically finish! If I hadn’t been so lazy, it might even have gotten “properly done”.

Ah well. Congrats to everyone else who finished!

I have a game, sort of!

Posted by
Sunday, April 25th, 2010 6:16 pm

The island has broken apart into white glowing pieces in a freak storm of spiky red things! Chaos! Calamity! Climate change! Who shall save us?

Have no fear, brave citizens! ISLAND REPAIR MAN is here!


Golly gosh! Thanks, Island Repair Man!

In about 1.5 hours I have added a level counter, lives, level progression, and win/lose mechanics. Which means I kind of have a game now! Not a particularly good one, but beggars can’t be choosers.

The list from my last status update, with done stuff crossed out:

  • Game-y elements: Win condition, lose condition, lives counter, level progression
  • Physics working better (still chugs on later levels but TOO BAD SO SAD)
  • Graphics that don’t suck rotten eggs.
  • Sound. ANY sound.
  • A public build. Need to remember to statically link the VC++ runtime so more people can run it.

45 minutes left. Better push out a build before its too late! Polish is for schmucks, and people with more than 45 minutes to finish their game.

Holy shit you guys

Posted by
Sunday, April 25th, 2010 4:45 pm

Two hours left! And I’ve got all that stuff I mentioned in my last post to do still.

code faster

I am a lazy lazy laggard

Posted by
Sunday, April 25th, 2010 5:25 am

It’s now time for bed, again, and all I’ve achieved since last night’s bedtime is adding a player object with the ability to jump from “island” to “island” (just pretend the white circles are islands, ‘kay?), and thus create rigid connections between the islands.

Which isn’t nothing. But it’s a lot less than I needed to get done if I wanted this to turn out like a proper game. The cause? I simply haven’t put enough time in today.


Here is a screenshot of me (the bluish streaky comety thing) jumping towards the final unconnected island, having knitted four of the islands into a nice solid triangle + one that’s just kind of hanging there. Reaching the unconnected island without hitting any of the red circles is the win condition. Or at least it will be, once I’ve added code to check for that.

It looks a little better in motion… but not a lot better.

Things I don’t have, and should:

  • Game-y elements: Win condition, lose condition, lives counter, level progression
  • Proper physics balancing. Notice how many of the circles are pressed up against the edge? That can make gameplay really annoying sometimes. I need to increase the force that pulls them back into the centre (or solve the issue in another way). But make the centre-pulling force too strong and everything bunches up, making the game impossible to play. And it needs to be able to cope with arbitrary numbers of circles, as that’s the level progression mechanic that I have in mind. Hmm, maybe I should remove the collision between circles, then it wouldn’t matter so much. Would make it look uglier though, especially if I make the graphics less abstract.
  • Graphics that don’t suck rotten eggs.
  • Sound. ANY sound.
  • A public build. Need to remember to statically link the VC++ runtime so more people can run it.

None of this is terribly complicated, but I need sleep now and when I wake up I’ll probably only have about 3 hours to the deadline. 4 at a pinch. Sigh.

The worst part is that I don’t even care that much. So unmotivated. LD was supposed to solve that problem. :-(

Introducing Island Repair Man

Posted by
Saturday, April 24th, 2010 7:25 am

So I dicked around with crossing the theme with Pretentious Art Game and doing something about “people as islands” and making connections between them (d’awww), but I wasn’t able to come up with mechanics which reflected the idea I was trying to get across while also sounding like fun.

So I tweaked the mechanics a bit and ended up with this concept: Island Repair Man! Your floaty island in the sky has been broken apart by an attack of Giant Flying Island Rodents, or something like that, and it’s your job to rope it back together.

So far I have a glorified molecular dynamics system / particle simulation. Now with added verlet. Woo.


The white bits are the island pieces which you’ll have to jump between and thus rope together, and the spiky red bits are Generic Bad Guys to avoid. They repulse each other with inverse-square forces so everything floats around and makes a nice dynamic playfield. Now that I’ve changed themes I should probably swap out the art; but gameplay comes first!

The roped-together islands will be constrained to stay at the same distance they were at when first roped together, so you’ll gradually put together a neat-looking structure as you hop from island to island. Hopefully that won’t make anything explode. Verlet integration is supposed to be able to take constraints in its stride, so it should be okay.

More importantly, I have no idea if this will be fun at all; I guess I’ll find out tomorrow. Or rather, later today, as it’s past midnight. How the heck did that happen. Sleepytime, pronto.

Let’s do this thing!

Posted by
Friday, April 23rd, 2010 7:15 pm

Greetings. I thought this was my fourth LD, but after looking back it must be my third. Apparently I can’t count. I don’t even know who I am anymore.

Assuming this is my third time, that leaves the score so far at 1-1: I finished LD11 with a half-decent entry, and bombed out on LD12 due to too much time spent trying to make my unfamiliar dev environment work (for the record, Flex can go die in a fire).

Back with a vengeance, and this time I’m planning to eschew Flash in favour of trusty old C++. Madness? Or… genius?

See, C++ has a few advantages.

  • Every library on the planet (that I care about) works with it out of the box. (Unlike D, and everything Flash.)
  • The tool support, in the form of Visual Studio, is unparalleled. Unless you count .NET, but there’s no way I’m learning C# as part of Ludum Dare. I made that mistake already with Flex.
  • I’m using it at work now – to make games, no less! w00t! – so I’m a lot more familiar with it than in previous LDs.
  • The compiler has strict error-checking. I used to hate this, but after further experience with Python I’ve seen the light. I like having my mistakes caught early!

Will probably use Irrlicht or SDL as my main platform, depending, and I have all the usual suspects for content generation in mind: GIMP, Inkscape, sfxr, Audacity, maybe Blender if I get ambitious (hate the old interface – might try the beta).

Wait, Islands? Really? Bah humbug. First priority: Take a walk and brainstorm.

[FAILURE] Box Wars 2: Attack of the Boxes

Posted by
Sunday, August 10th, 2008 5:00 am

So here’s what I have. It’s written in Flex, uses Box2D for physics, and is REALLY REALLY LAGGY. I have it open in another tab and Firefox 3 is updating the text in this edit field at about 2 fps.

The boxes are attacking! At 2 frames per second!

This is Box2DFlash’s debug rendering – I haven’t had time to implement my own – hence lack of graphics and colours and general prettiness. The grey boxes around the edge are enemies; they spawn every 2 seconds from either the left or the right. The slightly larger grey box in the middle is the player. The circles are bullets shot by the player. They don’t do damage (the boxes cannot be killed!) but they do force the enemy boxes back. Each box jumps vaguely in the direction of the player every second or so.

The idea is that the boxes are attacking and you have to push them down to prevent them from touching you. But since you can’t kill them, eventually the whole screen piles up with boxes and you inevitably die.

The boxes were supposed to have smarter AI, and intentionally build towers of themselves rather than just stupidly launching themselves towards you, but that’s obviously not going to happen in time. The other flaw in the plan is that it’s REALLY REALLY LAGGY.

It’s kinda almost fun to play around with, being a physics simulation, but there are too many problems (too laggy, needs proper rendering, too laggy, bullets need to die on impact, need limited ammo and ammo drops, too laggy, need health and dying, needs survival timer, too laggy, needs sound) and too little time to fix them – I have to go to bed now for university tomorrow, and although the deadline is 1pm local time I won’t be able to work on it tomorrow at all. Even if I did fix everything in time, I’m not convinced it’d be a fun game. So I guess I’m calling this one quits.

I’ve failed! Hope you all have better luck!

Things on Top of Other Things

Posted by
Sunday, April 20th, 2008 6:25 am


Minimalist game. Few pixels. Few words.


Windows, run executable. Ignore errors. They claim fatality. They lie.

Others, need python, pygame. Run python main.py


Posted by
Saturday, April 19th, 2008 5:33 am

Here’s what I have so far, in source code form. I can’t be bothered packaging it up properly right now, so you will need Python and pygame to run this:

Click to download

How to play:

  • Goal: Reach the exit
  • Left and right move
  • If you’re not holding anything, spacebar picks up crates from in front of you
  • If you are holding something, spacebar drops it in front of you
  • Don’t touch enemies
  • Enemies die if you drop a crate on them
  • Press a digit 1…9 to skip to a level.

If you die, the game will quit. If you win the game, it will also quit. If you’re running from a console it’ll tell you which was which, but otherwise you have to guess! Just my way of fighting back against the evil GUI oppressors.

If you need to restart a level (either ‘cos you got stuck or died), quit the game, restart it, and press a level skip button. I’ll code in a restart level feature later, don’t worry…

Obligatory screenshot follows. The Anonymous Game Hero (he isn’t E.T.’s Ugly Twin any more, I redrew him more simply – I mean, more minimalisticly!) is shown here holding a crate, waiting for the Not-So-Big Bad to wander over and offer itself up for a squishing.
Another work-in-progress screenshot of my game; much more progressed this time

Incidentally, and coincidentally, this game scores highly on the time-to-crate index.

This-is-not-Sokoban: Screenshot!

Posted by
Saturday, April 19th, 2008 1:25 am

In just over an hour, including player movement. Not too bad. (Although I’ve spent like 10 minutes on this post. Gah!) I’m going to have a dinner break now, and then spend my remaining 2 hours on actual gameplay.

Work-in-progress screenshot of my game

I know, I know, it’s ugly as sin. My artistic skills are, uh, minimalist. The character at least definitely needs work.
The gameplay currently consists of moving left and right until you get bored. A Sokoban-ish clone with gravity is the planned gameplay. E.T.’s Ugly Twin here will be able to lift blocks above his head and place them down, either to make his way to the exit (by building piles / filling in holes) or to crush monsters. Because, as everyone’s favourite anti-games lawyer idiot knows, no game is complete without at least a little bit of ultra-violence

Minimalism is present in at least the following ways:

  • Colour palette (totally monochrome, baby!)
  • My artistic skills
  • Pixels (all sprites are 12×12 pixel art)
  • Squinting required (the sprites are resized up to 48×48 pixels so that they’re visible to the human eye)

There are others, but I’ll leave them up to you to guess!

Time management? You can’t handle the time management!

Posted by
Saturday, April 19th, 2008 12:00 am

Hi there. My name is Chris, I’m the guy responsible for this game, and this is my first Ludum Dare ever. I’m going to use a library which I haven’t touched for literally years (pygame), in a language which I hardly ever use (Python). I only decided to enter half an hour ago (after the contest started – yes, I’m that hardcore), so I’m completely unprepared.

No matter. I’ve probably got pygame installed… do I? Oh yeah, I do. That’s good. So… how does one use this, again? Meh. I’m sure there’s a tutorial on the net somewhere.

Did I mention that I’m going to a party tomorrow? That will take up pretty much the whole day, and mean that I probably won’t be up and functional before noon the day after, which is the deadline. So I only have tonight available, and it’s currently 6pm here. Factoring in an hour for dinner and assuming a responsible bedtime of 10pm, that means I have… three hours.

Hmm. Oh well. At least there’s crap-all on TV.

Maybe I should stop typing English and start typing code right about now.

Any second now….

…wait for i

[cache: storing page]