Ludum Dare 32 — April 17th-20th, 2015 — Theme: An Unconventional Weapon

chromenopePSA: As of Chrome 42 (Released April 14th), NPAPI plugins are disabled by default! That means Unity Player, Java, and Silverlight games will not work in the Chrome browser! That said, Flash in the Chrome browser continues to work fine (PPAPI).

To Developers: Consider using HTML5 and WebGL instead. Having troubles with the export? Don’t worry. See Ports below.

To Players: A workaround is to enable NPAPI plugins in your Chrome settings. Click or Copy+Paste this URL in to a tab:

chrome://flags/#enable-npapi

As of September 2015 however, this option will no longer be available.

Other browsers (Firefox, Internet Explorer, Safari) and Flash are unaffected, but FWIW there is no Unity Player or Silverlight for Linux.X

Back to Browse Entries

Slug Fest

by jmborden - Jam Entry

Controls
--------
Movement: WASD or Arrow Keys
(Unlimited) Salt: HOLD space key

Game Play
----------
Salt the slugs before they eat your shrooms! Move on your farm using arrow keys or WASD. Use your salt shaker (Hold Space Key) to salt the slugs. The slugs can only tolerate so much salt before they disappear. Slay all of the slugs to win the game!

You will need a WebGL-enabled browser to play this. If you don't get a "yay" from http://doesmybrowsersupportwebgl.com/
you won't be able to play it.

Development
------------
Taking up the keynote speaker's challenge, I programmed this in Clojurescript and WebGL using the Three.js library. Though moderately proficient in Clojurescript, I've never made a game in it. I've only been learning WebGL for a few weeks through tutorials and this is my first WebGL creation.

Considering I was tackling a new beast, I chose to draw upon my experience with 2D Canvas game making so I created a 2D game. I was trying for a Compo entry, but I'll be damned if I wasn't going to have something to show for LD#32 so it's a Jam entry. This wasn't truly a game until 20 mins before the Jam ended!

I also made more complex graphics this time, including some basic animations. All assets are my own.

I had a huge blast, but I am glad it is over with something to show! This really pushed my knowledge of web technologies. I actually learned some new things about Clojurescript, WebGL and animation production along the way.

Tools & Libraries
---------------
Emacs, Gimp
Clojurescript, Three.js

About Me
---------
Twitter: @JamesMBorden

Downloads and Links


Ratings

Coolness100%
#556Theme(Jam)3.30
#590Humor(Jam)2.69
#922Graphics(Jam)2.16
#969Innovation(Jam)2.15
#977Mood(Jam)2.12
#1033Fun(Jam)2.05
#1065Overall(Jam)2.25

Comments

DaGamesta says ...
Apr 21, 2015 @ 3:01am

You weren't the only one to think about pouring salt on slugs indeed, lol. Good job making this game in something new right from the get go, it's truly difficult following a challenge like that in a Ludum Dare.

Mateus Culpo says ...
Apr 21, 2015 @ 3:09am

Nice

cdgugler says ...
Apr 21, 2015 @ 3:35am

Perfect difficulty level. Just hard enough to frustrate me into playing until I won. I've been wanting to learn clojurescript for awhile, glad to see it being used in the jam.

goadrich says ...
Apr 21, 2015 @ 4:56am

Glad you stretched your skills! Nice slug AI, simple and effective. I found the game very difficult to get to all the slugs, I think I managed about one before it ended each time. I also found that I was able to rotate the screen with a mouse drag.

micahcowan says ...
Apr 21, 2015 @ 5:12am

Functional programming for the win!

jmborden says ...
Apr 21, 2015 @ 6:54am

@goadrich That's a hidden feature I left in because hey why not? You can also zoom in and out with the mouse wheel. BTW, It took my non-gamer wife about 10 tries before she mastered it =).

@micahcowan It is a sea of imperative OO code with a few islands of pure functions (paraphrasing Erik Meijer). It was a lot easier to manage my objects in Clojurescript than in pure Javascript. It is also easier to read and only about 800 lines of Clojurescript compared to my much simpler previous game at about 1100 lines of Javascript.

micahcowan says ...
Apr 21, 2015 @ 4:54pm

