vrld

LD20

Reporting in.

This will be my first LD. 48 hours of game making sounds like fun (but also a little bit intimidating). My tools will be:

  • LÖVE, the awesome cross platform game framework,
  • vim, the awesome text editor,
  • gimp, the awesome image editor,
  • hump, my toolset for LÖVE,
  • HardonCollider: collision detection for LÖVE and
  • Club Mate, Coffee, Pizza and chocolate.

Comments

winferno
29. Apr 2011 · 15:27 UTC
LOL @ HardonCollider… Good luck in the compo! If we meet in IRC, remind me to rag on you for using vim. =)

LD22

A plan begins to emerge.

After one hour of brainstorming and seven hours of sleep last night, I still haven’t decided on the theme yet. My brainstorming progress so far:

Interpretations of “alone”:

  • isolated: want to be alone, but somehow isn’t
  • isolated: is alone, but doesn’t want to
  • “leave me alone”
  • solitary: love story (blergh)
  • alone as in exclusive
  • alone as in unique
I really dislike the theme. It may sound “deep” and indie as fuck as first, but the problem is how to derive any sort of conflict from it. Nonetheless, I have 5 outlines:
  1. Paparazzi
    • Conflict: You want to be on your own, but others won’t let you
    • Mechanic: Beat em up
  2. The last/first Zombie
    • Conflict: You are the last/first of your kind.
    • Mechanic: Sneaking game/tactics. Go infect people, but don’t be seen.
  3. Cameras/Big Brother
    • Conflict: You want to have some personal space
    • Mechanic: Platformer, doge cameras
  4. Water World
    • Conflict: You are Kevin Costner. You are alone.
    • Mechanic: A Shooter or something.
  5. Lonely Island
    • Conflict: You are stranded.
    • Mechanic: Build stuff. Get noticed. Don’t die.

I think I’ll go with the last one, but I fear it might be too complex. Especially since I suck at graphics. But oh well… You can always add kittens.

Comments

KillSpammer
17. Dec 2011 · 10:26 UTC
5 seems pretty cool, I really like surviving on island 😛

Project Robert Sean – Post mortem

More than 48 hours have passed since the weekend and I think I now have enough distance to my creation to write a post mortem about it. I will look at different aspects of the experience rather than do a general “What went right, what went wrong?” list. So here it goes:

Design Process

Initially I wasn’t very happy with the theme. “Alone” may seem to offer a very deep and “indie” setting for games, but in reality it limits the narrative possibilities. On the other hand, this is true for almost all suggested themes and may be a good thing (see “Lessons Learned”). Anyways, after my two past experiences with game jams, I tried to structure the design process a little. First, I simply wrote down the different meanings of “alone” as well as syno- and antonyms and tried to work from that. Next I compiled a table with “Theme”, “Conflict”, “Core Mechanics”, “Pro” and “Contra” with different ideas. “Theme” would set the general framework of the game, while “Conflict” captured what should drive you to play the game and “Core Mechanic” described in a few words what you should be doing while playing:

Theme Deserted Island Conflict Survive and get rescued. Core Mechanic Gather stuff, build tools and shelter, make signs to be noticed. Preserve energy, stammina and sanity. Pro No need for AI. Wanted to it anyway. Fits theme well. Contra Needs graphics. Complex. No experience with these type of game.

The middle contra – “Complex” – should have set off some sort of alarm and it probably did, but I set it to snooze. My next favourite idea “The First(Last) Zombie” would have been a zombie sneaking game where you, the Zombie, would have to get past hordes of armed humans to feed on their young ones. I ditched it because the need for neat graphics, some sort of AI and the overuse of Zombies in general. In retrospect I probably should have sticked to it.

After that, I went to bed (around 4:30 am local time) to let the idea rest. I did not do any code or graphics or sound, which was a good idea.

Code

