benko

LD15

First Ludum Dare

Hi guys, this is my first Ludum Dare compo :)

When I woke up this morning I went to the LD site to know the theme for this compo: caverns. Kind of turn off, because I had a nice idea for a zombies game. I had a shower and thought about what kind of game I’d do: a running game. Not very original (I found out that other people are making this kind of game, too!), but I just want to have some fun this weekend, so no added pressure for winning.

This was my breakfast (was super-hungry this morning): three mini-sandwiches of ham and cheese, with olive oil. Plus some coke. I needed caffeine and I’m not very fond of coffee, so…

Saturday breakfast

I downloaded an IRC client and joined #ludumdare for first time. There were 105 people in there O_o I didn’t know LD was so popular. I asked if I could borrow a public-domain or free picture, and I was told that yes, as long as I alter the picture somehow. I went to Wikipedia and found a nice CC-By photo of a cave. I spent almost an hour working on it, and got this (click to view full picture):

But when I finished, I took a closer look to the compo rules and… it turns out that I can’t borrow any pictures! :( I was quite disappointed because I threw away precious time, but hey, better to find this kind of stuff sooner than later! I drop the picture and drew some kind of floor to use with the game.

Now I’m downloading some Machinae Supremacy songs and start to code the framework (game states, sprites, and so on) of the game. I’ll be using Ruby and Gosu, so I’m expecting to have lots of fun :) See you!

Comments

harrypotter123
01. Feb 2014 · 14:22 UTC
Hi!

I was wondering whether I can use this and one other background that you posted on here as one of my backgrounds for a video game. It will not be for commercial use. Let me know as soon as you can!
dwgray16
23. Apr 2014 · 20:51 UTC
Hey,

I was wondering if I could use this for a cell phone app term project. It won’t be exported to the app store or play store. Let me know asap please.

Scroll!

After having lunch (I didn’t take photos, but it was fish, cheese and a salad) I re-did the cavern image, since I had to drop the first version. This time I draw the cavern in two layers, texturized them with the previous cavern background and then drawing lines to achieve a ‘hand-drawn’ effect. You can see the full picture here.

About coding stuff, I did the game states transitions with fading, and also a parallax scrolling background. I like how it’s looking! :)

Parallax scrolling background

Parallax scrolling background

Tags: screenshot

Comments

29. Aug 2009 · 14:08 UTC
that looks great.. love the style!

Character

I’m soooo censored behind schedule. Progress so far: cavern now has stalagmites and a character with a sonic board (of course this is just an excuse to not draw running animations).

Game character

Game character

Gimme some blood

I wish I were on a different time zone. About 8 hours to the end of the compo, but I need to go to bed in 1 hour so I can wake up early and go to work :(

Anyway, progress until now: the character now can collide against stalagmites and bleeds to reflect that. Bleeding is achieved with particles and the collisions are detected with simple rect bounding boxes.

Character bleeding

Character bleeding

I don’t think I’ll be able to include enemies, power-up’s or falling stalactites. However, I’ll try to include victory and game over conditions…

And this is the end…

Finished my entry for the LD#15. It’s a pity I didn’t have enough time to include all the features (enemies, power-up’s, lots of blood, stalactites…) I thought at the design stage, but at least it is playable. I think I might continue the development, though.

I’ve had lots of fun! This was my first LD and I’m really satisfied. See you in the next one! 😀

Title screen

Title screen


The Evil Dark Cavern Which Leads Straight To Hell

The Evil Dark Cavern Which Leads Straight To Hell

Tags: 2D, final, gosu, LD #15 - Caverns - 2009, ruby, screenshot

LD32

Metal vs Hipsters: Lessons learned

Metal vs Hipsters is my entry for the compo. I went solo and had a blast! You can play and rate the game here :)

Screen Shot 2015-04-20 at 02.13.19

 

I created a full post-mortem at my blog, but here’s the “lessons learned” extract. Once I have time I will upload all the images to copy the log, which I think is quite interesting!

What went well

  • No junk food or energy drinks. Also, clean and tidy environment (I was cleaning up on the go, so no dishes piling up in the sink, etc.).
  • Went for a more simple idea that last time (still not simple enough).
  • Achieved a consistent graphic style in the game. People seem to like it!
  • Took Monday off. This allowed me some extra 4 hours, and the game got so much better in these 4 hours…
  • Capture some GIF’s of the game and tweeted the whole process. This allowed my friends to give me lots of encouragement! And also it made much easier to compile the log here.
  • I was tired, but I managed to be stress-free the whole time. I credit this to the food / environment / workouts.

