About LPGhatguy (twitter: @LPGhatguy)

I make games that are mutually exclusive with fun.


Ludum Dare 29
Ludum Dare 28
Ludum Dare 27
Ludum Dare 26
Ludum Dare 25
Ludum Dare 24

LPGhatguy's Trophies

Great Narrative in a Game Award
Awarded by ananasblau
on December 17, 2012

LPGhatguy's Archive

I’m still in!

Posted by (twitter: @LPGhatguy)
Thursday, December 13th, 2012 4:09 pm

Even though I posted about being in around October, I’m here to say that I still am, and to update some links.
I’ve learned a lot from last time (this is my second time) and hopefully I can make a game that’s not a maze full of paper this time.


  • Language: Lua
  • Framework: LÖVE
  • Code Editor: Sublime Text 2
  • Music Composition Software: MuseScore
  • Audio Editor: Adobe Audition/Encore
  • Image Editor: Adobe Photoshop

Existing code:

Best of luck to all, and most importantly: have a good time! See you on the other side with a (hopefully) finished game!

Ludum Dare #25 – I’m in!

Posted by (twitter: @LPGhatguy)
Monday, October 15th, 2012 9:40 pm

Aloha from Montana!

It’s time to celebrate two things! I’m going to do Ludum Dare 25, regardless of when in December it is! Secondly, I’ve got an upgrade of tools!


  • Language: Lua
  • Framework: LÖVE
  • Code Editor: Sublime Text 2
  • Music Composition Software: MuseScore
  • Audio Editor: Adobe Audition/Encore CS6
  • Image Editor: Adobe Photoshop CS6

Existing code:

Note: I’ll lock my code in officially as Ludum Dare 25 approaches, but the GitHub links above will provide a snapshot of what I’m working on.

What I learned from last time:

  • You don’t have time to recreate Unreal Engine 4.
  • Gameplay is kinda important.
  • If you aren’t focused or you aren’t having fun, take a break.
  • Vote as early after submission ends as possible — it killed my ranking last time around because I slept for 4 days following the competition.
  • Remember that it isn’t about ranking, it’s for yourself.

In preparation I’ve been making a series of awful short timespan games I’m calling “S-Games” (take a guess as to why, screenshot) so I can practice finishing things, even though I finished in LD #24, it didn’t feel like I would. Two weekends before I’ll probably do a full-on practice with a few friends.

I do guess this is a little early, but to all those who think that they might do this upcoming Ludum Dare, do it! It’s a lot of fun even if it does drain your energy completely for a weekend.

First LD: UNBOUND Post-Mortem

Posted by (twitter: @LPGhatguy)
Monday, August 27th, 2012 2:53 pm

You can play the product of my labor, UNBOUND, here.

With this being my first Ludum Dare, I (like every other first-timer) had no idea what to expect. I spent the entire Ludum Dare in a Skype call with a few friends, one of them also doing LD (also a first-timer.) Overall, I feel like I did alright, but a few weakpoints of mine (drawing) showed through. Also, I had an interesting time dealing with planning with no ability to write, as I have a broken wrist. But anywho, onto a chronological post-mortem.

Day 1: August 24th

Right as the theme was announced, I felt I was in for quite the experience. I hadn’t a clue what I wanted to do until about 2 hours in, and it sounded like a great idea. It would be called BIND, and the mechanics were something along these lines:

  • Controls were added as needed. For example, the first time you approach a ledge, whatever key you attempt to jump with would cause you to jump from then on.
  • Things you did more often you would gradually get better at, at the cost of losing your skill in your least-used skill.
  • Enemies would adapt and evolve to counter whatever you’re good at.

And so I got to coding with these tools:
Code: Sublime Text 2
Language: Lua
Framework: LOVE2D
Art: Photoshop CS6
Music: MuseScore
Sound effects: Audacity, starring myself

I had no real engine to use, but I had been experimenting with a few techniques in LOVE2D, and I was already extremely familiar with both, so I started the game engine. It had some great code; I got about 500 lines down and some sprites before heading off to bed at 3 AM, Mountain Daylight Time.

“Day” 2: August 25th/26th

