Cosmologicon

LD15

Desk photos: about town

Well, here’s my work space 15 minute before the competition started:

deskphoto

I got gedit and a terminal, so I’m good to go. But looking at the other posts, I got a bit self-conscious about how modest my setup is, so I decided to take this show on the road.

LDing on the subway!
T

Harvard!
harvard

MIT!
mit

Boston Public Library!
bpl

Hey, they had a book. Now I can totally make a 3D game!
book

Tags: deskphoto

Comments

29. Aug 2009 · 21:36 UTC
heya.. another Boston local! Enjoyed your ‘around the town’ shots! 😉
29. Aug 2009 · 22:47 UTC
Cool! LD 2 go!

Deep Escape: walkthrough

I was waiting for a Windows port before doing a postmortem, but I wanted to add a walkthrough for people who don’t want to solve the whole thing.

General hints: There’s three parts: an “orientation” section, followed by a puzzle with three switches (orange pink white), followed by a puzzle with four switches (blue green red yellow). Each of these three parts is separated by a long tunnel, and you never need to backtrack to a previous part. If you think you’re going the wrong way, press Down to turn around. Also, hold Up or Space while walking to speed things up. Because all the steps are reversible, it shouldn’t be possible to get stuck. You might wind up worse off than you started, though.

In the walkthrough below, each line is one room. “Blue 1st right” means turn to face the blue switch, hit it, and then take the first door to the right of the switch. If the line doesn’t have a color, such as “2nd left”, do not turn to face the switch, even if there’s one in the room. Just take the second door to the left of the direction you were facing when you entered. (This is counting closed doors, so if the first door on the left is closed, “2nd left” is the first open door on the left.) Okay?

Part 1:

1st left
Cyan 1st left
Purple 1st left

Part 2:

Orange 1st left
Pink 1st right
White 1st left
Orange 2nd left
White 2nd left
Pink 1st right
White 1st right

Part 3:

1st right
Green 1st right
Red 1st left
Yellow 1st left
Blue 1st right
Yellow 1st right
Green 1st left
Yellow 1st left
Blue 1st right
Yellow 2nd left
1st right

Thanks for playing!

Defenestration

This was my first Ludum Dare, and I was really looking forward to it. Well, I did have fun making a game, but there’s one major problem: I don’t have Windows, I don’t have access to Windows, and I couldn’t find anyone to port my game to Windows. So I kind of feel left out. Not only can nobody play my game, but I can’t play most of the other people’s games.

I always have such a great time with PyWeek I thought for sure I’d like this too. But I really have to consider whether Ludum Dare is for me. If I needed Windows to participate, I would easily choose not to participate. But maybe that’s not necessary. I could write in C++ instead of Python, and maybe more people could run my source. Or I could learn Flash or something highly portable. I still couldn’t play most of the other games, but it’s a step up. We’ll see.

Anyway, it’s been enlightening. And at the very least, I enjoyed making something, so it’s not for nothing.

Comments

08. Sep 2009 · 13:27 UTC
I used Ruby for my first entry, and Python for my second. I’ve used Flash+flixel for the rest. I would highly recommend it. Although I am not as much of a fan of AS3 as other languages like Ruby or Python, my Flash games have gotten FAR more play than my downloadable ones. I even had exe and dmg versions for Windows and Mac, but people just don’t like downloading games.
08. Sep 2009 · 15:57 UTC
What OS are you on? Who did you ask to port it? We from the ‘other’ OSes must stick together!
08. Sep 2009 · 15:58 UTC
Also, have you tried Wine? It works for about 50% of the Windows games I try here.
08. Sep 2009 · 21:19 UTC
If you worked in Python, send me your code (or is it just your download link?) and I’ll give porting it a shot. I write my LD games in Linux with Python/PyGame, and porting is a breeze — but I do have access to windows, which certainly helps!

LD19

Good Ship Exploration: postmortem and timelapse

Go to entry | Watch timelapse ]

My game turned out to be a vaguely steampunk-ish exploration/management game in space.

