Ludum Dare 31
Theme:
Entire Game on One Screen

Judging ends in:
It’s time to Play and Rate Games!

PlayRate80Star

About schnerble

I'm a professional programmer, and have worked on a variety of bits and pieces in the past, including games. It's nice to get a chance to try making a whole one myself, though :)

Entries

 
Ludum Dare 31
 
Ludum Dare 27
 
Ludum Dare 25
 
Ludum Dare 24
 
Ludum Dare 23

schnerble's Trophies

schnerble's Archive

Made it

Posted by
Sunday, December 7th, 2014 7:49 pm

Once again I’m almost a little surprised that I managed to get things finished in time.  Much of the credit goes to the makers of the very awesome Phaser.js, which pretty much did exactly what I told it every time – which actually isn’t as common among libraries as you might think!  Any bits of time I lost were from silly mistakes I made in coding (and there were several), or weird bugs in other software (I’m looking at you, Gimp!) – but largely all went pretty smoothly.  I even managed to get the time to leave the house twice…

My game started out as a sort of a Gauntlet thing, but due to the odd structure of it (a sort of ever-changing maze on the one screen) it became clear at about the half-way point that I wasn’t going to be able to get that to work in time.  I turned it into a fairly simple little puzzle game, and I think it turned out pretty well.  I had enough game mechanics to keep play going for a little while, and could’ve made a few more levels if I’d had the time, but it’s probably enough as is.

I didn’t get time to polish things to make a more well-rounded experience, such as adding menus, game restarting, and other such bits – and there’s no music – but never mind.  Other things I was going to do included improving the animations (you can’t see much changing in the up/down player movement), adding water splash and rock rolling effects, making the charge only last for a limited time, and adding some hints to explain what to do.  Never mind.

If you get a chance to have a play, let me know what you think!

"Clockwise" screen shot

Rush mode

Posted by
Sunday, December 7th, 2014 12:34 pm

Guess I’ve been pretty quiet on the board for this LD… I’ve been rushing to work out what I want to do and how to do it, and changed the game style at around the mid-way mark.  It looks like things are coming together, though; let’s just hope there’s enough fun game in there at the end!  I’d post a screen shot, but it’s full of messy debug info at present.

I’m seeing some very interesting game ideas out there.  Good luck to everyone in the final stretch!

Phaser or Cocos

Posted by
Thursday, December 4th, 2014 2:04 pm