I woke up about 10 AM my time, giving me about 7 hours of sleep. The night before I had completed the base engine (with much left to do, however) and a few sprites (a top-down guy running with/without a gun, a tile floor, some dirt, and a couple mouse cursors.) After continuing work on the engine I decided that what I envisioned for BIND, which was to be a fast-paced gun game, would probably be too much. I also had made an error in the base of the engine that caused two issues I wasn’t happy with. First, I had a horrible flickering problem, but that was fixed by the helpful people in the IRC and a few minutes of fiddling about. Secondly, I hadn’t built the system with any sort of collision (let alone physics) in mind. Given the time constraints, I didn’t feel it was worth-while to either rewrite the engine and mirror every object into love.physics for easier interaction, or write the necessary components with my makeshift object system.

And so I went with another idea: a boiled-down version of Dear Esther with a completely different base. I kept the sprites I made, despite the fact they were less-than-stellar. I also kept the engine, disabling, but not removing, all the functionality that would have made BIND, well, BIND. I added in simple tile collision, added a slight light-swell effect for atmosphere, and made an image-based level format with 4 layers: 3 visual (red, green, blue) and 1 collision. (Alpha) I decided that the main mechanic would be “notes” left by someone who had been there a long time ago. Why you were there wasn’t ever defined in-game, essentially leaving it up to you (until I posted the entry, where I declared you were a journalist.) From there, I patched the level format, adding support for “special” tiles: ones that either had metadata associated with them or could be interacted with. I added 3 such tiles: Paper, Start, and LevelChanger, which was going to have support for more than just moving you to the next level, but hey, time. I looked at the clock and noticed it was 6 AM, and determined I wouldn’t be sleeping until LD was over.

I felt I had a relatively okay game base going there, so I went to compose the music. I came back after about an hour with a good few measures of a song that would define the feel of the game. I began working on more tiles and the first few levels. I added walls of various types, and made 5 levels that consisted entirely of tile floor. After adding my new walls to the first 3 levels, I scrapped the 5th level entirely and left out the 4th’s walls in the interest of time, because around that time it was 1 PM. I finished the music, giving a 1 minute loop, and began working on more sprites, such as a red-tint utility tunnel pathway that my friend Andy thought was “random rusted chain” — like I said, my art skills are lacking heavily. I started the actual writing about this time, which didn’t take very long. After all, I had finished many English writing assignments the night before they were due. I patched up the old tile levels with a new metal-floored access tunnel type floor for a couple parts and began working on the utility tunnel levels below.

These maps were much quicker to make due to the difference in tiling needs (in the tile levels, if I needed an upper-right-inner-corner wall piece, I had to composite three tiles together in the image, which was slow.) For these levels, I hard-coded changes such as turning off the music and enabling ambient noises (which were myself vocally letting out the agony I felt and hitting my desk.) At this point, it was 5 PM and I needed an end. I won’t spoil it here, but it required a new special tile to trigger it. At about 6:20, I finished up minor changes and details, packed, and submitted my game.

I then proceeded to celebrate quietly (because I was too tired to make much noise) just before falling asleep around the submission deadline passed.

I’m more happy with UNBOUND as a personal project than one of Ludum Dare, partly because I didn’t believe I’d finish, but mostly because of the different interpretation of the theme and general personal emotional importance it had for me. In the game, I took a completely radical (and probably incorrect) view of evolution: that of the mind. How do people’s emotions evolve as time passes, and situations become more hopeless?

I enjoyed Ludum Dare a lot, and I’ll surely be back for Ludum Dare 25. Thanks for your time.


I’m in (my first try)

Posted by (twitter: @LPGhatguy)
Thursday, August 9th, 2012 3:15 pm

This’ll be my first Ludum Dare entry ever!
I’ll be using Lua with LÖVE for the application, MuseScore, Audacity, and a microphone for audio, and either Paint.NET or Expression Design 4 for all the artwork.
I’m hoping to become a Ludum Dare regular, now that I have the time and programming ability to actually produce anything.

EDIT: I’m using Sublime Text 2 as an editor as well.

EDIT 2: I’m using a project/build system for LÖVE in Sublime Text 2 that I wrote; it’s available here.

[cache: storing page]