Overall, I am pretty satisfied with the code. Of course the quality could have been better, but it is amazingly clean for being yanked out in 48 hours. Counting the line of code using cloc reports 1393 lines of Lua or the equivalent of 5572 3rd gen code. That excludes blanks, comments, libraries I used and the code I deleted in the process. I also implemented a tile engine (with automatically computed tile transitions) which I had never done before. This turned out to be a good idea, since it helps speed up the design process a lot, and you can use tools already available for level design (I used the gimp). I will invest some time to learn more about tile engines in the future.

Graphics

Well, what can I say? Graphics are not really my strong point. Diagrams and technical stuff I can do just fine, but anything else is a disaster. Part of it stems from my lack of understanding my tools well enough. I will need to learn how to draw stuff and the proper usage of Gimp and Inkscape (or some other graphics program).

Audio

Audio turned out rather nicely. Though I have no idea how to do music, “Alone” begs for very minimal or even no music. Instead I focused on ambient sounds which I created using Audacity, my crappy laptop microphone and a little bit of bfxr. Making the sounds was a really fun experience, which I hope to repeat next time.

Other Aspects

Because an active mind needs a lot of energy, I tried to eat healthy this time. Cooking the food
also helped to take my mind off immediate problems and to see the big picture. This I will do again. Unfortunately I ran out of snacks pretty quickly. I greatly underestimated the need for this stuff. What I did and probably shouldn’t have was drinking a lot of coffee. It sure helped to focus and stay awake, but once the effects wore off, I felt even more exhausted than I would have without caffeine.

Lessons Learned

The first and foremost lesson I took from this experience is that I need to impose limits. Limits not only on the game design (i.e. make it simple), but also on the inputs and graphics. A LD game should be playable using Gameboy controls, which means two buttons plus 4 movement directions at top. Better just one button and two directions to move. This will have two effects: First, the game needs no real explanation/tutorial, and secondly, the game mechanics have to be chosen accordingly. Graphics wise I will probably use a 16 or less color palette next time. Other lessens learned: Less caffeine; Tile engines are useful; and Sound design is great fun.

See you next time.

LD23

Brainstorming for Ideas

LD23 started 7am local time, but since I had a rough week I decided to wake up when it’s time. This happened around two hours ago. Before having breakfast I had a peek at the theme, but decided not to think about it too much. To get my subconscious mind working or something.

Breakfast is now over and the ideas start coming, even as I am writing this. I will throw some of them at you:

  1. Build circuits! In the beginning you have nothing but a NAND gate. At the end you will have a fully functional nano robot.
  2. Build circuits! Synchronize the actions of your cute nano robot using a clock, gates and other components. Similar to SpaceChem, but different.
  3. Quantum mechanics:  States, tunneling, entanglement, weirdness. How to get this into a game? No idea.
  4. Uncertainty principle and probability distributions. Mechanics similar to the game (the name is on the tip of my tounge) where you guide a stream of particles using attractors, repellors and stuff.
  5. Very many people on very little space. And then you run around and … this is going nowhere.
  6. You jump from tiny planet to tiny planet. And you do stuff there. Like solving quests.
  7. Biology: You are an amoeba kind of creature and your goal is to eat other creatures to gain their abilities. Like Flow or Osmos. But different somehow.

I think I will stop here and try to work out possible directions with all of the ideas. My favorites at the moment are 2., 4. and 7.  I will write again when I have my concept.

Edit: I couldn’t stop, so here’s number 8: Ants. This is my new favorite.

Making some progress

While the afternoon was mostly spent procrastinating, I managed to finish (large portions of) my circuit simulator and editor, as seen on the screenshot to the right.

In the beginning I had some problems with the simulation algorithm and loops in the circuit. This was mostly attributed to the desire to do it right. You know what I mean. What I’ve come up now is quite cool though; you can even build little state machines. :)

Up next: Go outside to fetch dinner and some snacks. Maybe grab a beer.

After that I will focus on the nanobot movement. If everything goes smoothly I will have something playable tonight and can use tomorrow for level design, graphics, sound and music.

Half way there?

Hopefully. A recap of what I have done so far:

  • Found my concept: Program a nanobot to solve different tasks – using logic circuits.
  • Built circuit simulator.
  • Built circuit editor.
  • Nanobot reacts according to circuit.
  • Awesome pause/exit screen.


