Home | Planet Ludum | Rules Wiki | Mailing List| Sign In/Create Account | Write a Post | #ludumdare on irc.afternet.org

Ludum Dare 17 :: April 23rd-25th, 2010 :: Theme: Islands (voting)

*** [ Top 20 | Categories | View All (204) ] ***

About jolle

jolle's Trophies

Archive for the ‘LD #15 - Caverns - 2009’ Category

Cave Ninja – Tiny Bugfix Version

Posted by jolle
Wednesday, September 16th, 2009 1:21 pm

I’ve released a post compo version of Cave Ninja. Nothing exciting, it just fixes two bugs:
1. Win check for last level corrected.
2. Divide by zero error fixed that occurred for certain OpenGL implementations.

To be honest, for most people there’s no reason to update. But for those that got the divide by zero (might also seem like it just shutdown at once), it might be worth it.

Windows binary (should run fine in Wine).

Cave Ninja – Post Mortem and Stuff

Posted by jolle
Saturday, September 5th, 2009 12:31 pm

The Good

Fun tech. Not only does some tech idea stuff you want to try out make it fun to actually program the entry, it can also makes the entry interesting. Or so I hope it did. There was two things I tried out: Destructible landscape rendered with marching squares and some sort of fluid simulation.

I’ve wanted to try out destructible terrain with marching squares for some time. Mostly when thinking about doing Blastup 3, though I’m probably more for doing pixel perfect (with alpha) stuff. But still, wanted to try this approach out. It worked pretty OK, though it requires more work to be anyway close perfect. As a note, the collisions just uses bilinear filtering of the nearby grid points and checks it against the threshold, so the marching square output is just for rendering here (which really simplified things).

The fluid simulation pretty much just happened. I had a world which was a grid of values of 0 to 1. There’s a lot you can do with that. I’ve thought about similar things for earlier LDs, for the theme flood, but that theme never won. Basically, it’s like those old water simulations where each pixel is a water particle, and it can either go down or to the sides if there’s room. I just had float values instead, so the whole of it didn’t have to move. Then marching squares on top. Anyway, the lava seems to be what people liked the most, so I’m glad I did it.

The actual game idea. With the destructible terrain etc, I sort of wanted a game in between Worms/Liero and Lemmings. Which I think is what I got. It’s lacking things though (see below). Overall, I think it’s a good game idea.

Once again used the D programming language, which was good and makes most things easy (except in one place where a thing I did in a loop became very slow, which cost me some time). Also used OpenGL, GLFW and Fmod. Stuff that works pretty well and that I’m used to.

The Bad

Time, time. Lack of time. Or too ambitious project, perhaps. I spent 4 hours away from the compo helping some people to move, but I’m not sure those 4 hours would have made a lot of difference. The time issue had most impact on the level design, I feel.

The level design started out sort of OK. I wanted to introduce every new element by itself in a single level, then start combining them and creating puzzles.

Well, to start with, not all elements that I wanted to introduce got introduced. There was only one weapon, there was only one enemy type. I had planned for more there. And I had planned some cool movement tools, like a jetpack (and if I really had had some extra time, a ninja rope).

Anyway, as it were, I did get the elements that existed introduced in the way I wanted (though some levels was a bit too long, making them annoying). But then suddenly I didn’t have time to introduce more elements, yet I didn’t have enough materials or ideas to make good puzzles. So that first lead to a platform/jump level.

Then there was the last level. It got too hard. A little too busy. Even its name gives it away, it was named: A little bit of everything. Basically it had become apparent that it would be the last I had time to do, so wanted it real, if you know what I mean. Nothing tutorially. As a base there was a single good puzzle. But after making it, there was lots of room left, so got another semi-puzzle, some jumping, some digging, and some kill things. Too much. But maybe it suited as being the last level. I can tell you, even I have had trouble completing it sometimes.

That’s not the only bad thing with the last level though. The last level’s win condition check is bugged. So you only actually need to reach the star to win. I realized this bug existed after having gone to bed after just submitting my entry. So I got up, “fixed” it, and re-uploaded (it was within the deadline, don’t worry). Only the next day I realized the check was still bugged. I had added the correct check, but I had also left in a call to the base class update function, which just checked the star. So that was a waste of time.

Graphics. They turned out rather bland and boring. And dark. Noticed today that even just making the game 50% brighter helped a lot. But I’m not good at creating good textures or animate stuff, so perhaps it’s OK given the time available.

The Other

