LD15 August 28–31, 2009

Thanks to all who commented on my game.

First I would like to say thanks to all who commented on my game, I will make sure to consider your comments when making my next game. So I guess some things I should do for next time are:

  • Bigger game window size, perhaps twice the size
  • Make the game have more puzzles
  • Stronger plot

Tags: 2D, lepracaun, leprechaun

Hey, Almost! I found a pit bug!

Screenshot-CaveBounce

This entry was posted on Tuesday, September 1st, 2009 at 8:07 pm and is filed under LD #15 - Caverns - 2009. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Moons of Subterrane Note

Just a quick note as I’ve had a few comments about this now:
As stated in my post mortem here I _severely_ buggered up the submission and included an old EXE in the upload, but the source to the correct version.
I did upload a fixed EXE compiled from the source in the package, however… but people may not have caught it.

The easiest way to check whether you have the correct version or not ( so I know if there really IS a speed issue or not ) is if you get sound. The old EXE has no sound, the correct one does. Those who have tested my game, could you double check that you’re using the correct EXE, please?

Again, if you want to make sure I’ve not just fixed something and tried to put that up, you can compile the source yourself, and can check the source for the framelock code in code/engine/CInterpret.cpp and the updateInterfaces function, which does a nasty hacky SDL-specific framelock to 60FPS.. I’m sure FRAPS or something will be able to detect the FPS of the game, and tell you whether it’s framelocked or not.

I do apologise for this and will make sure I properly test things in the next Ludum Dare!

Tags: fix, moons of subterrane

windows port

Cross-Compiling rocks! So here is the windows port.

I’m still to tired but tomorrow i’ll write a postmortem and hopefully give you the macosx port with the help of a good friend :).

Tags: Windows, windows port

Walkthrough for Brinie

I noticed a number of people were a little confused with how to play my entry Brinie, so I thought I would offer a quick guide to the game. It’s funny, I just assumed everyone would pick it up through playing it a little bit.

Ok, when the game starts, you should see Brinie, a net, and a bunch of things that look like fleas. These are the Grags. They live to eat, pretty much anything and everything. As Brinie is the only thing out there, you will see them start to chase her around. When they touch her, they begin feeding off of her. When they eat all they can, they will go off and cruise, but not before having a baby.  In this way, very quickly 10 Grags can become 100 Grags and 100 Grags can become 1000 Grags. If enough Grags get to Brinie, they will very quickly kill her off.

You have three options to try to save Brinie.

1) Drop a Gauloop somewhere on the playfield – it is a hive of small noisy creatures. These are like bait. They have a strong smell and may attract Grags away from Brinie. In the same way, Brinie doesn’t like the smell of the Gauloop so it may repel her a bit. You can use these to try to get her to go where you want, or if not that, at least keep her away from certain places. The problem with Gauloops is that Grags feed off them and will quickly devour them and cause the ranks of Grags to grow greatly.

2) Drop a Pauper somewhere on the playfield. A pauper is like a Gauloop, and it has a much stronger smell, but it doesn’t feed them nearly as well. What it does do is after a few seconds, it explodes, killing all Grags in the area. If positioned properly, this can be used to wipe out a huge population of Grags. The drawback is that Grags love to eat dead Grags, and a few living Grags will find the carnage a great feasting area and may quickly multiple their ranks back up.

3) Use your Net to capture Brinie. When Brinie is completely on the net, simply press the capture button and you win the game. The net also has the effect of killing any Grags on it at the time it is pressed. This fact can be used in combination with 1) and 2) to really wipe out the Grags. It is a great and difficult (and not necessary) accomplishment to completely wipe out the Grags, but it is possible and quite a fun challenge.

Now you are limited to 9 Gauloops, 6 Paupers and three Net captures, so use them wisely. Also, you can only have up to 3 gauloops and 1 pauper on the playfield at one time, so that is a consideration as well.

That’s about it. Hope that helps clarify some things. Here’s the game online in case you are interested in giving it a try now:

http://www.brinie.org

Timelapse for: “The Narwhal Bacons At Midnight”

