About NiallM (twitter: @NiallEM)
Ludum Dare 26
Ludum Dare 23
Ludum Dare 21
Ludum Dare 19
Ludum Dare 18
Ludum Dare 17
Ludum Dare 16
Ludum Dare 15
Archive for the ‘LD #15 – Caverns – 2009’ Category
See, it’s not so hard…
I’ve just uploaded an OSX version, and have added the following updates on top of the previous version’s fix of the jumping bug:
- Fixed the performance on 16bit displays. Thanks to Endurion for pointing this out.
- Reflectors can no longer be placed on top of each other. Should make the game slightly easier.
- The game was accidentally set to default to antialiasing being on. This seemed to cause slowdowns on the linux version, and may cause other issues for folk on other OSes. It’s completely unnecessary anyway, since the graphics are entirely made up of (pre-antialiased) bitmaps. If you’ve already run an older version though, you’ll have to either delete the CavernsOfLight.conf file (see the readme for the location – it’s different for each OS), or change the ‘a 6′ line to ‘a 0′.
Quite a few of the comments I’ve had have complained about the game’s difficulty. My only defense here is that I’ve been playing a lot of Spelunky, Mighty Jill Off, and When Pigs Fly lately, all of which rely on pretty accurate jumping skills. I think when I have a bit more time I’ll probably do an updated version with 3 different levels: easy; normal (the level currently included with the game), and sadistic, which will be massive and absolutely punishing .
Incidentally, if anyone likes the game enough to make their own level for it, I’d love to hear from you!
I’m really pleased with how this one turned out (and kind of amazed at how much I managed to get done over the course of two days!). It’s weird how my motivation went in completely the opposite direction to the last one. In that one I started off really excited only to hit a wall on Sunday afternoon, while on this one I started really down (the theme’s caverns? Really?), only for my enthusiasm to ramp up more and more as my game progressed. It took me ages to get to sleep last night, I was so wired from it all.
I’ll start with the bad, because it’s only little things:
- Stupid jumping bug. Platformers really need to have solid collision detection, and mine kind of fell down (ha ha!) there. It’s no good if you’re jumping up to a ledge only to fall through it into the lava below. It only took 5 minutes to fix when I came back to it this evening though. The perils of writing a game in only 2 days…
- The music. I’m not sure it really fits the rest of the game. I was going for an underground, subterranean theme, but I think it’s just a bit too sinister. I should have tried to do something more upbeat.
- The theme. Given all the existing games already set in caverns, I can’t help feeling I would have made a weirder, more interesting game if one of the other themes had won out. Still, given how Caverns of Light turned out, I’m not too fussed…
- The graphics. Doing everything in Inkscape really turned out well, and other than a few slight glitches where certain tiles get drawn over others, I think it looks really polished.
- The ‘connect the lamps to lightboxes’ mechanic. Particularly the moment when you activate a lightbox and the sky gets lighter as it plays the ‘light-up’ sound. That’s a great moment. And I think the mechanic has a lot of potential. If I’d had more time I would have definitely made the level bigger and more complex.
- Doing the level editor first. Getting this out the way before I did anything else really made things easier for me than if I’d done it the other way round. Once it was up and running all I had to do was implement the game logic for navigating round the level. Incidentally, I didn’t use up anything like the maximum space in the level (the full size of the level is 1024 x 768 tiles, which is pretty huge), so there’s scope for other people to make better ones…
- Building a complete (if a bit slight) platformer in 2 days! I’m still grinning about this…
Now for the timelapses. I’ve actually got 2, because I did the music and sound fx on a different computer (my laptop’s not set up for making music), and I didn’t bother joining them together. First, the main one:
And the music one (this takes place between 10:30 and 12:00 on the Sunday):
Okay, last post before I switch computers and go and make some music. Here I’ve added spikes and lava, and collectable reflector crates. It’s possible to die now too, although there’s no fancy animation – it just decrements your life and puts you back to the start of the level. I don’t know if I’ll have to time do anything more polished in that regard.
Still to do:
- Moving spiky balls.
- Fix the collision detection.
- The sky should get lighter as you light up more light boxes, plus it should be smooth, not stepped as it is right now.
- Make a proper level for it.
- Story screen.
There’s other things I’d like to do, but only if I have the time.
I’ve added lightboxes and a UI (left to right: num lives, num lightboxes lit up, num reflectors available). I’ve decided the aim of the game is to light up all the light boxes in the level, which will entail connecting lamps to boxes via reflectors, finding extra crates of reflectors, and avoiding any hazards along the way. Eventually the sky will get lighter as you light up more lightboxes.
Okay, so I’m wide awake (thanks, seagulls…) and ready to get back to work. The plan for today is:
- First, do all the little things the game still needs:
- Light boxes which send the light beams up to the sky.
- Light pipes to send the light from light boxes deep in the level up to the sky (and to act as extra obstacles for the player).
- UI, showing: number of lives; number of light boxes lit up; number of reflectors available.
- Pickup-able reflector crates.
- Ability to die, from:
- Moving spiky ball things (yay originality!).
- Fix the stupid collision detection!
- 10.30: Do the music and sound fx.
- 11.30: Off to the shops.
- 12-12.30: Back home for lunch and the grand prix.
- The afternoon: Finish putting the level together.
- Late afternoon: Add story screen, build final Windows version.
- 6.00: Dinner.
- 7.00: Build Linux version. Release. OSX can wait for another time.
I made myself a mozzarella pizza for dinner. It looks the part, but I think I need to work on my sauce-making skills – there was definitely something missing…
Game-wise, I’ve got the scrolling mostly working except for a weird offset between the player character and the rest of the level that’s suddenly appeared. I’m going to try and fix that now, then hopefully I can get the light beams up and running before bed.
A better one than before, anyway. It’s going to be a puzzle platformer type thing, called Caverns of Light. The story is that for some reason, there’s no light anymore on the surface of the planet, but there is below it, in the aforementioned caverns. So you have to go down and bring the light back up from these caverns, by setting up a series of right-angled prism thingies. Hopefully it won’t be too complicated to implement. I’ll aim to get the basic mechanics up and running by the end of today, and if that works out, I can set about adding enemies and level editing tomorrow.
First step I think is to create a level editor though – I’ll see if I can get that done by lunch.
Here’s an initial mockup of the tile graphics:
This’ll be my second LD. Hopefully it’ll go as well as the last one.
I’ll be doing my coding in C++, and using SDL and SDL_image, as well as PortAudio and libvorbisfile for the audio. The whole thing will be based on the same game template code I used for the last one (you can see it here).