What went wrong

  • I lost almost an hour setting up the code environment! I should have done this in advance.
  • The idea was not simple enough. Well, the gameplay itself is simple, but it isn’t much juicy. It really needed more stuff, and I didn’t have the time for it. I should have thought on just one core mechanic that didn’t need anything else to be fun.
  • Lack of proper audio skills! It really showed up in this competition. I reallly need to learn how to create music.
  • Complicated art. This lead to non-animated sprites. Always bad choice :(

Tools and tech

This is a very unexpensive setup. If you’ve never done game dev before, please consider give it a try!

  • Regular HTML 5 game. I used the Phaser game framework and I’m pretty happy with it. Great performance, great documentation. It even runs in mobile browsers.
  • JS libs and tools: Gulp for automation (live reload, local server, deployment, etc.). Browserify for modules.
  • BXFR for sound effects and Garageband for the main song.
  • A small Wacom tablet and Pixelmator for the art.
  • LICEcap to capture animated GIF’s <3
  • Atom with vi key-bindings as text editor.

And tons of heavy metal! \m/

Tags: #LD32 #I'mIn

LD33

I’m in

I’m in!

I’ll be making a HTML5 game. The tools I intend to use are:

  • gamejam generator for yeoman to scaffold the project
  • Atom text editor with vim key-bindings
  • Git + Github for version control
  • Bxfr for sound effects and GarageBand for music
  • Pixelmator and a Wacom Intuos for graphics

Happy ludum-daring! :)

LD36

Post-mortem of “The Language of the Gods”

Hi all!

I wrote a post-mortem for my game The Language of the Gods, and I’m publishing it here as well. I hope you like it, and please play my game and tell me what you think! :)

> Play The Language of the Gods <

Log

Saturday

I woke up at 7AM to see the jam’s theme, “Ancient tech”, and went outside for a long walk to feel refreshed and let my mind wander a bit. Then I headed to a café to have breakfast and do some brainstorming. I really love doing mind maps for jams, it really helps me in finding out ramifications of the theme.

Photo of mind map

And then I had an idea I really, really loved. It was a story-driven game with the plot involving an explorer in an deserted alien planet trying to figure out how to get back home and discover the secrets of the now long lost alien civilization. Topics would include Good & Evil, the nature of reality, personhood, etc.

And to deliver all of this, I envisioned a kind of atmospheric game, with lots of exploring, some puzzles and opportunities to chill out while you go unfolding the story.

Still at the café, I doodled some concept art:

Concept art

Problem with this idea? Way huge for the scope of a game jam. But I wanted to make something with this idea, so I considered two choices:

  • Make a Twine game and focus on the story.
  • Make a vignette that captures the atmosphere I wanted.

I was reluctant to opt for Twine because I had never used it before. So I chose to make a vignette as a proof of concept and see whether people would like that kind of game or not.

As you know from previous post-mortems, I like to spend the first day of Ludum Dare coding, and leave art for Sunday. However, when I opened Pyxel Edit to draw some placeholder art, I couldn’t stop myself and I ended up drawing a pixel art version of the sketch I made at the café.

Pyxel Edit in action

For the curious, I used the Dawnbringer’s 32 colour palette, that comes as a preset for Pyxel Edit –having a reduced colour palette helps me a lot in drawing pixel art. And then I found out this app could export a PNG with all the tiles (a tilesheet), as well as a tile map in JSON.

So, TL;DR: no placeholder art this time.

There was a problem, though: Pyxel Edit tile map’s exported files were huge. Even after minifying, they were still heavy. So I added a task to my Gulpfile to manipulate this JSON and only include the information that I needed. The result? Going from more than 500KB to 8KB, something more reasonable for a map!

After lunch I resumed programming and had a bit of trouble trying to import the data. My first strategy was to mimic Tiled’s file format, since Phaser could directly import that. However, the map was not being loaded properly, so I gave up and imported the data into a Phaser.Tilemap myself. Once I had the map rendering, I included the main character and some passing clouds as decoration.

Since story was important, I decided that the next thing I should do were to display text. I drew a tiny font, using PICO-8 font measurements (3×5 pixels per character). And then implemented rendering of text of up to three lines.

Now that I think of it, I did quite a lot of stuff on Saturday, but at that time I went to bed with the feeling that it was not much, since there were many more things I would have wanted to do.