I can’t believe I finished this! Aside from the lack of sound, the game is more polished than most of my Pyweek entries, and those get 7 days. I was very surprised that I managed to implement everything on my list without cutting features. I’m actually kind of impressed with myself.

Having said that, it’s not a great game. It’s not very fun and it’s not very innovative. If you like exploration in games as much as me, there are some cool moments, but you have to work to get them.

The gameplay complexity is added gradually throughout the game. I think I should have front-loaded it, because I expect that people will quit after 10 minutes without seeing the whole game. People who play for less than an hour probably won’t get the full experience, and I know that’s way too long to expect someone to invest in a LD game, especially when there are hundreds to play! Oh well….

This is now the third game I’ve made that’s basically a rip-off of one-quarter of Starcon 2. One more to go. :)

What did I learn? I need to learn how to generate sound and music for the next LD. In Pyweek you can use sounds that are freely available. I forgot this wasn’t allowed until the last minute, so I had to disable the music I put in. I may upload a Jam version that includes it. Also, python + pygame is great, but it’s time to learn another language for making games.

Thanks to everyone involved in putting this competition together, and good luck to all the contestants!

Comments

dmennenoh
20. Dec 2010 · 13:46 UTC
You said: In Pyweek you can use sounds that are freely available. I forgot this wasn’t allowed until the last minute, so I had to disable the music I put in.
20. Dec 2010 · 14:04 UTC
I’m talking about free (creative commons) sound effects (like from freesound.org) and music (like from ccmixter.org). I think that in general those are against the rules. However, you can make your own music using other people’s drum loops, drum samples, and sampled instruments. I think the loops you used are fine, but I’m talking about full compositions.

LD21

I’m in for my third Ludum Dare

I’m using python/pygame again. After my LD #19 entry received only 9 plays, I decided I really need to learn something web-based. I started to learn ActionScript and even made a failed entry at One Month Game, but I don’t feel like I’m comfortable enough with it yet to use it for LD. So I don’t plan to get a lot of feedback again, but I still hope to have a good time!

Unfortunately my home internet is down until 29 Aug, due to a telecom workers’ strike! Since none of my neighbors were nice enough to unsecure their wifi, that means I have to take this production on the road. I plan to write my game from work, the library, and a friend’s house. Never a dull moment. I probably won’t be able to get a Windows port together until after work on Monday. I hope that doesn’t keep too many people from playing.

I hope to stick to my strengths for this game, which are humor, story, and creative use of the theme. It will probably be silent with badly hand-drawn graphics, and lack polish since I do everything from scratch, but I hope to make up for that with interesting game mechanics.

Good luck to everyone!

Comments

foobaz
24. Aug 2011 · 22:07 UTC
I kind of regret using actionscript and not pygame for my first LD. I spent about a quarter of the time looking for a decent library for a simple (GUI) button, which I eventually ended up coding myself.

First screenshot

I’m making a fairy tale of a self-reliant princess who has to rescue herself from a tower. Pretty crazy, right? The mechanics are pretty simple, so now I’ve got to focus on content. Here’s how it’s going:

Despite the mind-blowing 3-D graphics, this is a pygame (SDL) project. Still sticking with what I know here.

Timelapse for Abigail’s Descent

[ Abigail’s Descent | timelapse (youtube) ]

I admit I don’t really “get” the whole timelapse thing – it’s too fast to see anything that interesting. I had my webcam this time (although it stopped working on Sunday) since I was going to be LDing in a variety of cool locations (you’ll have to watch the video to find out where!). I put a big countdown clock on there too, sacrificing a good 30% of my screen real estate for the sake of this video. I still don’t think it’s that interesting! :)

Anyway, if anyone has any tips for making a better timelapse video, lay them on me!

Comments

vandriver
24. Aug 2011 · 01:36 UTC
schism tracker! high five! were you an impulse user back in the day?
24. Aug 2011 · 04:27 UTC
I like the timelapse-videos.

LD22

My first browser-based LD game

I’m going to make an HTML5 canvas game using the GameJS library. I really want people to be able to play my games easily, so it’s time for me to learn something web-based (my three other LD entries were in python).

