Ludum Dare 31 — December 5th-8th, 2014 — Theme: Entire Game on One Screen

Back to Browse Entries

Malware Mania

by YourLocalFaxMachine - Compo Entry

Quick! You're computer is being attacked by an evil snowman virus! Catch them on the beat as they get to your Virus Catcher 9001 or watch as your computer withers away.


Simply run the appropriate run file to start the game, I didn't want to fiddle with executables.

[[ I've added a download to the Mac package, if anyone would like to test it that'd be great! ]]


Malware Mania is a simple rhythm game where you defend against attacking snowman viruses. Each wave is mapped to a song, and there are five waves total. Each wave gets increasingly harder and increasingly faster, so be prepared!

This game can be pretty challenging for anyone not very well versed in rhythm games, and the timing for hitting notes isn't entirely perfect, but every level is entirely possible to beat with a little bit of practice.

Controls are as follows:

2, 3, W, E - Rotate your Virus Catcher 9001. 2 faces top left, 3 faces top right, W faces bottom left, and E faces bottom right.

R - Reset the song or the game. Pressing R while playing a song restarts the song, and pressing R while in the "Next wave in" menu restarts to Wave 1. A restart wipes your score, multiplier, and notes hit.

S - Skip the current song. If skip is used on the final wave, it loops back to the beginning. Skip also resets your stats.

There are a few bugs with wave progression, the most prominent of which is that when you fail a wave you will be pushed up the final wave and occasionally the reset will leave you there on the first press rather than restarting the game. It's not game breaking so I haven't bothered to figure out why it happens, just know that it does.

Java also seems to be giving errors about locating the natives, looking for a completely wrong file. On the Windows and Linux machines this has been tested on the bug doesn't crash the game, but it does on the Mac machine. I'm fairly certain it's either a problem with the run files or Java path not functioning how I thought it should, but that doesn't mean I know how to fix it. If anyone finds a solution please tell me so I can update all of the download files, as until it is fixed I won't be adding the Mac download here.

The Source zip contains all of the native files for all supported operating systems as well as jar files for Artifakt and Score, the two libraries the Curl jar file uses internally, both of which I've previously linked to sources for on GitHub.

Use the Source files if you'd like to help test other operating systems for me, as I only have access to a Windows machine set up and there are still those native file bugs that're popping up.

Downloads and Links




joppiesaus says ...
Dec 8, 2014 @ 9:48am

Nice entry. I love the music. I didn't really find it fun, because it is too hard for me. It fits the theme really well thought.

Dec 8, 2014 @ 8:36pm

Thanks ^.^ Yeah I didn't really make it the easiest, but I found it entertaining.

TMKCodes says ...
Dec 10, 2014 @ 4:18pm

I was not able to run the game in latest Arch Linux. Here is the following error.

