Ludum Dare 15
Just got back home and am feeling optimistic about completing what I currently have. It will most likely end up with no sound or music but oh well! I just ordered Thai for dinner and am going to dive right in and try to get some work done.
One thing that I’ve learned between this LD and the last one I was in, is that rushing to get something done in a semi hackish way doesn’t really save you time. I’ve spent quite a few hours hunting bugs in my code because I quickly through something together without completely thinking it through. That’s time I could have spent doing sound or adding graphics. Next time, I am going to be more aware of this and endeavor to think out the design more instead of trying to change things half way through the contest.
I haven’t been able to work on anything this morning. I am headed to New Hampshire in an hour or so and won’t be back until about 6 or 7pm ET. I don’t have to drive so I’m bringing my laptop along to try and continue working. At the very least, I am going to stick in victory conditions (very easy to do right now), and some kind of title screen and game over screen. At least it than it will be a somewhat complete prototype.
Here’s this morning’s breakfast, bacon, scrambled eggs, and New England coffee.
Well, I lost about five hours tonight due to a previous obligation and have spent the last couple of hours trying to iron out a few bugs with the collision handling. I was hoping to spend most of my late evening tonight working on updating the graphics, but I think I am going to head to bed and work on ironing the bugs out in the morning. I’m pretty tired and am having no luck fixing this tonight.
I am a bit worried though as I am again, going to lose about half my day tomorrow as well. I’m still hoping to have something done though as it’s almost there. If I can get these bugs out in the morning, I’m going to attempt to throw a few sound effects in to help complete it a bit.
I now have a somewhat working prototype of the game mechanics worked out and a screen shot! It isn’t too much to look at right now, but what I have works pretty well so far.
Here is the screen shot, I will explain what’s going on below:
So basically the idea is that you are this penguin (white rectangle) and you must avoid the enemies (sharks or whatever eats penguins) here represented by the red squares. The brown squares are islands and while on an island, you can not be eaten. However, the islands only stay around for a short time before they disappear and reappear somewhere else. You gain points through a combination of how much time you spend off of the islands and how many fish you eat (the green squares) which also appear and disappear. Oh, I forgot to mention, you have no offensive ability.
I still have a bit of work to do, like implement the enemy AI, figure out the score calculation and play with the mechanics a bit. I also have a really interesting idea for the graphics that I want to create tonight that will replace these rectangles.
Not sure if it is going to be a good day or not. I have stripped out some code from my last Ludum Dare entry and am now starting on the prototype for what I had in mind. I see that some people aren’t having the best weather, so I thought I would share a view from my front porch here in Portland, Maine.
Just got back from the bar (err..bier garden), and have already nailed down what I want to do. I am going to put down some design notes and start in on it first thing in the morning. I am going to be using:
- Untouched code from my last Ludum Dare entry (Coffee Caverns)
- Potentially musagi for music
Initially I wasn’t too thrilled with the theme, but whatever. I think I have something that will be doable in the time I have, since I have a couple of obligations this weekend that I can’t back out of, has a fairly simple game mechanic and I think will be fun once it’s finished.
I probably will not know whether I am going to compete in this or not until the Theme is announced. I have an AI project I need to get done for school as it is due the week after the contest. If I get it done before hand or far enough along, I probably will.
If I do this will be the second LD I have entered. For LD15 this past August, I used C++/SDL as a platform. I may pull up that code from before and work with it some more, or I might actually use C#/XNA. I believe this is allowable by the rules? XNA is not open source, but is freely available. I will double check this.
At the moment, I am leaning towards C++/SDL as I would like to keep developing the 2D framework I started in the last LD. My goal with it is to create a game library that facilitates creating 2D games in as easy a manner as possible. I’m taking inspiration here from various other game libraries, Slick, XNA and even Ogre3D among others. I am doing this in an effort to develop my object oriented design skills as well. I believe that entering the LD contests is a great way to do this development, as I can easily judge how easy it actually is to use.
Regardless if I enter or not, I can’t wait to play some of the games! Good luck everyone!
Cross posted from my main blog at http://www.caseydunham.net
This past weekend I took part in my first Ludum Dare competition, Ludum Dare #15. Ludum Dare is a community driven contest where a single developer has to create a complete game within 48 hours. I have watched the prior competitions, but have never really had the time with family and school, so I was a bit surprised to find that last weekend was fairly open. So on Friday afternoon I decided I would take part.
Each Ludum Dare has an associated theme that the game must be created around that is decided on by community vote. The theme is only revealed at the start of the competition and for LD #15, the theme was “Caverns”. I immediately had a few ideas but nothing that seemed too out of the ordinary. Upon deciding to enter the contest, I also made up my mind that regardless of what the theme was, my goal was to complete a game, no matter how simple, within that 48 hour deadline. I did complete a simple game, but as usual with these types of competitions, didn’t quite turn out as I had hoped. This is an effort by me to talk about some of the things that I feel went right in the development of Coffee Caverns and what could have been done better.
Probably one of the best choices was to use what I was already familiar with, C++ and SDL in a Windows environment. I know that some people like to experiment with new technologies during these competitions, but I decided to not risk it, my goal was to complete a game. Along these same lines I also decided that whatever I did would be small. I have started and never finished numerous game projects in the past much like every other aspiring game developer and I also know that one of the things that separates aspiring game developers from game developers is that game developers finish things. I had a decent idea of the scope of what I would be able to finish and decided to stick with it.
I didn’t start coding or designing anything until the Saturday morning after the competition started. I checked to see what the theme was going to be and than went to sleep. In the morning I ate breakfast and started a bit of mind mapping while having some coffee. I started thinking about caverns and I kept coming back to danger and falling, falling objects like rocks, and than somewhere in the mind map coffee came up so I ended up mixing coffee with falling rocks. Awesome, sounds a bit weird let’s go with it. It came naturally that this would be an arcade style game and once I decided on it I stuck with it. The total design of the game was probably about an hour and that was with sketching a bit of a development plan as well.
I also liked that I was able to get a couple of sound effects in thanks to the wonderful program Sfxr. I am glad that I got the title screen in without too much trouble as well. It only took a little bit of trouble and was I think worth it. Although next time, I am going to check for a specific key press to transition as opposed to any key, it made taking screen shots of it a bit tricky.
I think that my biggest mistake was not getting the prototype up and playable as fast as I wanted to. My intention originally was to use primitives for prototyping and later put in the graphics. By the time I had the framework ready I needed a break from coding and decided that I would play around with Paint.NET a bit to see what I could come up with. I should also mention that other than SDL, I was using no prior written code, writing everything from scratch. In no time I had created a couple of graphics that I thought would work, so I figured I would just drop them in. It wasn’t a huge time waster since I was going to do it anyways and in some ways did work out in the end.
Easily the worst part about the game and what I would argue is the game, is the game play itself. The game is no where near as balanced as I would have liked it to have been, the scoring is very simple, and there is very little feedback to the player. I spent most of Sunday doing game play testing and bug fixing. I had the majority of the code written by Saturday night and it was a good thing too as I had a few things come up Sunday that might have kept me from finishing otherwise.
The little things that I didn’t fix that were pointed out to me in comments on my Ludum Dare blog are in retrospect what could have made the game better. The player sprite being about a pixel off during the animation would have taken me all of about three seconds to fix. I also never got the score out of the title bar like it should have been. This would have been another easy fix that would have added to the polish of the game.
The other thing that people complained a lot about was my use of an installer. I had mixed feelings about it but I know and understand the irritation I am sure it caused others as I started reviewing a few of the other entries. At a certain point I was annoyed that I had to unzip things and will next time not bother with the setup and provide a straight running executable.
Overall the whole competition was very rewarding and I learned quite a bit as well and would recommend everyone who is interested in game development to take part in these competitions as often as they can. I am definitely going to!
I was unfortunately unable to balance the game play as much as I would have liked. A few design choices earlier made doing it now a bit cumbersome. If only I had a few more hours..
I will be making the source available in the next couple of days along with a potential linux setup.
For now you can get it from the the entries page here.
I’ve spent the last couple of hours trying to tweak the games difficulty. I’m having problems getting it to ramp up like I want. I just need to keep playing and tweaking things. I didn’t have a whole lot of time today to work on it, family stuff, laundry that kind of thing.
Other than tweaking the game play I am done, unless I find any critical bugs or issues, but so far everything seems to be fine. Had a couple of people try it out on different computers and no one had any problems so awesome.
My goal is to have the game submitted by 8pm EST.
Just getting out of bed. Will be getting back to work on finishing everything up in an hour or so. My plan at the moment is something like this:
- Add a title screen (need to create graphics for this)
- Create a graphic for when the rocks hit the ground
- Fix the exe icon
- tweak the timings when objects get created and how it varies as you progress
None of these are that difficult and shouldn’t take too long, except balancing. I need to make the difficulty get gradually harder and this is based on how many objects are falling, the ratio of rocks to beans and the speed that each falls at.
With time permitting I may add more animations. Not sure yet, will see how far I get and what plans the family has.