Ludum Dare 30 — August 22nd-25th, 2014 — Theme: Connected Worlds

[ Real World Gatherings | Ludum Deals | Warmup Weekend (Games) | MiniLD #53 | Wallpaper (1) (2) (3) | Mailing List ]

Back to Browse Entries

Rest In Peace

by kenrickrilee - 48 Hour Compo Entry


In this game, you hop between alternate dimensions to kill bandits. The ghosts of the dead haunt one dimension and the dead come back to life in the other!

Gameplay gif!

You can check out my devlog either on or

Here's the codes on github:

// Dev notes:

I built the game from scratch in Javascript. As an experiment, I wanted to organize my code without using much OOP. The state of the game (player, bandits, ghosts, etc) are simply stored in arrays of JS objects (basically JSON). Then, different functions (like thinkPlayer or renderPlayer) take those objects and manipulate them. It lead to some awkwardness-- i.e. I pass the player object to nearly every function-- but worked well enough for the jam. I don't see this method as being useful for any larger projects, but it definitely works for something this simple.

I spent a lot of time on the art. The background is procedurally drawn by randomly peppering a pixellated gradient with squares of dark and light. The lighting in the dark dimension is drawn by painting a flickering semi-transparent radial gradient on top of each light source (the player's torch and burning bodies). It's amazing how much something like adding a flicker to the lighting can improve the atmosphere.

The AI of the robbers is pretty simple. Luckily, you don't notice because you're constantly switching between dimensions :). Each robber is essentially a finite state machine: run to a random location -> aim in the direction of the player -> wait for player to enter your sights -> shoot or return to randomly running around.

The audio is done with as3sfxr ( and SunVox ( I'm especially happy with the fire crackling which is just a noise-generator and a distortion-filter in SunVox. Unfortunately, I didn't have time to make any music for the game (and I spent an hour in Audacity trying to get rid of the clicking in my loops :P).

The flipping dimensions mechanic gets pretty involved. Once multiple bandits start spawning at a time (and the bodies of the dead start piling up), you have to use each dimension as a way to escape the dangers of the other.

Downloads and Links




PapaCheech says ...
Aug 25, 2014 @ 1:52am

really good concept, and good execution too. Great art, all around good job!

kenrickrilee says ...
Aug 25, 2014 @ 2:01am

Thanks PapaCheech! :) I'm loving your entry (Flicker) too :o it's gorgeous.

NnelGdaBandit says ...
Aug 25, 2014 @ 3:10am

Good concept! Burn the bodies!!!

MJamesShort says ...
Aug 25, 2014 @ 3:11am

Really cool idea and execution. I would recommend doing something to keep focus on the game though. Moving around kept scrolling my browser in Chrome (MAC)

Aug 25, 2014 @ 3:11am

Space is terrible for shooting - page kept scrolling down

Graphics are wicked

Elforama says ...
Aug 25, 2014 @ 3:12am

Awesome idea, great graphics, and well executed. I had fun.

rynti says ...
Aug 25, 2014 @ 3:13am

Really enjoyed playing your entry! However, whenever I press [down] or [space] the page scrolled down - had to make the div smaller to get rid of that :D

SnapDragon says ...
Aug 25, 2014 @ 3:13am

Good game. The thing I don't like about the game is the screen should be in the center of the website, otherwise change the shooting button because when I press Space the
scroll bar scrolls down and I can't see.

BloodJohn says ...
Aug 25, 2014 @ 3:17am

Interesting. Good graphics and sound.

I've some problem with scroll in Chrome. Can't play comfortly :(

Miziziziz says ...
Aug 25, 2014 @ 3:18am

The art is really nice, and the concept is cool. My only complaint is that when the game is playing, my arrow keys and space bar still affect my browser, so it keeps scrolling down while I play. This kinda made the game unplayable for me :/, since the game is at the top of the screen. let me know if you fix this, cause I'd love to play it more.

kenrickrilee says ...
Aug 25, 2014 @ 3:45am

Thanks for the feedback! I accidentally added an <img> tag that was causing scrolling to happen. Should be fixed now.

Tanner says ...
Aug 25, 2014 @ 5:26am

Nice graphics. Good gameplay.

DaanVanYperen says ...
Aug 25, 2014 @ 9:29am

Scrolling is indeed fixed! Nice little game.

hazzahazzam says ...
Aug 25, 2014 @ 10:01am

Good game considering it was done in HTML5.

Larzan says ...
Aug 25, 2014 @ 11:04am

Love the theme implementation, nice gfx, good game mechanics, fun to play, well done indeed!

Aug 25, 2014 @ 11:28am

Neat little game. Could use a soundtrack and a little more variety gameplay-wise, but other than that it's pretty cool. And those robbers are cute. I don't really want to kill them. :>

Posva says ...
Aug 25, 2014 @ 11:46am

really nice concept, mechanics feels harsh at the beginning but the pixel art is really awesome :)

Robber says ...
Aug 26, 2014 @ 4:07am

first i tried to burn the ghost then i got it..very cool minigame

jgthespy says ...
Aug 26, 2014 @ 7:10am

First I tried to light ghosts on fire. That didn't work. Then I started lighting corpses on fire. I really enjoyed that.

Pavel says ...
Aug 26, 2014 @ 9:26am

Cool and funny to play. Good job.

EnigmAraigne says ...
Aug 26, 2014 @ 11:20am

Nice! Good Idea, really enjoyable. Had some good time with this game.

BadgerPriest says ...
Aug 26, 2014 @ 6:03pm

Ooh, very good implementation of a multiple-dimensions mechanic. Gameplay is just the right amount of challenging.

INC$D021 says ...
Aug 26, 2014 @ 7:54pm

All around good job! Like the graphics :)

jimmypaulin says ...
Aug 26, 2014 @ 8:03pm

Really enjoyed this, love the dimension switching, really nicely implemented and a satisfying mechanic. The artwork was very good, great colours and clear sprites and effects. Great game!

korigame says ...
Aug 27, 2014 @ 2:15am

Good and simple! I love the sprites, and the shot being a line rather than a bullet is really nice. Well done :D

pythong says ...
Aug 27, 2014 @ 4:44pm

ew. I don't like burning bodies :D couldn't you have used zombies or so? :D

psychomonster says ...
Aug 27, 2014 @ 7:29pm

nice. I love lasers :D

43iscoding says ...
Aug 28, 2014 @ 2:18pm

Very interesting game! Lovely graphics!

Jezzamon says ...
Aug 29, 2014 @ 1:15pm

Interesting how you can avoid the dangers of one place by escaping to the other.

Poor thieves though... having their bodies being burnt.

egor-idiot says ...
Aug 29, 2014 @ 3:48pm

Greate! I liked idea and art. Nice little thing.

dickpoelen says ...
Aug 31, 2014 @ 9:25am

Those ghosts are hard to dodge! Cool game :)