So after a bit of a problem with Youtube and 700MB of wasted uploads, I finally got a working timelapse that can actually be seen from the Intertubes, wooh! Music added for dramatic and emotional effect.

Timelapse for \”The Narwhal Bacons At Midnight\”

If you haven’t played the game, you can do so here: http://www.ludumdare.com/compo/ludum-dare-15/?action=rate&uid=1097

Edit: How can I embed a Youtube video in WordPress?

Tags: timelapse

BABECAVE v1.1

I’ve updated the babe smashing hit game A CAVE FOR MY BIKINI BABES, making it now on v1.1.

PLAY IT HERE AND EARN HIGH SCORES!

Changelog:

  • Added Mochi leaderboards!
  • Slightly altered economy and item use counts!
  • Fixed a bug that was preventing combo scores from counting (with the version I included in my LD submission, spikes were hands down the most efficient trap)!
  • Capped the inventory for each trap at 20!
  • Added a prep time of 15 seconds to the beginning of each level!
  • Fixed a bug where you could get the player off the map!
  • Altered enemy spawning and time limits slightly!
  • Cop and babe walk speeds are now switched, to account for economy rebalancing!

Comments

Gilvado
02. Sep 2009 · 03:56 UTC
Hey Skelethulu, just wondering where you inserted the mochi leaderboards calls in flixel?
02. Sep 2009 · 04:04 UTC
Hey so check it out! I made a helper class what looks like this:
03. Sep 2009 · 00:56 UTC
And yeah just patched in a couple very small exploit fixes resulting from the combo system being re-enabled. Gotta’ love only having 1 hour out of your 48 to actually play your game and miss little problems!

Life is Guano ported to Mac OS X

I finally finished up porting my entry for LD 15 to Mac OS X. It took a surprisingly long time (about 8 hours of work!) but amounted to virtually no change in the codebase. The code is available so hopefully someone else can save some time and avoid this nonsense.

  • DevIL was removed and replaced with SDL_image.
  • Sound and texture loading code was modified to work with OS X bundle path names.
  • A 1 character bug causing poop to sometimes be emitted from the bats face instead of rear was fixed  (for real!)
Please let me know if you have any problems running this, or any feedback at all! Windows Binary Mac OS Binary Source Code and for reference (compo version)

Debug version w/ error numbers

Lots of people have been saying my entries not working, so if you tried it and it crashed, go to the page, and replace your exe with the one in the debug .zip, and then post the number in debug.txt, so i can try to track down the cause

Comments

02. Sep 2009 · 19:36 UTC
17

Cavern Copter – updated controls

I’ve listened to the comments that the controls in Cavern Copter are not as good as they should be and as a result I’ve uploaded a new version with an alternative control scheme.

Think of it as Asteroids and you’ll be fine (I hope).

For what it’s worth, the new controls work better for me. I can now rescue all 8 scientists in 112 seconds.

— Rod

Cavern Escape: Windows Port

I apologize to everyone that wanted to try my game but weren’t able to do it because it was Linux only.

Now I installed a fresh copy of Windows 7 (thanks to university for early access to it 😉 and quickly ported the game to Windows. But some problems arose while porting, one being the performance of the game, but that may only be because I have an old laptop and the drivers for Win7 are not good enough (I’ll dive into more detail in the post-mortem that I’ll write after this post).

So if you have issues with performance and have the possibility to test the game in Linux, please try in both.

Again, sorry for the inconvinience, good luck to all other entrants.

link: http://psa-sandbox.googlecode.com/files/Cavern%20Escape.zip

FallingTown- Postmortem

I probably should have written this closer to the end of the contest, but I wanted to finish a small puzzle game (The Knight’s Tour) I had started the week before for release. As a result, my recolection of some of this may be a little hazy.

I’ve added a zip containing my project directory to my game’s page… it’s complete except that I had embedded the font ‘Arial’, and you’ll have to add your own copy of arial.ttf to the font’s directory in order to get it to build.

I. Genesis

(*** Note: Nothing in this section is meant as a disparaging remark about anyone elses entry, but is intended as a depiction of my thought process at the time, with respect to my entry only. ***)

When the theme came out, I really had no idea what to build. The first thing in flash space that comes to mind for me when you say ‘Caverns’ are the cave fliers, which I didn’t see much space for innovation in, or platformers where I knew I wasn’t going to be able to compete. I was pretty stuck for an idea.

Since I don’t know much about caverns I looked up cavern on wikipedia . :) The article calls a cave or cavern a natural void– which in my mind ruled out mines. I tried to come up with an idea that related to cave formation, but thought while I could write a neat simulation I wouldn’t have much of a game. The article also mentions sink holes… and at some point early in the compo someone twittered (I think) a comment like: ‘Make a board game!’