On the screenshot you see a circuit to make the bot run in circles. Can you figure out what’s happening without explanation?

What needs to be done?

  • Graphics! Sound! Music!
  • Rewrite of the circuit simulator. I want to be able to build latches. Somehow this does not work yet.
  • Puzzle design.
  • Tutorial
  • Title/Credit screen.

But now it’s time to get some sleep. Tomorrow will be time enough.

Seeing the end of the tunnel

Cannot … write … not think. Too much … coding … graphics … coding. Need … to rest. Cannot. Must make … sound. Tutorial. Levels. Must test. Must finish.

Screenshots:

Nano Bot Adventures - Level 1

Nano Bot Adventures - Level Editor

What’s done is done

… and now I am super exhausted. But it was so worth it. This is my third Ludum Dare, but the first one that I managed to finish with a full game. It even has an option-screen! And an option! Anyway, I’ll write a longer post after catching some of that precious, precious sleep. For now, I can offer a link to the game submission page and a screenshots (more on the submission page). Oh yeah, the game is called NaMa Tek. Whatever that may stand for.

NaMa Tek Postmortem

It has been a little more than two days that since the submission of my game NaMa Tek and I had enough time to contemplate about what went good, what went bad and what lessons I can derive from that.

The Good:

  • Familiarity with Lua and LÖVE: At this point in time I have made quite number of games (or game like things) using LÖVE. I have solutions (both in the form libraries and as design patterns) for most of the basic issues that keeps you from making the actual game.
  • Brainstorming and Design: Because my last two attempts at Ludum Dare did not result in a finished game, I decided to take more time for brainstorming and thinking about the game. In a previous compo I would probably have gone with some other idea. I really liked to do a Settlers like ant colony simulation game, but it’s needless to say that such a game is way out of scope for an 48 hour compo.
  • The in game editor: Being able to quickly build and test levels is super important when time is of importance. For NaMa Tek the level format was simple enough to build a level editor in almost no time. Using a third party level editor (e.g. Tiled, GIMP) would have worked, too, but the ability to test levels instantly is priceless.
  • Frequent updates: I forced myself to write a short post every time I took a break. This helped to monitor my own progress and made me think of what had to be done next.

The Bad:

  • Time Management: Although the brainstorming and game design phase went pretty well, I did practically nothing for the first few hours. I eventually got myself together and did what I set out for the first day, but having more time would have helped spotting bugs. On the second day I spent too much time playing with the circuit editor instead of doing important things like graphics, sound and level design. Which brings me to the next point.
  • Level Design: The difficulty curve of the game is far from being linear. The tutorial levels are relatively easy to solve, but the next levels are near impossible if you did not spent some time studying logic circuits and how to build higher level components like latches, adders and finite state machines.
  • User Interface: The only thing I can say here is this “what is intuitive for you is not intuitive for the rest of the world”.

The Indifferent:

  • Music and Sound: I would have liked to devote more time to this. I really enjoyed doing sound design last time (in fact this was one of the only things I was happy with in the end), so it’s a pity this didn’t work out this time. On the other hand, I got to add some simple (simple!) music, which adds a lot to the game. Making music is fun!
  • Graphics: I am neither talented nor experienced at this front and I know it. That considered the game does not look that bad, but it could definitely look better. 😉
  • Work environment: I had to work on a tiny 11.6” Laptop with no additional screen, keyboard or mouse. Compared to my usual setup this certainly was a downgrade, but turned out to be OK.

Lessons learned:

  1. Spend more time planning stuff. Plan a lot of time for level design in particular.
  2. Build an in game level editor for rapid testing.
  3. Get more familiar with the non-programming side of things. In particular: Learn how to sprite and learn how to make music.

That’s about it. I would be delighted if you try and rate my game. You can get it here.

LD25

Dare to dare: I’m in!

After skipping the last LD – an unforgivable  mistake – I will once more join the fun!

My last entry (dully) titled NaMa Tek – you had to program a nanobot by designing logic circuits – was the first one I consider to be relatively complete. Better yet, it was ranked #30 in innovation! I am not sure if I can repeat that results, but I will sure as hell try :).