@jmborden yeah, as you can see I didn't go for an FPL. Might next time. I'm a little concerned about efficiency because most of the current offerings seem to sacrifice it in order to preserve immutability (where applicable).

But immutability would've saved me valuable debugging time with my first Ludum Dare (#30). I managed to avoid problems this time around, but I'd enjoy playing around with Elm or PureScript, or possibly ClojureScript, see where I get. I like ClojureScript because it's closer to the actual language I'll get errors in ;) ...but Elm and PureScript let me have ADTs and strict typing, which can help avoid certain kinds of mistakes. I'll have to play with them all.

micahcowan says ...
Apr 21, 2015 @ 5:18pm

Oh yeah, of course, the reason I didn't have problems this time around is probably that I made one of my key object types (points/vectors) immutable at instantiation, heh. :D ...knew I'd probably get into trouble otherwise. #LessonLearned

Cheshyr says ...
Apr 22, 2015 @ 12:16am

Interesting idea. Pretty difficult game. Nice work!

richiebranson says ...
Apr 22, 2015 @ 1:00am

Not as easy as I thought it would be, lol. Took a few tries 'till I came up with a strategy, lol.

ldds says ...
Apr 22, 2015 @ 1:04am

I loved how you really respected the idea behind the jam: unconventional weapon.

I wish the game was longer though

jmborden says ...
Apr 22, 2015 @ 1:14am

@Idds I wish it was longer too. I'm just glad I had an actual game.. I almost didn't!

m3_on says ...
Apr 22, 2015 @ 1:19am

Nice concept and execution. Gameplay wise I feel it would have been nice to lock the direction the farmer was facing when the user is salting. That way you can hold down the space bar and chase a slug without having the salt flip from one side to the other, but if you wanted to quickly turn around to salt a slug that's behind you, just let go of the space bar, turn around, and then salt away.

Smirnov48 says ...
Apr 22, 2015 @ 1:32am

Nice and difficult game.

MGhareeb32 says ...
Apr 22, 2015 @ 1:32am

Simple mechanics and hilarious concept!
Couldn't pass the first level though :D

Apr 22, 2015 @ 1:34am

It's fairly basic to be honest. Though I did go in without reading the description and in my efforts to figure out the controls I found that you can rotate/move the flat plane by clicking and dragging the mouse haha. Not sure if that's the hidden feature you were mentioning before or just something you forgot to remove.

It's a tough little game at first. After a while I got the hang of it but there was one aspect that bothered me a bit. When you switch sides (ex: moving from right to left), the salt pourer's hitbox is also altered. This really threw me off to be honest and I wasn't a fan of it because it made it harder to determine the spot where you'd be able to hit the slugs.

I understand you were working in somewhat unfamiliar territory tool-wise, so I can understand the simplicity.

The game is fairly compact, but I like that you didn't resort to having endless waves of enemies or anything like that to extend the gameplay further. So in a way, even though it's short, I think that length matches the content you have and feels like a good move. It never felt tedious to me, by the time grew tired of playing it I had won already.

There's a lot of additional work that could be done art/animation wise to improve though of course. Movement animations for the character/slugs. Different animations for the mushroom/slugs being destroyed rather than just fading out.

I also wish there were some sounds to go along with it all... feels sort of empty without any. Some general garden ambiance, non-intrusive sounds for the salt pourer, mushrooms being damaged, and slug deaths.

http://www.freesound.org/ is a good resource.

syawqy says ...
Apr 22, 2015 @ 4:10am

it's hard to kill all the slugs, I keep losing with only 1 slugs left

jmborden says ...
Apr 22, 2015 @ 4:48am

@CriticalMammal Thanks for taking time to leave so much feedback.. it is appreciated. Adding audio to my games is on the list. I have a technical problem with this that I need to figure out a way to have browsers properly cache sound files. I know it can be done, just haven't figured it out yet.

Mekuri says ...
Apr 22, 2015 @ 9:00am

I like the idea of this game - Salting snails- Seems original.
I like the fact that you made the effort to finish it as a jam, rather than giving up on the compo.
The objectives of the game are pretty straight forward, and I managed to beat it after 15-20 tries.