Sounds. It’s thanks to sfxr that I got any sounds at all. All in all, it might have taken 15 minutes to get all the sounds in. It was a great improvement over no sounds, but beyond that it was lacking. In addition, it seems that the sounds cut out for quite a few people — I have no idea why.

Heads up

I really recommend maximize the window to get a look at the whole level (if your screen is big enough). It’ll look bad that the level just cuts off if you have too large a screen, but even then it’s well worth it.

There’s a skip level cheat — it’s pressing F1 and F11 at the same time (as in most of me entries with levels).

I used a bit of base code and some utility code for rendering, fonts, and sound. Not really a library, just some random stuff (it’s what’s available in stdf in the source folder of the package). This is probably bending the rules a little, but I hope you guys are OK with it. Absolutely not game code.

Also, it’s not like I came up with marching squares during the compo. I’ve written a few application using it earlier, and actually adapted some old code. Writing it completely new might have cost me extra 15 minutes or so but it seemed pointless. The idea is really quite simple: For each square in the grid, start making a polygon. Check one corner, if it is within the threshold, make a point. Check this corner against the next corner — if one is out and one is in, find the point in between. Then do the same for the three other corners and edges. And that’s it.

Outro

There were probably some other things worth mentioning too, but none that I can remember now. Think I’ve responded to most stuff that I’ve got comments on as well. Overall, people seems to have liked the game, so I’m pretty happy. It’s been a good LD.

Cave Ninja – Hot Lava

Posted by jolle
Sunday, August 30th, 2009 1:06 pm

Finally made a level that made use of the water simulation, only I changed it to be lava instead. Lava suits its purpose much better — as a force of doom. And also, the simulation acted more like something less liquid than water.

jolle_cave_progress_07-lava

I’ve also added some quick sounds from sfxr. Now I need to go on with making levels, and if I have enough time, more enemy types and weapons. Got maybe 2-3 hours more before I need to sleep (with work tomorrow etc).

Cave Ninja – Particles

Posted by jolle
Sunday, August 30th, 2009 11:24 am

Added scrolling, esc (pause) “menu”, damage, mission failure, and particles. I still need a lot of content before this is any good, and sound would add a lot.

jolle_cave_progress_06-particles

Cave Ninja – Dwarf Pirates

Posted by jolle
Sunday, August 30th, 2009 7:59 am

Now there’s enemies (at least superficially so), and they’re Dwarf Pirates. Dwarf Pirates often dwell in caves, and are the only real natural enemy of the Cave Ninjas.

jolle_cave_progress_05-dwarfpirates

Cave Ninja – Level System

Posted by jolle
Sunday, August 30th, 2009 5:39 am

So far today, I’ve created a level system, completed two levels (basic movement and weapon control introduction) and had lunch. What’s left is enemies, particle effects, much more levels, Esc menu, scrolling, and, if time allows, some optimizations, sounds, animations, main menu, level select menu, and so on.

jolle_cave_progress_04-levelsystem

Cave Ninja – Tiny Ninja be chargin’ his digger weapon

Posted by jolle
Saturday, August 29th, 2009 1:54 pm

Since last post… I first worked on creating a player character, including movement and collisions etc. It’s a tiny ninja, because everyone loves tiny stuff and ninjas.

Then I worked a little on weapons.

Then I helped people move four almost four hours. This helped the LD progress a lot.

Then I worked a little more on weapons. And added making holes to the dirt.

Here’s a screenshot showing the tiny ninja charging his first weapon, the digger only weapon.

jolle_cave_progress_03-diggerweapon

Cave Thing – Water and Rock layers

Posted by jolle
Saturday, August 29th, 2009 4:58 am

Nothing too fancy yet, most time I’ve been working since the last log entry was spent on writing some pretty bad water simulation stuff. Just now added the rock layer as well. Still not sure what the game will be, but it’s getting closer and closer to involve burrowing. From caves.

jolle_cave_progress_02-water-rock

Also got the news that my sisters are moving this day, so will have to spend some of the afternoon and evening carrying stuff.

Cave Thing – Basic Renderer

Posted by jolle
Saturday, August 29th, 2009 1:59 am

OK, so I’m not sure what kind of game I’ll make yet — I have several ideas, it’s just that I don’t know if they’d be fun. In the mean time, I’ve set up simple cave rendering:

jolle_cave_progress_01-caverenderer

It’s basically marching squares on top of a grid of 0-1 float values.


All posts, images, and comments are owned by their creators.