I’m pretty nervous, because I just started trying out GameJS for the first time tonight, and I’m not very good at JavaScript yet…. I made an HTML5 game for practice last week, and it was pretty painful. Still, now I know it’s possible! Check out my practice game on your HTML5-capable browser if you like:

[ Intro to Fixology ]

Comments

16. Dec 2011 · 06:32 UTC
Wow. Honestly, this is one of the best showings for HTML5 games that I’ve seen. Normally, they all suffer heavily from low framerate. Yours managed *60*! The transitions were smooth, the concept was fun, and the puzzles, especially the last two, were actually quite challenging. Overall, this would’ve made a really nice entry into the actual compo, so I have high hopes and expectations from you! Really, fantastic job!
16. Dec 2011 · 06:53 UTC
Really awesome game.

Still getting used to GameJS

Definitely getting nervous. I should be more comfortable with a tool starting LD than I am with GameJS and JavaScript right now. I’ve spent the last day writing a module for handling game entities in a tree, which is the way I usually like. If you’re using GameJS and you want to use it, get it here.

And I saw that you could submit warmup games so I submitted mine here.

Good luck, everyone!

The Last Adventurer postmortem #1 – process

[ Play the game ]

I’d call this one a success!

Good:

  • Game is finished, with a lot of content (for me): five playable characters, three spells, three bosses with different behaviors, an upgrade system!
  • I was dedicated. I slept about 3 hours per night and spent almost every waking hour on the game.
  • Game runs (relatively) smoothly. Given how little I optimized, and how many graphical tricks I used, I think 20-30fps is pretty good.
  • I’m getting the hang of Javascript.
  • HTML5 canvas turned out to have a lot of relevant useful features
  • Really pleased with how the boss of level 4 turned out (and I got in a Wayne’s World reference)
  • Really pleased with how the rotating gameplay area turned out
  • Happy with the graphics, sound, and character design for the most part
  • Deploying to web turned out to be pretty easy. I’m very happy to have my first web-based LD game

Bad:

  • I get so engaged with my game during the competition that I have trouble joining the community. I’ll have to make up for it now that it’s over.
  • Navigating an isometric layout is a tricky problem
  • Had to leave out in-game instructions
  • I wish I had more engaging gameplay, but it’s fine for what it is
  • Had to leave out storyline (which is fine because it was too depressing)
  • Sprites are cut way down from my original idea, surprising no one
  • Had to develop in Firefox because of how Chrome handles trusted domains on local filesystems

Tags: postmortem

The Last Adventurer postmortem #2 – tech