I remember playing a game as a kid, Cathedral where the idea is to place buildings on a grid to capture space. My idea stemmed from that– the buildings would have weight, and if too much weight was concentrated in a space, they would fall through to the cavern below. I guess it’s a reach to say this was connected to the theme, but it’s what I ran with. The size of the grid and being 4 players were arbitrary decisions for me.

II. Development

I knew roughly what I wanted to do, but didn’t know how the buildings would interact with each other in practice, so I needed to get an interface up and running fairly quickly. Unfortunately, I did not do much on-paper design work and just winged everything as I came to it. As a result, there are about 6 or 7 2-dimensional matricies which hold information about each cell. This isn’t an inherrent problem, but because I was making stuff up as I went, some of them are 40×40, some 41×41, some 42×42, and the grid which records stress is either 80×80 or 100×100-I think at one point I switched, but I’m scared to look now. :) To make matters worse, some of the grids are indexed [row][column] and some are [column][row]. As a result, the majority of my time in writing code for the game was spent trying to fix offset discrepencies. (Why is a house placed here, stressing something way on the other side of the board? Why is that building being displayed in the right place, but when it falls through it fell over there? Why didn’t my overlap checking prevent that placement?)

Another problem I had is that when I coded the interface originally, I tied all of the legal move validation to the mouse click… but when I came to the AI’s, I wasn’t sending mouse clicks I was sending cell coordinates. I was feeling a lot of time pressure by that point, so I just hacked in new validation methods.

Because I wasted too much time early on trying to get an application together which would let me place buildings, and see the stresses I never really got around to developing a game. My ‘first best guess’ for things like building weight, cost, rent became final constants. The only real gameplay decision I made were the points… I knew needed an incentive to place the smaller buildings and supports, so the player had to be penalized for losing a building, and that penalty had to increase with building size. But once I had that penalty, I then had to go back and give a reason to place the larged buildings. Again, ‘first best guess’ became a final and I was left with the system in place now.

II.a. If you don’t know how, fake it!

I’m sad to say, that cool as it looks, my stress map does not reflect actual physical stresses on a surface caused by weights being applied. Each building had a weight (supports had negative weights) and when the stress is calculated, if a cell had a weight it’s weight was added to all nearby cells by the incredibly complex formula: Weight = BuildingWeight/(Distance+1). This made pretty pictures, so I called it good enough. :) If I was going to take this to a ‘worthy of release into the internet flash game space’ I’d probably replace this with an actual stress calculation based on integrating moments or something like that.

Along the same lines, I didn’t have much time for AI. One of the players is totally random. The other mostly random player has a 25% chance of placing a random support. The green player queries the board to find the human player’s largest building and then places houses within 10 squares of that building. Eventually, unsupported that building will collapse and then the green player chooses another building. That’s the only behavior that’s the start of a bonafide computer player. Had I had another day, much time would have been spent creating more realistic behaviors. If the computer players appear to be thinking at all, that’s because I added a delay to their moves, because otherwise I’d have no idea what they were doing. 😉

II.b Player Reaction

I think the general comment trend of ‘cool idea, but not very fun’ is pretty much correct. I think it could have been fun, but I didn’t pull it off.

II.c. Summary

