Posts Tagged ‘ld48_16’
So this was my first Ludum Dare. I did the Global Game Jam back in February, so I had some idea of what to expect, although the GGJ was teams rather than solo. One thing I do regret is not interacting more with the community–IRC, Twitter, etc. I could have used more feedback than I got, instead of relying almost entirely on my husband’s comments.
Friday night I spent brainstorming ideas and thinking over mechanics. Saturday morning I started coding. By late afternoon / early evening, I had the major mechanics implemented, but it wasn’t fun. At that point the turrets were just yellow diamonds (and they were warp portals which your cyan circle teleported between), and the hint circle always disappeared before you could fire again.
The best thing that happened for the game occurred when I sent my Saturday prototype to a friend for feedback. He told me two very important things:
- He had the most fun figuring out where the hint circles intersected
- He wanted to know why you had to aim and fire to reveal the map instead of just placing light bulbs around the “platforms” (yellow diamonds)
So I made the hints persist but fade over time. That means you can see the hint circle intersections, but the screen doesn’t become overly-cluttered with old hint circles. It also means the aiming mechanic is important, since if you take too long, the previous hint will have faded away. I also changed the theming of the game so that the portals became turrets and you selected a turret to fire from, rather than teleporting between them.
Sunday was mostly a day of polish. The big feature changes were implementing multiple levels, scoring, and flare limits. I also added the start, game over, and between-level screens, made the graphics, (such as they are–hooray for GlowFilter!) composed a background track, and created the sound effects.
In the end, I was successful in terms of having a pretty-much finished game at the end. On the other hand, seeing some of the other entries, I kind of wish I’d done something a little more ambitious…
Things that worked out:
- Using abstract glow-y vector graphics instead of trying to draw. (I spent about 20 minutes attempting to draw a single turret before deciding my time was better spent elsewhere.)
- The game selects from 4 (hand-crafted) turret layouts and randomizes the enemy and player locations. That turned out to be enough randomization that I didn’t need to make a turret layout generator. In fact, I only just realized that I left the game in debug mode where it always chooses the same turret layout.
Things that didn’t work out:
- When I started, I implemented everything in one file just to see if the core mechanic would work. I made such a mess of my code that I spent hours late Saturday night moving code around so I could add levels. Spending hours working on code without actually adding new functionality–even regressing at times–was very hard on my morale.
- I spent too long trying to make my git history tidy. I’d keep forgetting to add a file to the commit or not commit for a while and wind up with a gigantic commit that involved 3 features and all the source files. Then I’d try to figure out how to break up or revise the commits. (And how to use vim, since that’s the default git editor…) Given that I never had to revert to a previous version, it was kind of silly of me.
Tools and Libraries Used:
Sweet, I managed to complete my first Ludum Dare! I was thinking of learning Push Button Engine for it, but after going through a couple of tutorials I decided I’d go for straight-up Actionscript instead. PBE has some neat features, but I need more time to get my head around its component-based programming model.
Anyway, SEEK*TOR is a game where you’re trying to locate the enemy by firing search flares from turrets. You have limited flares, and turrets have a limited range, so you need to carefully choose where you aim. It’s in Flash.
Incidentally, I’m annoyed with Audacity because it added an initial silence to all the mp3 files I encoded with it. So all the sounds come in late. Also, I just realized that I forgot to have the background music loop…
I uploaded my entry, even though it isn’t near complete. I figured it’s worth getting feedback on what I have for future reference.
I’ll probably write a post-mortem in a day or so, but I know the number one thing that I did wrong was that I didn’t organize properly at the beginning. I didn’t know where I was going to end up, exactly, so I didn’t know how to get there.
Here’s the screenshot.
The compass isn’t linked to anything in this version, since navigation wasn’t completely implemented. The arrow keys aren’t supposed to move the ship. The plan was to let the user select a direction, and then sail that way for a few spaces. How far they traveled would depend on which direction the wind was blowing, and whether or not any events happened, like finding land, meeting pirates or running into hazards. Unfortunately, I never got the planned movement implemented and so the compass sit
Head on over to the entry page to check it out.
Had cereal for breakfast, more chips and salsa for a midday snack and then a Subway sandwich and baked BBQ chips for dinner.
As far as coding goes, I’m not sure I’ll be able to have the entry I wanted to have. I spent a lot of time on stupid things, like math. I do have a ship that moves by the arrow keys (just for testing, that won’t be in the final game) and a compass that reacts to the mouse-hover and click. Next step would be to implement navigation, which includes setting a direction and an interval. I also will be implementing fog-of-war because part of exploration is having to go somewhere in order to map it out.
I’m not using a traditional full-array to keep track of the tiles. I’m using an image and I’m reading the map data from that image’s individual bit mapping. I’m going to implement the fog-of-war using a similar method, with a second image that starts off with each pixel being off and they get turned on as you go.
Navigation is going to be direction and time based, so you’d pick one of the 16 directions on the compass and sail. The ship is locked into the tile coordinate system to make things easier.
I fear there is way to much to do before the deadline tommorrow, so I’ll have to go with the essentials and just add on with whatever time I have left over. I hope to have a real game to submit, and not just a demo. I lost a lot of time trying to get my printer to print out a map so I could trace it, draw on it and scan it back in, but I ended up not even using that. I just created a new map by myself and Photoshop instead. The compass math stuff was a pain in the rear, though in the end pretty simple. I always end up spending extra time trying to do whatever it is in an abtract way, which can either be a killer or a timesave, depending on if I end up using it for anything else. For example, in the last compo, I spent extra time on the basic tile properties, which let me add new types of tiles in a matter of minutes later on.
Anyway, I think I’m done for the night. See you in the morning!
I’ve got an idea for Exploration that I’ve had for awhile and wanted to do as a project. The theme gives me a great opportunity to do it.
The idea is that you are an explorer sent to sail the world and to bring back riches and claim land in the name of the mother country.
I don’t have much at all yet. I struggled with how I wanted to represent the world data and scrapped a few ideas before settling on a bitmap and accompanying data file. As of now, I have it able to load up the bitmap and extra info into a class, but nothing is done with them yet. I’m falling asleep at my desk, so I think I should get some sleep and continue fresh in the morning.
It’s almost time….. Make that last grocery store run. Sharpen your pencils. Grab a stack of scratch paper. Plug in your microhone. Take the dog for a walk. Pick out your favorite coding music. Sign into IRC. Start your IDE. And go rent Twilight. You’ll need it.
Like a broken record, my Java basecode for the Ludum Dare 48 Hour Game Programming Competition #16 is largely the same as the past two three four five competitions. I haven’t made any changes to it since the last compo, despite saying that I wanted to. Recently I have been dabbling with C++ again, though I don’t feel that I’d manage very well using it in a compo at this time.
- Goals are pretty much repeating what I said last time:
- Keep the same art style as last time. I sketched things out on paper and scanned them in so I could colorize. Keeping with bold colors and gradients is probably what I’ll do.
- KISS – Keep It Simple, Stupid! Making something too complex is just a recipe for a headache at 1pm on Sunday afternoon.
- Make useful additions to the basecode that can be used in later competitions. The screenshot stuff is an example of something I did previously that helps out a lot.
- Finish most of the work by Saturday night so I can spend Sunday polishing.
- Don’t run into dumb problems that eat up eight hours.
Tools in use:
- Java 6 SDK (though last time I included a version for JDK 5)
- Eclipse IDE
- Photoshop, maybe some Illustrator
- DrPetter’s sfxr for sound effects
- Audition, if I can get it to play well with my sound card
- HP OfficeJet 6450 All-In-One for scanning doodles
- No Fear Energy Drink Sugar Free (Hopefully Boris Said and Carter Racing will run some Sprint Cup this year)
- Everlasting Gobstoppers
- mIRC for chattery
- Killer Game Programming in Java and the base code I mentioned above.
Can’t wait to see what the theme is. Hope it’s a fun one!