About ripter


Ludum Dare 33
Ludum Dare 30
Ludum Dare 25
MiniLD 31
Ludum Dare 22

ripter's Trophies

ripter's Archive


Posted by
Saturday, August 22nd, 2015 11:26 am



We are making a shooting gallery! You play a dragon trying to win at a carnival shooting gallery to win and impress your lady dragon.

So far we have things moving across the screen!



And some videos:

The Kittyzilla team is back!

Posted by
Friday, August 21st, 2015 11:42 am

The same team that brought you Kittyzilla is back! And we are even less prepared than we where last time! Are we going to use ImpactJS again? Maybe Phaser? Or how about just some HTML/CSS/JavaScript? Who knows!

Last year we picked ImpactJS early on and it turned out great. This year we are waiting for the start to pick our tech. We know one thing for sure, it will be written in JavaScript.

Why the indecision? Are we just lazy and unprepared? Well yes, but also we’ve been thinking about different types of gameplay. Side scrollers are great, but so are click adventures. This year we are waiting until we come up with our idea, then we will pick a tech that matches.

Goal for this dare is to have sound! We’ve never had sound in our games before. Mostly because a lot of us play games with the sound off, so we sorta forget about it. This dare will be the change, we are going to figure out sound gosh darn-it!

Good luck everyone! We are excited to play all the amazing games everyone develops!

Posted by
Saturday, August 23rd, 2014 9:07 am

After some brainstorming last night, the team got some sleep and we are ready to rock the day. We even have our first screen shot!

Screen Shot 2014-08-23 at 9.04.57 AM

Back again, this time for Jam

Posted by
Wednesday, August 20th, 2014 11:56 am

I got a small team together and we are ready to JAM! The plan is to make a puzzle game of some sort.


  • Impact HTML5 engine
  • Pixelmator
  • Emacs (with vim keybindings)
  • Github
  • Rockstar Cupcakes!


Monster Cupcakes

I have a game!

Posted by
Sunday, December 16th, 2012 3:20 am

You know what I have? A fucking working game!

It’s unbelievable, but it’s also 2:30am and I’m  very tired.

Tomorrow is fleshing out the level and balancing! Woot!


Screen 1 Screen 2 Screen 3

Update 1

Posted by
Saturday, December 15th, 2012 11:38 am


First real screen shot. I have nodes displayed and the player can move between them by clicking.

Kind of running into questions on how to procede and how the game actually plays. I think you will be raising an army or something.



It’s almost here!

Posted by
Friday, December 14th, 2012 10:24 am

All of my team members have dropped out, so I’m switching back to the Compo.

To help me learn lua and Löve2D, I wrote another template for Zwoptex that exports animation sheets.

The last one I wrote was just sprite sheets without animation. That one allowed you to draw as many sprites from the sheet as you want. This one is a animation sheet. So you tell it which frames belong to which animation, and it can play them. But it only plays a single animation at a time.

I use lua’s require to load the exported animation sheet. I believe that lua caches that value, so if you create a bunch of animations from the same export it will only load it once. If that’s the case then I shouldn’t need a new method that takes an existing sheet. I should probably run some tests, but I doubt I’ll have enough animations in the game to worry about it.

I might not have any animations in the game. It feels wrong to type that, but considering my limited art supply, it’s probably better to not focus on animations. It’s a nice touch, not a critical feature.

Zwoptex and Löve2D

Posted by
Wednesday, December 12th, 2012 10:13 pm

I created a Zwoptex template that lets you export spritesheets into a format you can use with Löve2D.

You can find it here.

Include the spriteSheet library:
SpriteSheet = require('SpriteSheet')

then load any sheets created in Zwoptex using the template with:

sheet = SpriteSheet:new('sprites')

Draw takes the name of a sprite (defined in Zwoptex) and the same parameters as love.graphics.draw
sheet:draw(name, x, y, r, sx, sy, ox, oy, kx, ky )

Manual method
You can ignore the helper object and just load the spritesheet manually

You just load the spritesheet with

local spriteSheet = require('sheet')

and then draw with

love.graphics.drawq( spriteSheet.image, spriteSheet.frames.green_ball.quad, 100, 300 )