The big major takeaway for me, is that once I get the urge to start hacking at code, I need to stop and figure out why what I’ve done so far can’t be extended the way I want. If I had used one consistant grid.. or heck, if I had used many grids, but they all had their origin at the same point and were all addressed by [row][col] life would have been easier and I think I would have produced a better game.

III. Other Cool Stuff I Learned (but which you probably already knew)

You wouldn’t know it, because I didn’t put any effort in gussying up my index of development versions, but Flash Develop has .html and .php templates, and functions as a html or php editor, with code completion! I’d been doing all my wordpress maintenance (on my site) via notepad. This will help me a lot.

I’d seen passing references to sfxr before, but seeing it used in other entries I finally got up off my butt and downloaded it. It’s great and will reduce my dependence somewhat on royalty free audio sites for my normal games.

GiMP can draw straight lines! You have no idea how many hours I’ve wasted placing lines pixel by pixel because I thought it couldn’t. :)

That’s it. I’m enjoying playing everyone else’s entry.
-TF

Beacon 1.10: Easier & with Music

Click to watch a gameplay video.

Click to watch a gameplay video.

Beacon is currently at Version 1.10 now, with the following changes:

  • Spikes no longer kill you when hit from the side.
  • Fixed tiling issue with certain tiles next to spikes.
  • Many difficulty tweaks made to the later, harder rooms.

You can download the latest from here:

ZIP (3.36 MB)

RAR (3.12 MB)

It was also features on this week’s ByteJacker episode. The LD compo was linked to as well.

http://www.bytejacker.com/episodes/052

Comments

badlydrawnrod
05. Sep 2009 · 17:55 UTC
This is a superb game. A great piece of work.
Endurion
06. Sep 2009 · 07:37 UTC
Ah, thanks :)

Now I managed to see the ending!

Decisions, decisions– about game-design

This is a short behind-the-scenes explanation of why my game, Let’s go cave-burrowing is missing some gameplay

In the beginning I envisioned a game where you threw “grenades” to change the environment, sort of a casual-like game. I didn’t want to have any game-over screens or the like, as this would detract from the core gameplay. One solution to make it more interesting was to add diamonds that threw out more puke-like balls that exploded, though I didn’t had the time to implement it.

All the easy game-play I could add to make it more challenging would remove the fun. For example I thought to add a timer so that you had to complete the level within a certain time, but then the player would not be able to “explore” the level at his/her own pace.

It was only now this morning that I realized that the perfect solution would be to rate the player based on some score of fast-completion and huge explosions, since then it would add a challenge for those who wanted it, but it wouldn’t punish those who didn’t. I guess you can’t win every time :)

Tags: design

Comments

Almost
05. Sep 2009 · 14:44 UTC
What you should’ve gone for was somehtign to add depth/interaction to the game without making it difficult.

For example:

creatures that run around and are comically knocked flying by explosions. (they don’t hurt you, they’re just cute) (or other non-destructable props that can be knocked flying)

Various objects to ‘collect’ underground, like gems

World variety to explore (natural caves, trees, clouds)
sirGustav
06. Sep 2009 · 06:32 UTC
Nice idea with the cute animals, but then there was this time-limit :) Originally I wanted dirt and debris to be flying from all the explosions and they should push you and the goo-balls away but time ran out :)

Anyway, I’m just glad I got something playable :)

“Nice Cave” Timelapse video

Timelapse video of “nice cave”

The dual monitor setup made this timelapse a pain in the ass to put together! :) I hope some of you enjoy it though.

How do I embed youtube into the LD blog?

New Post-Competition Build

06

Play here

I’ve tinkered around with my Ludum Dare entry a bit more, and am ready to make another release (there may be one or two more after this, but nothing major.) For a while now I’ve been wanting to play with these mechanics, and Ludum Dare was a great opportunity.

New this version:

  • sound (or something vaguely resembling it)
  • vacuum affects enemy projectiles
  • vacuum can be used to destroy enemies with their own projectiles
  • 8 levels