The graphics were nice, good job on making the sprites yourself.
The slugs sometimes became invisible, making me think I killed them- Maybe because they were behind some hitbox or something?

All in all a simple game, that could benefit from some sound and some polish (Most Ludum Dare games can I suppose :) ) - But well done considering you went into unknown territory.

Pixel Heart says ...
Apr 22, 2015 @ 9:46am

Ok. We have the theme winner here!

phi says ...
Apr 22, 2015 @ 6:18pm

Nice little game! You could have expanded more on the features, but since you used a framework which was new to you, this is not bad. I didn't notice any bugs, control glitches or performance issues, so that's great! :)

maunovaha says ...
Apr 23, 2015 @ 5:17pm

hehe. I was really bad in this game. Hence, I didnt understand the idea of turning ground :S but cute little game anyway! :)

greytram says ...
Apr 23, 2015 @ 7:53pm

Very fun idea but you have to be very quick to get all the slugs!

benmcnelly says ...
Apr 24, 2015 @ 1:09am

Fun, and it would have been neat if you used the mouse-click-rotate-plane thing to add another game mechanic, but good job!

Apr 24, 2015 @ 1:58am

The rotating screen thing alone was worth the entry ;D Congrats on submitting it!

2Bit says ...
Apr 24, 2015 @ 2:04am

Cool game.

Apr 25, 2015 @ 6:08pm

Nice interpretation of the unconventional weapon. The sprites were pretty fun too. Gameplay was a bit unclear, there was a lot of z-fighting going on so I couldn't tell if I actually killed a slug, or it was just fading behind another sprite. The 3D camera manipulation was a nice touch; it made feel like, "woah, I am in a GAME inside a Game"

guigrillo13 says ...
Apr 25, 2015 @ 6:13pm

Great game! Had a really great time playing it

PushmePullyu says ...
Apr 25, 2015 @ 7:59pm

Game got me salty for more! (im sorry) :D

jmborden says ...
Apr 25, 2015 @ 8:52pm

@PushmePullyu It needs lots more levels =). I had an idea to make it more of a Puzzle/Action game where you can create salt paths the slugs can't cross, but they dissolve over time. The slugs would be able to create slime paths that you couldn't cross.

Apr 26, 2015 @ 5:02am

Cool that you tried out something new this time! The game didn't have much to it, but it was still pretty cute and provided some challenge. I also liked how you could rotate the camera around despite the game being 2D XD definitely got you some extra points on graphics there.

On a side note, I notice you left a comment on my game saying that it crashed before you were able to play it. Just a reminder that it is against the rules to score unplayable entries. I'm not sure if you left a review or not, but I'll mention it just in case ;)

jmborden says ...
Apr 26, 2015 @ 5:20pm

@superpokeunicorn Umm... thanks for the reminder dude?

6DownStudios says ...
Apr 26, 2015 @ 8:01pm

Nice take on the theme, and good onya for trying a new library for LD, no small feat!

Plustech says ...
Apr 27, 2015 @ 4:08am

You were not the only one with this idea XD. The gnome though, that is new for me and is a great character for the theme.
I wish there was a tutorial screen or something similar, had trouble even though the controls were described on the description. (I know it was my bad, but I dont think Im the only one hoping for a tutorial in game)
Would appreciate more feedback on the actions.
Good job on the compo entry, mad respect.

jmborden says ...
Apr 27, 2015 @ 4:16pm

@Plustech

|I wish there was a tutorial screen or something similar, had trouble even though the controls were described on the description. (I know it was my bad, but I dont think Im the only one hoping for a tutorial in game)

Actually, if you have problem figuring out how to play the game, it's my bad not yours. Games should be something easy to fall into and start playing without reading instruction manuals.

In game tutorials was a lesson I learned this time seeing many other games that had stuff written directly in the beginning of their games.. such a simple idea can dramatically improve playability. The more playable a game is, the more people will play it!

Apr 27, 2015 @ 8:56pm

I think the difficulty's just right for this. First few tries, it's impossible, then it's almost there, then you win!

Bendev says ...
Apr 30, 2015 @ 8:31pm