I’m probably going to try my first metatable stuff and create a spritesheet object that makes it easer to draw the sprites.

Going in!

Posted by
Tuesday, December 11th, 2012 10:03 am

Am I crazy? You better believe it!

Why am I crazy? Because I like to lose.

This year I’m planing on using Lua and Löve. I just started learning Lua last week and I’ve never used Löve before. This should be interesting!

I’m trying to gather a team. None of my possible teammates have used Lua before, and I might be the only one with game development experience. So it should be a good time!

This is my 3rd Ludum Dare and I’m a professional JavaScript developer. Thankfully Lua is a prototype language like JavaScript so I think I’ll be ok.


Good news, Dan Tripp is joining my team! Still waiting on one other team member and possibly an artist.

Postmortem MiniLD #31

Posted by
Tuesday, January 24th, 2012 5:56 am

Over all, the development of this game went a lot quicker than my December entry. I had a partner and we knew pretty early on that we wanted a game that used the uncanny valley and time to create fear. Our design called for the people on each floor to slowly turn into … something else, while a darkness creeped around you, even starting to turn the player. A puzzle game with a time limit.


We used ImpactJS, JavaScript, Canvas, HTML5 to develop this game. I used it in December and really like the engine. It takes care of the details involved in a game engine while still giving me the source and power to bend it to my will. We ended up not changing anything with the engine it’s self and just focused on creating entities.


What went right:

The entity system worked really well with my partner. We split up the entities we thought we needed and we each developed them independently in our own little test level.

ImpactJS has a great level editor that let us quickly build some prototype levels. We realized that we wouldn’t have time to create the changing co-workers or even the dark cloud taking over the tower. We reduced the game to just a puzzle platformer.


What went wrong:

I over abstracted and complicated the puzzle logic. During the planning stage the idea was to create an itemGoal entity that could be configured to activate when the player has specific items in the inventory. It could block the player’s way or even give the player new inventory items. Sounds simple enough. But then we needed an entity that allows the player to only move though it in one direction (so you can jump up though an object and stand on the top.) So we made the itemGoal inherit from the oneWay entity so it could use that behaviour. But as we developed the actual level, setting up the configuration for each itemGoal was troublesome. Items started to become inconsistent, like filing cabinets that you can stand on in one level but not in the next level.

It would have been better to create specific entities for each item instead of a generic itemGoal. We ended up needing to do this anyway for some items like the door, grate, and fire. I’m sure there is some logic that could be in a base like checking the player’s inventory, but all that configuration only got in the way.



I think the game turned out pretty well. It’s better than my December entry and the programming only took about 12 hours. Creating the levels took another 12 hours but that includes creating the art. I think the game has promise so I’m going to refactor it and continue development.

Going Strong

Posted by
Saturday, January 21st, 2012 4:35 pm

My partner and I are only about 6:30 hours into the mini dare and we have quite a bit done.

We have a player entity that is controlled by the arrow keys.
Two passive mobs, a pacer that walks between two defined points and a follower that will follow the player if he gets close.
An item-goal (for lack of a better term) that is the core of the puzzle mode. It can block your path until you have specific items and it can give you items. It can activate on collision or on action button.
A one way block that only lets the player move though in one direction.

The next step is building some levels and maybe making some graphics. If we get time we might even make is scary 😛


Post Mortem

Posted by
Monday, December 19th, 2011 6:27 am

Overall I’m very happy with my game. Not because it’s the best game ever, but because I finished it and it’s playable. I even managed to cram in a bonus if you keep playing.



My original idea was a sort of rouge like where you moved between connected battle areas trying to kill everyone in the world. I was going to have rooms connected with single directional paths so I could add some puzzle element. The world would have had a set number of bad guys in the world + a set number of allies.

When you leveled, one of your allies would turn against you (you are trying to destroy the world so you can be alone.) and you would have a 1-on-1 fight with them. If you won, you got their power.


I spent a few hours on the game design. Then almost 7 hours trying to make the game over world in pure html/css/javascript. Unfortunatlly I kept running into issues and I didn’t have anything to show for it!

So 3pm Saturday I took my girl friend to work and sat in Starbucks (where she works) until 11:30pm working on the game. I decided to throw out the over view stuff and switch to ImpactJS for my game engine. I made a ToDo list that just focuced on making an old school RPG battle screen with the player on the left and the bad guys on the right.