Progress before bed time

Sunday

I woke up on Sunday and did the same as the day before: going out for a walk to get fresh air and clear my mind.

I was worried about gameplay. “Will my game be fun if it’s just an story?”, “If so, should have just made a Twine game?”, “Maybe I should make big levels and allow for exploration”, “Maybe I could add some puzzles to it”.

I started to code events –so I could implement a story– and refine the text display.

A more advanced display

After that, I needed to include some puzzles. I knew that in the grand scheme of the game the game’s beginning mistery would have to do with music, so the simplest puzzle I could come with was Simon.

Once the mini-game was created, I implemented the artifacts that would launch the puzzle when being interacted with.

Artifact animation

And then this made the first playable version of the game! I uploaded it and added a message once the puzzle was solved asking for encouragement and feedback! I really needed some cheering up –and it worked, by the way!

First playable version

It was already the evening, and I still had a lot to do. It reminded me a lot of once of my previous Ludums, where I overscoped and I submitted a really rough entry. But somehow I managed to keep my cool and not panic much. It was obvious that I wouldn’t have time to do a lot (or big) levels, so I decided to cut that part without too much drama from my part.

I went to draw some simple animations for the main character and got hooked into Pyxel Edit again, and ended up doing more frames that I wanted to!

Idle animation

Walking animation

Animations in game

It was getting late and I still hadn’t a story in place, so I coded bits of the story in that single level. I made a mistake and I should have hardcoded the whole thing, but I wrote some kind of semi-generic system instead.

Lastly, I drew another level, this one featuring another type of object that was not an artifact: a crashed spaceship, that will add a bit of info to the story. This level also acts a bit like a tutorial, showing the player tooltips about how to move and how to interact with objects. This has been the first time I included an in-game tutorial in a Ludum Dare and I think it worked wonders: nobody asked me how to play the game.

Tutorial level

After that it was about 11PM and I still needed to compose some background music! The game already had some sound effects, so gameplay-wise it was OK, but music adds a lot to the atmosphere and mood and that was one of the aspects I wanted to try out and get feedback about!

I used Audiotool for music. I’m still not proficient with it, but I had learned enough so I could comfortable remix some samples and even play a melody with a custom-made sound from a synth.

After integrating the music into the game, I just needed to create a title screen and run a few walk-troughs to make sure everything was OK. I ended up submitting my entry at 1AM, despite I was aiming for midnight, as usual. However, it felt amazing to finish and have something playable!

Title screen

What went wrong

  • I chose to do the maps (not the actual drawing of art, but the building of the levels) with Pyxel Edit, instead of Tiled. This caused a delay because I then needed to minify them and write custom import code for Phaser, instead of relying of Tiled, which is the preferred format for Phaser and just works out of the box.
  • Overscope. I knew from the beginning that my game was too big and that I would have to settle for a tiny fraction of it, but I was having some bad feelings on Saturday night about me not having made enough progress (this is The Wall, and I have talked about it before).
  • I was not strict in terms of meal times –I was so in the zone that I would forget to eat–, and it made my stomach quite upset.
  • I ended the jam after midnight, and then I was so alert that I had a rough night afterwards. Other jams that I finished before midnight I was able to sleep as usual.

What went well

  • I did not give up! And I think this is my best entry for a jam ever. Although I will always have a soft spot for Metal vs Hipsters, I think that this entry is more solid and polished.
  • Pyxel Edit was easy to use and a bargain for its price and features. I will keep this app as my go-to pixel art software. Bye, bye, Asesprite and Pixen!
  • I was able to manage overscope. I think the resulting game is extremely short, but it definitely can be considered a proof of concept. I think that the game captures the atmosphere that I had in my mind and the mood I wanted to convey.
  • I got a lot of good feedback and encouragement on Twitter! This helped me to overcome The Wall on Saturday night and not give up.

Tools

Code:

  • JavaScript as a language.
  • Phaser as a game framework/library.
  • Atom with vim key bindings as text editor.
  • My gamejam generator to create the initial project template and automation tasks.
  • Gulp as a build/tasks system.
  • Github and Git for version control and online backup.

Audio and graphics:

  • Pyxel Edit for pixel art and level building.
  • Bxfr to generate sound effects.
  • Audiotool to arrange the background music.

Misc:

  • A sketchbook for brainstorming and concept art.
  • Twitter to post WIP screenshots / GIF’s and get feedback.

Tags: post-mortem