Great take on the theme.
I also agree that the salt-pourer's hitbox flip should be improved and the difficulty curve is great. Feels good to win.

chabuduo says ...
May 2, 2015 @ 9:35am

Good stuff, surprisingly strategic!
Would be nice to get some feedback when hurting the slugs.

jk5000 says ...
May 4, 2015 @ 6:12pm

Okay and simple idea.

Jasonsumm says ...
May 5, 2015 @ 7:04pm

Nice idea! I really liked it ^_^

madflame991 says ...
May 5, 2015 @ 7:49pm

Whoa, 800 lines of clojure in a single weekend - that's in itself an accomplishment. I have no idea how you best write applications like these in clojure - games tend to have a lot of state in them that changes every frame; as you say, you have a bit of mutability here and there :P

As for the slugs, I had no feelings towards them until I played your game; if they are anything IRL like in your game then I absolutely hate them

jmborden says ...
May 6, 2015 @ 4:50am

@madflame991 As you've seen, Clojure doesn't get rid of mutability. It just makes it very explicit where you are using it. Being a fellow Clojurian, I would love to game jam with you sometime!

PapyPilgrim says ...
May 7, 2015 @ 6:13pm

Good thing the game is very short, I was getting really frustrated and was about to quit when I finally made it. I don't thing I would have played another level.

What make it especially hard/furstrating is the lack of feedback on the damage you deal : there is no way to know if you are properly placed.

jmborden says ...
May 8, 2015 @ 1:07am

@PapyPilgrim Thanks for the feedback. I agree, I should have made some kind of slug reaction to let the user know that the slugs were being salted. Thanks for playing it till the very short end!

23 says ...
May 8, 2015 @ 4:42pm

Interesting! It's pretty short and simple, but the asymmetry of the slugs adds a bit of interest.

I took a look at the code since 800 lines sounded like a lot - looks like you overshot a bit with the WebGL, but if you learned something sounds like a win-win. :D

ThirdMoon says ...
May 9, 2015 @ 11:47pm

Nice game! you could add more feedback!

freeholdgames says ...
May 10, 2015 @ 4:51pm

Great little game, awesome for a first try! Nice job.

wademcgillis says ...
May 10, 2015 @ 6:19pm

i win!

You must sign in to comment.


Mini Submission FAQ

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.

CAN I ENTER BOTH EVENTS?: You should pick 1 event, whichever you think it’ll do better in. If the idea is strong, and everything plays well enough, you can go Compo. If you’re a perfectionist, and would prefer people to play a more polished game, do the Jam. Historically, more games are entered in the Compo, but with more people and more time, Jam games have the potential to be better (that doesn’t mean they are). Many solo participants do enter the Jam.

If you made 2 games, unfortunately, the website doesn’t support multiple submissions per user. To submit your 2nd game, you will have to make a 2nd account. Only do this if you made 2 games. Alternatively, if one game is better than the other, then consider just entering the better game.

CAN I KEEP WORKING UNTIL THE DEADLINE?: Yes! Immediately after the 48 or 72 hours, we do something called Submission Hour. As the name suggests, it’s an extra hour for you to package, upload, and submit your games. If there were catastrophic issues trying submitting your game, or you misunderstood how submissions work, that’s okay. It happens. We’re flexible. If you need advice, check with the folks on IRC. If you need an admin, get in touch.

CAN I KEEP WORKING ON MY GAME?: Oh definitely! You should! But for the sake of judging, keep the Compo or Jam version around. You can include a link to the Post-Compo/Post-Jam version of your game on your games page, but sure your main links are the original version.

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 at least 20 games to improve your visibility (Coolness).

MY GAME CRASHES, IS UNBEATABLE, OR I MADE A TYPO: We allow you to fix crashes, win condition, or tiny bugs after the deadline. In a sense, this is like “porting” to support more players. We leave this open to interpretation, but generally speaking your game should be identical to the game you submitted. No new features, just fixing mistakes you should have caught had you been better rested.

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 (http://mysite.com/mygame.zip) and you will show up. Alternatively, if you just posted it, wait a minute. The cache may not have refreshed yet.

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.


[cache: storing page]