markusfisch says ...
Aug 31, 2014 @ 4:39pm

That's a lot of fun actually! I really like the cute graphics and especially that seamless start. And the pistol sound, of course! Great game!

ChuiGum says ...
Sep 8, 2014 @ 2:39am

Great innovation, nice graphics. Good job!

Sestren says ...
Sep 8, 2014 @ 11:31am

Awesome game! Once I realized burning the ghosts was not the same as burning the bodies, the game became a lot of fun.

sP0CkEr2 says ...
Sep 9, 2014 @ 4:19am

Really cool game. Adding to my play list.

mcapraro says ...
Sep 15, 2014 @ 1:15am

very cute design i love the little ghosts and cowboy!

You must sign in to comment.

IMPORTANT NOTE: If you want to place in the final results, you NEED votes. The easiest way to get votes is by rating other games. Judging lasts for 3 weeks following the end of Ludum Dare. For best effect, rate 20 games as soon as possible. Rating more games is encouraged.


TEAMS: Teams entering the Jam should pick a single representative to submit your game, or create a team specific account you can share. We currently do not support Team Voting, but sharing an account and together playing and rating games is acceptable.

NOT LOGGED IN?: If you get a message about not being logged in, even though you are, it’s because your web browser cached the non-logged in page. You can fix this by either refreshing your cache or clearing your cache. CTRL+F5 in many browsers. Chrome is a bit more work. Press F12 to enable Developer Mode, then you can right click on the refresh button and select “Empty Cache and Hard Reload”. This option is unavailable if you are not in Developer Mode.

PORTS: Ports to other platforms can be done after the deadline. That said, the sooner you finish your port, the sooner people can play your game, improving your chances of placing in the final results. For best results, provide a Web version of your game, or a Windows version with no dependencies. Also be sure to rate about 20 games to improve your visibility.

MY GAME DOESN’T SHOW UP: If you can’t find your game, it’s usually because the URL to your downloads are missing ‘http://‘. Fix your URLs ( and you will show up.

MY GAME CRASHES, IS UNBEATABLE, OR I MADE A TYPO: We allow you to fix crash or win condition bugs after the deadline (in a sense, like “porting” to support more players). We also allow “typo” bugs. I.e. A true that should have been a false, a word that should have been a different word, very tiny changes that you would have caught if you had more sleep. We leave this open to interpretation, but generally speaking your game should be identical to the game you submitted. No new features, just things you messed up last minute. Typos.

[cache: storing page]