Ludum Dare 21
Ludum Dare 20
Ludum Dare 17
Ludum Dare 15
It’s my 4th Ludum Dare, I don’t have huge amounts of time this weekend but I’ll be trying to make something.
Using Unity, Softimage, Photoshop.
Hey, this thing’s back online!
So I got a fair amount done yesterday. I’ll quickly summarise my game…
- You’re trying to escape from zombies/robots/aliens/haven’t decided yet
- It’s set in a 2D city, which is slightly randomized to keep things interesting
- Top-down view
- You’re heading towards an exit point, marked on the map
- You have to keep your food levels up, by picking up supplies from shops along the way (also marked on the map)
- You can shoot by aiming with the mouse. You control movement with cursor keys.
I’m in! I previously thought I wouldn’t have time this weekend, but my plans fell through… so here I am, with 1 day and 12 hours to make something playable.
I’ll be using Flixel & FlashDevelop. Go go go!
I was too tired after submitting last night to write a summary, but here goes…
What I used:
- Box2D for rope physics
Flixel turned out to be a pretty good option for this type of game. I had some basic platforming going in minutes, and even though most of the first day was spent implementing the rope mechanic, I got more done on Sunday than I expected- largely because Flixel made development easier.
I ended up using the map editor DAME (http://dambots.com/dame-editor/), which I would also recommend. It has a few quirks (and I was a bit nervous about how I was using it to structure levels; basically each one being a “group” that was shown while I edited it, and hidden if I was editing another one), but it worked through to the end without any real problems.
For some things, I found the AS3-generation to greatly simplify my code: for example, when creating a “LevelExit” sprite, I simply created a property on the sprite type called “targetLevel”, which I would set to “Tutorial”, or “Level3″, or whatever. Then in DAME I set the sprite’s constructor field to “new LevelExit(%xpos%, %ypos%, %prop:targetLevel%)”, and in AS3 I created my LevelExit object to do something like… “playState.level = new targetLevel();”, and it would create a new instance of the target level. I’ve got no idea if this is a standard way to use Flixel/DAME/etc., but it felt pretty neat to me. Pity the rest of my submitted code is so shocking, hah!
I realized that creating sprite animation in Photoshop is *much* easier if you use layer groups. Once I had the body part groups (“head”, “torso”, “left hand” etc.) set up, and realized that you just need to right-click on the group and “Duplicate Group” for each new animation frame, I was actually really enjoying the process. Select layer, Ctrl-T (for free transform), move pivot, rotate body part. Repeat.
Box2D was relatively straight-forward to implement, although I couldn’t get the debug-view (with all the rigid bodies overlaid on top) working with Flixel as smoothly as I wanted. I ended up with a hacky solution, which at least allowed me to see where my rope rigid bodies were going wrong. It felt right at home amongst the rest of the hacks, so it stayed.
Unfortunately, it appears that I’ve made the game a bit too difficult. At least from the comments on my entry, it seems that people aren’t getting to end, which is a pity… I spent hours on that end cutscene! . I should probably release an easier version.
Alright, that’s me done – hopefully see everyone at LD21.
Ok, I’m awake! It’s probably about time I wrote an update. I’ve ended up making a rope-swinging game, where the rope is the “take this” object. I spent a fair chunk of yesterday getting the rope functionality in, so unfortunately the rest of the game’s progress is lagging a bit… hopefully I can fix that today.
Some things that currently work:
- Death, when you fall into lava
- A few sound fx
- Bubbly lava particles
- The rope can only be thrown at the light-coloured blocks
My current to-do list:
- New player sprite, with animations
- Intro sequence, to tie in the theme
- Different types of blocks (?)
Ok, back to work!
This is the 3rd Ludum Dare I’m entering, and in each of the previous events I’ve planned to use ActionScript and ended up using C++. This resulted in me spending most of the weekend tinkering with my “engine”, and not making anything truly playable. This time, things will be different. This time, I’m going to focus on the game! My tools will be…
- AS3 in FlashDevelop
- Flixel (perhaps also Box2D)
Looking forward to the theme announcement, although I’m considering just getting some sleep and starting in the morning – I’m in the UK, so go-time is 3:00 am.
I’m quite happy with what I achieved this weekend – despite various bugs that I struggled with for ages, I managed to get a few cool features in there. I’m just hoping that it actually runs on most machines…
Thanks for a good (but tiring!) weekend. The final result is here. And now, I need to sleep… night!
So, each island in the world can now be owned by a player. This doesn’t sound like much, but it took quite a while to get working – I’m doing a flood-fill algorithm on any “tiles” that are sitting above sea-level, and that collection of tiles then gets assigned an island ID. The flood-fill took far longer than anticipated… the spherical terrain is a distorted subdivided cube, and I had various issues with grabbing the adjacent faces (and correct coordinates at the adjacent faces) of the cube. This had to be done to ensure that islands could cross from one cube face to another.
Anyway, screenshot time. Each colour represents a different player (this is a debug view, I don’t plan to keep the multi-coloured islands!). There’s a tank in there, too (on the left), that I modelled earlier today. Hopefully I’ll have some actual gameplay for the next update!
Been sorting out a camera system, and making the “islands” & sea look a bit nicer.
Second Ludum Dare for me. Suffering from a bit of a hangover but have managed a few hours this morning, so far…
I was originally planning on using FlashDevelop & Flixel, but after seeing the theme, I’ve gone with C++ and my own base-code (again). I recently put some “planet” terrain rendering into my base-code, so it seemed natural to make a game about islands with that… Hopefully I’m not breaking any rules by using previous code! I’ll have to try out Flixel some other time, as I was quite excited to give that a go.
Anyway, here’s where I’m up to, so far:
And here’s the obligatory desk-pic:
Only a few hours left now, thought I’d take a quick break to post a screenshot.
Besides the eye-laser that bounces off walls, in this shot you can also see the newly-introduced flamethrowers.
I’ve reaaaally gotta make some actual levels, now – I’ve been using the same test one through-out this weekend. I’ve also got to create some critters (which will be shot with eye-lasers).
Alright, back to work!
This is my progress at the end of the first day – http://mattdev.com/cavernbat.zip.
In the menu, up/down and enter.
In the game, press and hold ‘s’ to drop the bat down, and release it to make him hang from the ceiling again. ‘a’ and ‘d’ will alter his current angle. Escape to quit.
I’ve been working on this almost the entire day, and I’m reasonably pleased with where I’m up to. So far I’ve spent the majority of my time on the “art” – doing animations is tricky! The music took some time, too.
Here’s my current to-do list, which is probably missing a load of things:
- Try out distance fields / metaballs for cave drawing
- Support for multiple levels
- Level selection screen?
- Level end points
- End game screen
- Things that shoot stuff at you
- Add more decoration to caverns
I haven’t quite figured out what the bat is going to be doing while moving from start to end points of caverns – picking up items (keys to unlock doors), maybe, or getting points for doing spins in the air, or something.
Anyway, I’ll deal with that tomorrow!
So, this is the first time I’m entering Ludum Dare.
OpenGL with SDL
SFXR (awesome little app, btw!)
Here’s hoping I manage to finish something by the end of the weekend .