I’d like to say a quick thank you to whomever it was that mentioned Phaser.js recently… I set it up last night (then ran out of time), and it looks very cool and easy to use.  In the longer term, I’m still interested in Babylon.js, but I think there’s more that I can mess up there when rushing around during the compo, and bugs aren’t things I enjoy (;

I’m curious now about comparing Phaser.js and Cocos2d-x.  At first glance, Phaser looks a bit easier, but Cocos2d seems to provide a bit more control.  I doubt I’ll have the time to really look into it just now, but maybe for next time (:  I’d be curious to hear opinions, though – if anyone notices this post among the hundreds going past at the moment!

My first Ludum Dare in Seattle!

Posted by
Tuesday, December 2nd, 2014 3:12 pm

Hi all!

I skipped Ludum Dare 28 due to job interviews in Seattle… and now I’m here!  It’ll be interesting to see what it’s like to start a jam at 6pm (PST) instead of 2am (BST) for a change (:  (I missed LD29 and 30 due to other commitments)

Who else is joining in from the Seattle area?  Just curious!

Anyway, game-wise, I’ll probably go for something web-based this time.  I haven’t had enough spare time to look into APIs much, but these seem likely:

Dev platform: Visual Studio on Windows
Language: TypeScript most likely
Potential libraries: Babylon.js, Cannon.js, maybe Three.js; whatever works
Programmer art: Inkscape, GIMP
Audio: Autotracker, BFXR

Looking forward to getting back into it! (:

Sadly I’m Out

Posted by
Monday, December 9th, 2013 10:40 am

I was really looking forward to LD28.  Nothing like having an excuse to programme something fun!  Unfortunately I’m now going to be away this weekend, so will have to give it a miss – but at least it’s for positive reasons… I have a couple of job interviews coming up (:

Enjoy yourselves in the compo, and may the best game win!  See you here again next time (:

I’m In – With Difficulty :)

Posted by
Friday, August 23rd, 2013 11:49 am

Hi all!

After missing LD26 due to family commitments, I’m back in for LD27.  Looking forward to it!

I’m using another new technology this time: Emscripten, to compile C++ code using SDL (and ideally OpenGL) into JavaScript code playable in a web page.  The guys have done a remarkably good job on that; I’ve just been trying it out recently, and it’s really cool.  I’m in the middle of a bit of indecision about exactly which libraries to use, as I’ve been playing with SDL, and that’s really cool, but unfortunately not all of it is implemented in Emscripten yet – including some things I was going to depend on, such as setting colours and transparency levels for surface blitting.  I’m having a last-minute look into using the WebGL subset of OpenGL ES 2 in it, in the hope that I can get everything going that I need – though the question arises whether it’s really worth using WebGL via Emscripten as opposed to just WebGL in JavaScript… hmmm (:

The little bit of my own library code I’ve been using, to make sure I can actually get something going in the time, is here.

Adding to this interesting situation is my current lack of Internet access from home.  Well, luckily there’s an Internet cafe nearby, but that may lead to me finishing early, as they’re not likely to be open when LD27 closes at 2am Sunday night, UK time… I have some ideas about uploading at the last minute via my mobile phone, but we’ll see.

Target Platform: Web
Language: C++ / Emscripten / JavaScript / HTML5 / WebGL (wheeee)
Development Environment: QtCreator on Linux (Kubuntu 13.04)
Graphics: GIMP
Sound: SFXR + Autotracker

Good luck to all, and may your bugs be few and uncomplicated!

Post-Mortem / Timing Breakdown

Posted by
Sunday, December 30th, 2012 1:38 pm

Hi everyone!

I thought I’d write a bit of a post-mortem for my game, Thievery, but in doing so decided on something a bit different.  From my git logs for the game, I have a reasonable record of what happened when (and can take a fair guess at the rest), and thought I’d post it to see if it’s of interest.  The stats at the end were interesting for me (:

My game is about helping a thief sneak around and steal gold from houses and pickpocket guards, while avoiding capture by the guards and guard dogs.  Note that the times listed below include a fair bit of time spent on “art” – it was definitely programmer art, so nothing too impressive, but it still took time (:

Saturday December 15

02:00 Theme announced; I'd decided to sleep through and find out in the morning
08:00 Woke up; started getting ready and brainstorming at the same time
08:30 Started work on Thievery
09:08 Got a basic loop running, with newly-created background and placeholder player sprite
10:15 Added player movement
12:53 Added dagger shooting, after spend ages on sprite rotation
13:18 Finished lunch
14:13 Put guard & thief images in
14:46 Can now shoot guards with daggers, using rectangle collisions
14:57 Limited player movement to the screen dimensions
15:45 Back from 45 mins jogging
16:39 Added basic stats, plus dying animations for characters
16:49 Added damage animation
18:51 Added houses
19:20 Wrote some basic level loading code
19:40 Finished dinner
20:31 Fixed rectangle collisions (for daggers/houses, etc)
20:58 Added circle collisions (for living/moving things)
21:46 Added chests
23:54 Added looting
00:30 Guards now chase the player when seen
00:56 Guards now hit the player when in range
01:10 Now reports player death, and forces restarting
02:13 Added guard patrol routes

Sunday December 16

08:00 Woke up
08:30 Back to work
10:03 Guards now move around obstacles, instead of getting stuck
10:23 Added pausing
11:07 Guards now can't see through houses
12:39 Added basic events system and character chatter
13:40 Back from an hour at the gym
14:00 Finished lunch
15:48 Added more events with chatter, and a win screen
16:48 Added guard vision cones
18:00 Back from meeting friends for 45 minutes
18:20 Guard vision cones now turn red when chasing
19:32 Added better level data
19:50 Guards can now only see forwards
20:00 Finished dinner
21:09 Added intro screen
21:15 Guards can now see at 90 degrees at close range
22:09 Added guard dogs
22:35 Added Pickpocketing
00:07 Added sounds, including triggering from events
00:49 Added music - main and win screen
01:30 Windows build fixes: paths, extra keys
01:49 Added guard alerts
01:58 Submitted Linux version
02:00 Deadline for development (start of submission hour)
02:06 Submitted Windows version

Overall totals:

  • Programming: 25 hrs 30 min
  • Art: 3 hrs 45 min
  • Level and other content design: 1 hr 35 min
  • Sounds: 45 min
  • Music: 30 min
  • Breaks, etc: 4 hrs 30 min
  • Sleep: 11 hrs 45 min (+2 hours before LD25 started)

Final points

  • Most fun thing to put in: guard and thief chatter (I couldn’t be too inventive given my tiredness, but it was still satisfying)
  • Next thing I would’ve done if I had time: given the player a way to hide from guards to get away
  • Thing to do for next time: get better at art (;
  • Thing that I wasted the most time on: sprite rotations (got confused about centre-relative vs corner-relative, rotation angles and units, etc)

I had a great time creating this game.  I’m glad that many of you have had a play and enjoyed it, and hope you all enjoyed yourselves making your own games as well (:  Good luck to all in the voting!

thievery6

Thievery: Done!

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

Pretty happy with the way this turned out, in the end:

http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=11560

There’s a load more I could’ve done, but the essence of it is there.

I did enjoy the Thief games back in the day.  Top-down ones can be fun too (:

Hope you enjoy having a play!

thievery3

The home stretch!

Posted by
Sunday, December 16th, 2012 11:14 am

Well, kind of.  Eight hours left – so that’s a full regular work day, right?  I’ll get loads of stuff done!…

The good thing is that I think I’ve solved all the most complicated problems that I expected to encounter, so hopefully everything else will go along smoothly.  No more screen shots for now, as things probably won’t change all that much before release anyway – but still…

Enjoy the last phase, gang.  Try not to hit the caffeine too hard! (:

Awesome!

Posted by
Sunday, December 16th, 2012 3:26 am

Sometimes you get those curly bits of logic that seem like they’ll be a massive pain and keep you busy for hours – and sometimes they just start working very quickly!

Again, you can’t see a lot from the screen shot, but the guards now chase the player around the houses without getting stuck on the houses.  That may not sound amazing, but it’s certainly very satisfying to get it working (:

thievery1

Mornin’, Mornin’

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

It’s 9am in Oxford, and I guess I’ve had maybe 5-6 hours of sleep – but am anxious to get underway.  I’ve got plenty of enthusiasm for this idea, and hope I get enough done to do it justice.

There are a lot of great ideas taking shape out there, so nice work all!  I look forward to seeing your results (:

So much done – and so much left to go

Posted by
Saturday, December 15th, 2012 7:27 pm

My idea is slowly taking shape: it’s something like a 2D sneak-‘em-up.  You can’t really tell what’s going on from the screen shot, but the idea is that the player is supposed to be stealing the treasure from the houses, ideally without alerting the guards.  The guards move around on patrol, and chase the player when they come in range, and the player can throw daggers back at them.

There’s much more to come, but as always, it’s a matter of figuring out what gives the best cost/benefit ratio.  At least I’ve got collisions working reasonably well, which is a relief (:  There’s a ticking time bomb in the code with switchings of tops and bottoms of rectangles, due to pyglet doing things up the opposite way to what I’m used to, and me writing it the wrong way around and kind of getting the behaviour buried in.  Fingers crossed it all just works… hah!

I’m off for a bit of shut-eye.  Pleasant dreams, all – hope you dream of fun things and not crash bugs!

thievery

[cache: storing page]