[ postmortem #1 | Play the game ]

Thte Last Adventurer is an HTML5 canvas game with Javascript and the GameJS library. My previous LD entries were in python, and I was told if I made a browser game then it would get more plays, but so far that’s not the case. I’ve only got 12 ratings so far, which seems pretty low for a web-based game. Oh well. :(

HTML5 gets used for a lot of demos, and it doesn’t have a good reputation for game making, so I wanted something way more graphically and computationally demanding than Tetris. My game is still a bit rough around the edges, but that’s completely due to the time constraints. I’m sure that HTML5 is more than capable of making an extremely polished game.

I had  a lot of fun working with transformations and transparency. Transparency is used in many places in the game, including shadows, the selection region, the exit portal, and the boss of level 4. I used stretch transformations for anything circular that appears on the ground (shadows, selectors, portal), rotation transformations for the “knock” animation when a character gets hit, and scaling transformations for the level 4 boss and the “quake” spell casting sequence.

The pièce de résistance is the circular gameplay area. An 854×854 square image is pre-rendered. Then, each frame, it’s rotated by the current angle, scaled to an isometric 1:2 ratio, and its drawing region is clipped to an ellipse using the canvas element’s clip method. No caching of transformed images is done, and I think performance holds up well. You can see the smoothness of the rotation when you press LEFT or RIGHT. I should have incorporated that into the gameplay more, but more about that next time!

The Last Adventurer postmortem #3 – theme

[ postmortem #1 | #2 | Play the game ]

The theme for LD22 was “Alone”. I have two strict rules for myself when it comes to the theme:

  • some aspect of the core gameplay mechanic (as opposed to just the dialogue/artwork/whatever) must be inspired by the theme
  • never modify a game idea for another theme to make it “fit” with the theme that actually gets chosen

I feel like I put a lot of thought into this theme. It wasn’t enough for me to go with a game where you control one character and have very few or no interactions with an NPC. The large majority of games from any given LD are like this, and they could have filled this requirement with some minor rewriting. I rejected my first game idea because it was like this.

So rather than making another game where you just happen to be alone, I decided to change a game where you’re normally not alone into one where you are. The obvious choice for multi-character gameplay is an RPG. I could have just made an RPG where you only control one character, but that’s not very original, especially for Ludum Dare. So I decided to turn the standard formula around: instead of starting alone and building a party, you start with a party that diminishes until you’re alone. I like this idea a lot because:

  • it’s original. I can’t think of any game I’ve ever seen with this mechanic.
  • it’s inspired directly by the theme, but a creative interpretation rather than an obvious one.
  • it adds an interesting challenge to the gameplay (because you don’t control which characters will leave).
  • it challenges me, because I still had to make five different characters.

So I’m really happy with how I used the theme. Based on the comments I’ve gotten so far, most people disagree with me. They say the connection to the theme is weak or forced. I guess a game about being alone is more accepted than one about becoming alone. I think I would have gotten a higher Theme score  if I had only one character from the beginning, like most of the games in this competition (and other competitions). Still, I’m glad I didn’t. I’m not disappointed in others’ games, but I would have been disappointed in myself if I had gone the “accessible but obvious” route.

Anyway, I’m surprised some people thought my use of theme seemed tacked on, because I feel like I probably put more thought into the theme than most people did, even if I came to a different conclusion. Still, I think it’s great that people interpret the theme in different ways, so I’m not upset that the judges have a different idea of what’s a good use of theme than I do. I plan to keep trying outside-the-box ideas in the future, I just hope it’ll be clear that’s what I’m doing rather than ignoring the theme! :)

LD23

Hoping to use my incomplete HTML5 game library

Over the past few months I’ve been working on a Javascript library for HTML5 games called UFX, which I plan to use for this competition.

It’s still woefully incomplete and underdocumented, but if anyone is interested in trying it, I’ll be happy to help in any way I can! It’s designed to be modular, so you can use one module without using the others if you like. Right now it only covers the very basics, like keyboard and mouse input, frame management, resource loading, and a component-based entity system. There’s also a RNG and a sweet Perlin noise generator. I’ve only been testing it on Firefox and Chrome.

So yeah, I don’t really recommend anyone try it this time around, but hopefully this will help me get it in better shape for next time!

Tondie and Zupe postmortem #1: process

[ postmortem #2 | Play the game ]

Many posts here give tips on how to succeed at Ludum Dare, but you know what? Lots of them contradict each other, and lots of them contradict my experience. Everyone’s ideal process is different. I know what works well for me, and that’s all any of us can know. The only way to learn how you can succeed at LD is to do it! But here’s what I know about my ideal process.

  • The shower is the best place to come up with ideas. I take a shower right after the theme is announced, and I have the gameplay figured out by the time I’m dry.
  • I develop on my underpowered desktop (1.6GHz single-core EeeBox). This ensures I have great performance. Getting 15fps for my game is great, because I know that means most people will get 60.
  • Who needs sleep? A few power naps throughout the weekend keeps me going.
  • Focus on your strengths if you want the best game possible right now. For me, that’s math, procedural animation, and story.
  • Focus on your weaknesses if you want feedback that helps you improve long-term. For me, that’s sound, music, and menu systems.
  • Cutting features is not necessarily a bad thing. It’s like editing a novel. If a feature doesn’t contribute to the gameplay experience, it shouldn’t be there. Just try to recognize it before you spend time on it.
  • There’s a great moment about halfway through when, in the course of testing features, you find yourself actually playing your game for the first time. It’s really motivating.

I’ve gotten lots of positive feedback so far, thanks! I’m really happy with my entry. I’ve come a long way since my first Ludum Dare.

Tags: postmortem

Comments

namuol
28. Apr 2012 · 00:03 UTC
I couldn’t agree more. This is only my first LD, but I did the exact same thing immediately after the theme was announced: sat on the toilet, then took a shower. I started coding 20 minutes later. Phew!
04. Aug 2013 · 04:56 UTC
Hello!

Tondie and Zupe postmortem #2: back end

[ postmortem #1 | Play the game ]

My first Ludum Dare game required python plus a couple libraries. It got 9 ratings. That’s when I decided I had to learn to make web-based games if I ever wanted anyone to play them. So I tried hard to learn Flash, and didn’t like it. Then I heard about HTML5 and learned that instead. I looked around for an HTML5 game library I liked, and realized I’d learn best if I wrote my own. So a couple months ago I started making an HTML5 game library called UFX. Tondie and Zupe is the first game I’ve made using it, so that’s kind of cool. UFX is still pretty incomplete (the game locks up in Firefox, I suspect that’s due to a bug in UFX), but I hope that by next LD it’ll be good enough for people to use if they like.

UFX uses a component-based entity system. This is the first game I’ve made using such a system, and I’m hooked. If you’ve made a few games with a class hierarchy for your entities, I strongly recommend looking into component-based systems. It honestly felt liberating to write the code!

My code base stayed pretty sane this time around. If I continue development, I’ll be able to keep most of what I have. I do remember thinking to myself, as I was duplicating 10 lines of code, so this is when my camera module becomes an inelegant mess. Fortunately most of my modules didn’t suffer the same fate. JavaScript doesn’t really deserve its bad reputation, which only exists because tons of JavaScript was written by people who don’t know JavaScript.

Most people who comment on HTML5 as a game platform say it’s not ready. That may be true in certain ways, but I think people are still underestimating its potential. The best way to make that point, though, is just to make good games with it. With Tondie and Zupe, I was impressed at the performance I got. I never do any image caching or optimization. I just zoom, scale, and rotate, and draw the graphical primitives I need. Chrome does an excellent job keeping the framerate up, even with many enemies on the screen. It’s fun to see other people’s HTML5 entries too. I hope we can inspire each other to push the envelope and get HTML5 recognized as a contender.

The graphics in Tondie and Zupe are 100% hard-coded vector graphics. If you look at the source, you’ll see it doesn’t load any image or data files. Doing it this way seems like a pain at first, but it’s very powerful if you’re willing to try it. It makes animation very easy, which was important for achieving the right “bouncy” feel for this game.

Finally, I kind of lucked out with the theme. Cylindrical coordinate systems happen to be a specialty of mine. I’ve done similar things before (which I’ll write more about in the next postmortem), so this part was easy. I’ve gotten a lot of positive feedback about the controls and camera, so I think people appreciate it.

LD24

Setting up my workspaces

This is my sixth Ludum Dare. I’ll be making an HTML5/JavaScript game again, using UFX, the library I’ve been working on. This will be the fourth game jam I’ve used it for: I also used it last LD, last miniLD, and last BaconGameJam. Each time I learn about some new features I need to add!

I’m currently setting up my desktop workspaces. I think I’ll need at least eight:

  1. web for research, twitter, email, background music, etc.
  2. source control (hg checkout of my googlecode repo)
  3. source editor (I don’t use any fancy IDEs, just gedit for me)
  4. Chrome test window
  5. Firefox test window
  6. Gimp
  7. Audacity
  8. Screencap control for timelapse

I’ll add a few more blank ones, because I’m sure I’m forgetting something. I never feel like I’m really working unless I’m switching between at least 10 workspaces.

Rise of the Morbels – postmortem #1: story and audio

[ play the game ]

I wanted to make a game that focused on the story for once. I really like writing dialogue for games, but it’s hard to justify taking the time to write a good story during a game jam. That’s probably why I don’t do it too often, but it’s still fun.

The story for Rise of the Morbels is based on one of the plots from Dirk Gently’s Holistic Detective Agency by Douglas Adams. The character’s name is a reference to Samuel Taylor-Coleridge, whose “Rime of the Ancient Mariner” was supposed to be about this event. The story is delivered in voiceover that plays while you have control of the character, to avoid that “wall of text” feeling. I feel like this was a good choice, and it contributed pretty well to the feel of the game.

The sound quality’s not great, but I’m really happy with how the audio turned out, given that my last game had no audio whatsoever. This was the first time I’ve ever incorporated any voiceover into a game, and I think it actually sounds pretty good, even though I usually dislike my own voice. Speeding it up by 15% makes a huge difference, I guess. This was also the first time I’ve ever composed music for a game. Even though it’s just four notes, I feel like it’s appropriate for the mood, especially since I don’t know anything at all about composition. Combined with some creepy sound effects, it’s not bad.

For the most part, the audio work went smoothly. The music only took a few minutes, and I got five minutes of dialogue in less than an hour. I did have a technical glitch at the end, though. Every line of dialogue is a separate sound file, so you have to download 89 ogg files for this game. About an hour before the deadline, this was causing Chrome to crash. I managed to avoid it by downsampling some of the sound effects, but it was really tense for a while.

Of course, every minute spent on story or audio is a minute not spent on gameplay, so I knew that I would be making sacrifices here. It’s not the most fun or replayable game I’ve ever made, but I may talk about that in another post.

Tags: postmortem, story, voiceovers

Comments

johnfn
27. Aug 2012 · 21:37 UTC
Hey Cosmologicon, I remember you from the last Ludum Dare! This entry was great – even better than your last one, I think.

LD27

Flajora’s Flask

play

Click to play

This one wounding up being a little weird. Here’s how my thought process went.

What if you had 10 seconds to save the world? Well there’s not much room for gameplay, better make it repeat like Groundhog Day so you have to do it over and over again to get it perfect. Wait, wasn’t there an obscure Zelda game along those lines? Yeah, why don’t I just rip that off.

Nobody has tested it yet, so if you have any trouble playing it, please let me know!

LD30

Spanner – postmortem

Play Spanner

Here’s my entry’s percentile ranks in each category: Theme 94%, Overall 86%, Audio 72%, Mood 71%, Graphics 69%, Innovation 67%, Fun 66%, Humor 45%. This was definitely not my best entry and it wasn’t particularly fun to make, but I thought I’d say a couple words about it.

The puzzle mechanic is what I dislike most about this game. The puzzles are not elegant, and you just as often stumble across the solution with luck rather than deduction. The mechanics also allow for a very narrow range between too easy and too hard. I wound up with only four actual levels (after the six quick tutorial screens), but I’m not worried about people finishing it too fast because the last level is simply too hard. I suspect most people did not even make it past the first actual level.

I possibly could have figured out a way to improve the mechanics, but I didn’t even have a level editor until four hours before the deadline, and at that point I needed to finish it up. I briefly considered completely changing the game to be an endless puzzle rather than level-based, but I’m sure the balance would have been terrible.

Anyway, the graphics, sound, and controls came together pretty well (though I had a little trouble with the Web Audio API) so it was somewhat enjoyable nonetheless. But I think next time I’ll leave these until I’m really satisfied with the gameplay.

LD31

All the World: walkthrough/tips/map

Play All the World

If you’re stuck, here’s how the game works:

  • Use arrows to move around. You can double jump. Space bar to shoot.
  • Press down at a glowing triangular thing (portals) to change “rooms”, which changes the scenery and the portals available to you.
  • Portals are two-way. If you go back through the one you just came through, you’ll get back to where you came from.
  • The object is to find and kill the boss. Release the boss by destroying the hanging thing in the boss chamber, then go to each of the three chambers with a boss killer bomb and destroy those.
  • If you use a boss killer before releasing the boss, don’t worry. It’ll respawn.
  • Releasing the boss and using a boss killer both fill up your health.

If you’re having trouble navigating, know that there are multiple rooms with the same setting (day, night, rain), but you can generally tell them apart by the number of portals in the room. View a complete map here. The room names appear if you’re playing in easy mode.