There are other things I’m interested in trying, but I will probably not experiment with them in this prototype. These include:

  • an alternate weapon mode that adds to walls instead of destroying them
  • incorporating indestructible surfaces
  • a charge shot with variable blast radius
  • ammunition containers that double as shootable explosives
  • better ways to handle lava
  • stones (Dig Dug!) which are embedded in walls and can be freed to crush enemies, saving ammunition
  • ways to limit recoil jumping, so it can be used to hover, but not reach unlimited heights

Comments

03. Sep 2009 · 11:28 UTC
This version is quite cool. :)

Keep us posted.
03. Sep 2009 · 18:33 UTC
Cool! suitable sfx
Sparky
04. Sep 2009 · 23:07 UTC
I’ve updated the link with a version that has improved player movement (there were some glitches in the previous version).
15. Dec 2009 · 03:06 UTC
This is pretty fun, reminds me of the Red Faction 1 Demo :) Too bad nothing fun happens when you reach the borders of the “The End” level.

Cavern Escape: Post-Mortem

Another LD ended (my third one) and this time I’m proud of this game. A mix of puzzle and quick-action I hope that it will deliver some good moments to the player.

From the beginning I started with a cumulative design in mind, that is, I started with “the player runs in a grid” and started coding that. Then the next idea was making the player explore a maze, so the maze concept was implemented, but then enemies were needed to give more pace to the game. The maze and enemies combined  well into this puzzle-like + memory + timing mechanics. So all maps were created to take advantage of this moto: “the real challenge of the game is to understand the level and then go to the next” (note that replayability was never a goal of the game). The last design element was growing difficulty, I wanted a serve-all solution so the multiple exits were implemented (an exit that it’s easy to reach means that the next room is easy (when compared to the other choice)).

But this way of designing the game brings its share of problems. First, there’s no defined “finished” game, so you can always add or at least think of other features you can add. Second, and building in the first problem, you may lose some notion of how much time left there is for polishing the game (the menu teaching on how to play the game was only made two hours before the deadline and so the code for that is one BIG hack).

The big thumbs-up for this method is flexibility, if an idea doesn’t work you can throw it way without worries. In contrast, when you design everything and only after you start coding, if some feature doesn’t work as expected you must certainly will have to change (or, in the worst case, also throw way) some features that depended (or interacted) with the lost one.
Another positive point is that you never over-design a game that needs completion in 48h, although you need to reserve a greater chunk of time to polish the game than you would need with the design-everything-first method to avoid the problems mentioned above.

Technologically, everything went smooth for the most part of the game code. SFML is a really good media library that gives you everything you need but doesn’t get in the way you want to design your code. Many people use SDL when using C/C++ but I really recommend using SFML. I picked it up one day before LD15 and still could make a game without almost no worries (great tutorials for each feature and great organization of the library also makes the API reference easy to read).

The problem arose when porting to Windows. SFML uses OpenGL but support for it (in Windows 7) is still in the early stages , so testing the game when its rendering performance dropped considerably was a pain. I just hope that other Windows users don’t have those problems and can experience the game in its fully performance.

About the graphics, although I’m no artist, I always try to make something good looking. But this time I focused much more on game design, making the maps balanced and polished. So the 30 minute art that I did in the first day stucked until the end, but still I think it isn’t that bad though I could have made simple animations if I just had put another hour to it.

In the retrospective, I think that, of the 3 LDs I’ve taken part, this is my best entry so far. The biggest problem was really porting to Windows, so lesson learned, next time code in Windows and Linux comes as a bonus port 😉

Fine, have some maps.

I’ve made a couple of post-compo modifications to my entry.

The main one you might be interested to hear about is that solo play is now possible. You can load and save by double-clicking the relevant buttons at the bottom of the editor. I just whipped up nine demo maps, included.

Note that you can’t overwrite a map, so don’t worry about that. Every time you hit save the map gets a unique filename which you can mess with later.

progress07

Besides the time considerations I originally didn’t want to include saving at all, because I thought that feature might deemphasise the interaction between players. But since I haven’t gotten much feedback from people who actually have another person to play with I thought I’d open it up a bit.