The menu was hard coded, no matter what you picked, the player would attack. The bad guys could not attack you back. And the selector icon would jump around the screen. But it looked like a game.

My next focus was on letting the bad guys attack back and trying to make the menu system pull from a move list. The idea was that as you played new special abilities would be unlocked. With the global move list, the bad guys now could attack back. I gave everyone a strength property that is random and renamed attack to “Punch”. Now there was some variety between game plays.


You would die, a lot. But I always intended for you to have help from allies (that you would later kill.) I came to a turning point in the game design. I didn’t have enough time to create the over world (because I had to throw the old one out.) or add allies.

I let my girlfrind play test it and asked her which way I should go. She voted for allies, the game was just too hard without them.



I added text to show health, and removed the still non-working inventory option. I added two special moves, a kick that was just a plus to punch, and a round house kick that was an instant kill. I added in special points so you could go a kick 3 times, or one round house kick each game.

I had to redesign the main game loop so all allies would attack, then all bad guys. I also made it so bad guys will always attack allies before they attack you. Since my first ally is ice man, I added the Ice Beam special attack. Ice man always uses the Ice beam, bad guys still always punch.



I added winning and loosing screens and improved the background image. I ended up with 5 different backgrounds. Three of the stone dungions that are just colored differently, an ice room and a fire room.

The game was basically working. Everyone could attack and die. The player could win and loose. And randomly the game would lock up and throw a bunch of errors and crash.

I was quickly running out of time. So I decided to ignore the bug because it didn’t happen very often, and improve the bad guys. The new images where made and my cat was turned into a cat/xmas tree because, uh … because I said so, that’s why. (and cats are freakin hard!) With some play testing I reduced the number of allies down to one at a time (picked randomly) and changed the number of bad guys to be random between 2 and 4.

I made a quick title screen and threw up some story text. And the game was done!


Almost. I had two hours left. So I dove into the code to find that pesky crashing bug. When the bad guys had finished their turn, if there was only a single bad guy left on the screen, he could take a second turn without checking if the person he was attacking was still alive. If he attacked someone that was killed, the game would crash. Bug fixed.

I made last minute balance changes, and added in a played counter. I still had the Ice Blast and Fire Blast attacks in the game, but no way for the user to every get them. So I descided to use the play counter. If you play enough games, the powers will unlock and you will get more than one ally at once.

It’s been a long 48hrs. I’m glad it’s over, but I had a blast doing it. I’m hoping for some good feedback, if people generally like it, I might go back and try to add some of the dropped features after the judging.

Thanks for reading!


Posted by
Sunday, December 18th, 2011 6:15 pm

Whoohoo! After some play testing and adding a few bonuses I’m done and the game is posted.

It kind of looks like a real game. I’m proud of that. I did do stuff I would never normally do when programming, but finishing is more important than pretty code.

If people leave me some good feedback I might continue working on the game outside of the competition. But for now, I drink!

Running out of time, need to finish up.

Posted by
Sunday, December 18th, 2011 2:34 pm

It basically works. It’s missing so much from my original idea, but that’s the way it is. With so little time left I’ve desided to finish up what I have and make sure I can package and host it.

Once it’s hosted, then I can try and fix the bug that makes the game crash randomly. 😛

Turning in for the night.

Posted by
Sunday, December 18th, 2011 2:47 am

It’s almost 5 am. I need some sleep. I’m working on getting the allies working since the game is next to impossible if you go alone. 😛

The cool part is that you can fight with Punches or Special attacks (that use Special points) and the bad guys can fight back.

You can now win!

Posted by
Saturday, December 17th, 2011 8:37 pm

The player can now attack the bad guys and win! Woohoo!

The bad guys can attack back, they just don’t do any damage and the player can’t die right now.

I need to show the losing screen when the player dies (and let the bad guys attack!) and create nested menus so the player has more options than just attack.

I was thinking of showing health bars, but I don’t think I have time for that right now. some health text is probably all I need. If there are any healing spells, I’ll need to allow the user to pick which ally to use it on. Right now you can only pick bad guys. That reminds me, I need to add allys into the game.

[cache: storing page]