How? With the help of these tools:

  • LÖVE – amazing framework for super fast prototyping and runs without any changes on Windows, OSX and Linux (seriously, you should try it!),
  • … topped with my own libraries: hump (general purpose stuff), HardonCollider (collision detection), Quickie (simple GUI toolkit) and SLAM (easier audio management),
  • … the very useful tween.lua (tweening, duh) and possibly anim8 (sprite animation) by kikito,
  • … and these two snippets,
  • Gimp or procedural stuff for graphics (I suck at that stuff),
  • Audacity, SuperCollider (or, if there is time, LHC) for sound – with bfrx as fallback,
  • Milkytracker or sunvox for music, if any.

Godspeed to everyone – and make the best out of your 48 hours!

Argh! I overslept!

Living in a timezone where Ludum Dare starts at 3 AM has it’s drawbacks. It’s early enough that you can convince yourself to stay up until the theme is announced, but too late to actually start with something. So I checked the theme, thought ‘Awesome!’, and then got to bed, and slept until just now.

Luckily I already know what to do, as this theme is something I wanted to do for quite some time now1, although titled as “the other side”:

You command not the hero of classic video games, but the enemies. For example, you will be a ghost chasing Pac Man around, commander of the SpaceInvader army or you will be shooting the ballistic missiles in Missile Command. Here’s the twist: You can only advance to the next stage by losing, by letting the good guy win. 

It should be relatively easy to get a first playable prototype in a few hours. And then it’s basically just adding stuff.

Anyway, enough time wasted – time to start coding!

 

1 It feels a little bit like cheating to have a clear plan before the theme is even announced. But then again: I didn’t vote for it. 😉

Wrapping up

After about 16 hours of work it’s time my brain feels like being wrapped in three layers of cotton wool. This usually is a sign that I should stop whatever it is I am doing and go to sleep. Before doing that, let me just shortly recap what has been done:

This time I decided to take a different route start with peripheral work – an intro, a menu and the credits – because in the last games these were slapped on last minute and didn’t feel very good. Not this time though.

I went on to program the first mini game, Pac Man. Everything works so far, but making the ghosts and Pac Man find their way through the labyrinth is not as easy as expected: Pac Man doesn’t move. Yet.

Here are some screenshots showing the progress so far:

other-side manpac manpac-lose

What’s on the menu tomorrow:

  1. Finish that damn Pac Man minigame.
  2. Implement Space Invaders.
  3. Implement at least one other game – preferably one without the need for a good AI.
  4. Add sounds and music. Add polish.

Sounds doable.

Second Breakfast

P1020966

Ayran and Coffee.

Debug output

 

This took way too long to get right:

other-side-debug-out

 

LD26

In…

… and super exited since this will be my fifth Compo!

The tools will be my usual:

  • LÖVE for cross platform awesomeness
  • hump, HardonCollider and Quickie – my lövely swiss army knife
  • The GIMP for graphics, but I’ll try to keep it minimalistic this time
  • Audacity and bfxr for sound effects
  • SunVox for music (and maybe some sound effects)

Got a concept

It will be a minimalistic strategy game. See if you can decrypt the notes 😉concept

Progress

Less than what should have been possible, but I am getting there:

garme

Phlux

That’s it. I’m done:

Not what I originally intended, but I am quite happy about it still. :)

Try Phlux here

LD27

I’m In!

Can you be addicted to Ludum Dare? I think you can. And you should.

I’ll be using my battle compo tested environment:

  • LÖVE and my own toolkits:
    • hump (equivalent of a swiss army knife),
    • Quickie for buttons and stuff, and
    • HardonCollider, if things need to be smashed against each other.
  • vim, because how else are you supposed to edit text?
  • sunvox and Audacity for my audio needs (both are great, you should try them!).
  • Gimp or Inkscape for graphics, but only if I really need to.

See you on the other side!

5

This entry was posted on Friday, August 23rd, 2013 at 6:49 am and is filed under LD #27. 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.