tmkcodes at mussukka in ~/LD31Games/Malware Mania ○ sh
Catched FileNotFoundException: /home/tmkcodes/LD31Games/Malware Mania/Curl-natives-linux-amd64.jar (No such file or directory), while TempJarCache.bootstrapNativeLib() of jar:file:/home/tmkcodes/LD31Games/Malware%2520Mania/Curl-natives-linux-amd64.jar!/ (file:/home/tmkcodes/LD31Games/Malware%20Mania/ + Curl-natives-linux-amd64.jar)
Catched IOException: TempJarCache: addNativeLibs: jar:file:/home/tmkcodes/LD31Games/Malware%2520Mania/Curl-natives-linux-amd64.jar!/, previous load attempt failed, while addNativeJarLibsImpl(classFromJavaJar class jogamp.openal.ALDynamicLibraryBundleInfo, classJarURI jar:file:/home/tmkcodes/LD31Games/Malware%20Mania/Curl.jar!/jogamp/openal/ALDynamicLibraryBundleInfo.class, nativeJarBaseName Curl): Curl-natives-linux-amd64.jar + file:/home/tmkcodes/LD31Games/Malware%20Mania/ -> jar:file:/home/tmkcodes/LD31Games/Malware%2520Mania/Curl-natives-linux-amd64.jar!/
Exception in thread "ArtiApp" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
at java.lang.ClassLoader.loadLibrary(
at java.lang.Runtime.loadLibrary0(
at java.lang.System.loadLibrary(
at org.lwjgl.Sys$
at Method)
at org.lwjgl.Sys.doLoadLibrary(
at org.lwjgl.Sys.loadLibrary(
at org.lwjgl.Sys.<clinit>(
at org.lwjgl.opengl.Display.<clinit>(
at com.foreveruntitled.artifakt.ArtiDisplay.create(
AL lib: (EE) alc_cleanup: 1 device not closed

Dec 11, 2014 @ 2:36am

I actually get the same errors on my Windows machine and my friends Arch Linux machine, but both of them run... I've had no luck in figuring out what's causing it or how to fix it, but it looks like Java's library search isn't working how I think it is.

Strandypants says ...
Dec 13, 2014 @ 11:35am

Nice concept, but so freaking hard:P! Those keys you've mapped for controlling the beast is just a bit to strange for my WASD fingers. Nice entry though:D

JangoBrick says ...
Dec 13, 2014 @ 11:55am

I like the game, the music is great! Was really hard, but that won't influence my voting - I know how hard balancing is.
Fun little game.
You even made the desktop icons yourself, didn't you? Nice!

Dec 13, 2014 @ 5:41pm

Made the music super quick and did all of the icons, yes ^_^ Thanks! I know the game is kinda (very) hard, that's just me being a super rhythm gamer wanting things to be fun and forgetting no everyone is addicted to those kinds of games :p

EthanWebster says ...
Dec 13, 2014 @ 9:39pm

Fits the theme well, has a good concept. Great potential, well done.

danidre14 says ...
Dec 13, 2014 @ 9:53pm

Ha, I like this game alot! Good job making it! Thank you too!

Ace says ...
Dec 13, 2014 @ 9:53pm

You seem to have packed in OS X natives into the Linux version by mistake. 'natives/lwjgl/' only contains a macosx folder.

Sharky says ...
Dec 14, 2014 @ 12:47am

doesn't load :(

Dec 14, 2014 @ 1:03am

I'll look into repacking the linux file, then, sorry about that!

Louisload says ...
Dec 14, 2014 @ 5:18pm

very fun game! i liked it very much, and i thought the music very awesome and really engaging.
i found the controls a bit tricky, for not being the standard

Dec 14, 2014 @ 6:26pm

Yeah, I was going to add an option to change the controls but I got very lazy at the end and didn't do it, I was having more problems tweaking the language to work right so I figured an options menu was just not important. You can change the keys if you want, the scripts aren't compiled so the source is completely open and compiles when the game is run :)

rd127p77 says ...
Dec 15, 2014 @ 8:35pm

Wow, love the difficulty of the game, also the graphics are great, Great Job!

Dec 15, 2014 @ 8:48pm

Thanks ^_^

FlipskiZ says ...
Dec 22, 2014 @ 12:01pm

The game was pretty nice, a bit too challenging at the beginning maybe, and the controls were in a bit of an awkward place for me. Otherwise I liked the idea and the game. The songs are also pretty good. Well done!

Vaclav says ...
Dec 24, 2014 @ 9:32pm

Catched FileNotFoundException: C:\Users\Lilian\Downloads\Malware Mania - Windows
\Curl-natives-windows-i586.jar (A rendszer nem találja a megadott fájlt), while
TempJarCache.bootstrapNativeLib() of jar:file:/C:/Users/Lilian/Downloads/Malware
%2520Mania%2520-%2520Windows/Curl-natives-windows-i586.jar!/ (file:/C:/Users/Lil
ian/Downloads/Malware%20Mania%20-%20Windows/ + Curl-natives-windows-i586.jar)
Catched IOException: TempJarCache: addNativeLibs: jar:file:/C:/Users/Lilian/Down
loads/Malware%2520Mania%2520-%2520Windows/Curl-natives-windows-i586.jar!/, previ
ous load attempt failed, while addNativeJarLibsImpl(classFromJavaJar class jogam
p.openal.ALDynamicLibraryBundleInfo, classJarURI jar:file:/C:/Users/Lilian/Downl
eInfo.class, nativeJarBaseName Curl): Curl-natives-windows-i586.jar + file:/C:/U
sers/Lilian/Downloads/Malware%20Mania%20-%20Windows/ -> jar:file:/C:/Users/Lilia
No SpriteBatch shader supported by your graphics card!
com.foreveruntitled.artifakt.ArtifaktException: No supported version!
at com.foreveruntitled.artifakt.util.ShaderVersionHandle.getMaxSupported
at com.foreveruntitled.artifakt.graphics2d.SpriteBatch.createShader(Spri
at com.foreveruntitled.artifakt.graphics2d.SpriteBatch.<init>(SpriteBatc
at Source)
A folytatáshoz nyomjon meg egy billentyűt . . .

Poupi says ...
Dec 26, 2014 @ 2:07am

Good Job! ;)

Dec 27, 2014 @ 6:08pm

Vaclav, that means your graphics drivers don't support a version of OpenGL that my library is asking for

You must sign in to comment.

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. Alternatively, if you just posted it, wait a minute. The cache may not have refreshed yet.

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]