Ludum Dare 35 — April 15th-18th, 2016 — Theme: Shapeshift

Search Keywords: HTC Vive, Oculus, Mac OSX, Linux, Android, Flash, HTML5, Java, Unity

Back to Browse Entries

Sergei's Virus

by avinashd - Jam Entry

Sergei has a virus for you. To avoid being caught by an antivirus, he has a few requests for you. Shapeshift your code from a simple python script to something no antivirus will ever catch! (Between you and me, I think Sergei's trying to get you to write Haskell)

This is the second entry I submitted for this jam. Also check out my first one:

EDIT: Full disclosure, git wiped the sixth task for some reason, and I just noticed. Pushed now, everything seems to work :)

EDIT 2: Added a codepen link that does exactly the same thing, but one that I'm less prone to deleting if my private repo limit fills up ;)

Downloads and Links




RedPanda says ...
Apr 19, 2016 @ 12:23am

"Encrypted with ROT13 technology" "Sergei: nyet, antivirus is flagging your code!"
Humor would be 5/5

Powersource says ...
Apr 19, 2016 @ 1:12am

I remove the print statements (both by erasing and commenting out) and click "Send to botnet" but nothing happens :(

avinashd says ...
Apr 19, 2016 @ 1:15am

Hey Powersource, fixed now. HTTPS issues :/

TheCain says ...
Apr 19, 2016 @ 1:16am

Wow. I'm way too dumb for this.
Cool idea though.

Jadernak says ...
Apr 19, 2016 @ 2:16am

I have to give is another try when my brain functions properly :) Clever idea nevertheless.

torcado says ...
Apr 19, 2016 @ 2:40am

interesting idea! never seen a programming game in a ludum dare

norseware says ...
Apr 19, 2016 @ 4:15am

Interesting! I solved up to 3, and gave up... Nice idea though! The output was funny. Good work! :)

Tater_hater says ...
Apr 19, 2016 @ 4:21am

was it hard debugging a game about debugging?

avinashd says ...
Apr 19, 2016 @ 5:42am

Tater_hater, you have no idea. It's a python script running inside javascript on a webpage loading a fake python module.

If I try this again, it's going to be lua next time :P

w1n5t0n says ...
Apr 19, 2016 @ 5:53am

This is by far the most interesting and different entry that I have seen, and it is probably the most creative entry in the competition.

Ryusui says ...
Apr 19, 2016 @ 9:17am

Phew. I'm pretty decent with Python myself and I had to look up workarounds for some of the puzzles in here. Good times!

nextreality says ...
Apr 20, 2016 @ 6:43am

I liked the concept, simple code based editing, but oddly satisfying, good job!

Apr 20, 2016 @ 6:46am

Original Theme, good design. I had troubles scrolling up and down at the game-screen and web browser, scrolls all together so maybe a fullscreen option could be better, also for more natural gaming. I had fun with it, maybe a non programmer will not understand it xD.

Skruffye says ...
Apr 20, 2016 @ 3:46pm

Fantastic take on the theme. My brain is too asleep to properly solve these puzzles, but the innovation of concept and quality of execution are plain to see.
Good job! :)

mooncalf says ...
Apr 21, 2016 @ 6:10am

A lot about this impressed me, but it wasn't fun for me.

Apr 21, 2016 @ 6:20am

i give... lol
nice concept, though

Dread_Lord369 says ...
Apr 21, 2016 @ 7:56am

Loved it!

Jin47 says ...
Apr 21, 2016 @ 8:17am

Great "game"/programming riddles. Interesting take on the subject. good job.

SeaDads says ...
Apr 21, 2016 @ 8:42am

I love code puzzles, this was really cool! It was too hard for me, but I learned a little python, and had fun :D

Phaix says ...
Apr 21, 2016 @ 9:20am

Funny idea. As Programmer i liked it, so i better not asking the Graphic artist :D

glaze_96 says ...
Apr 21, 2016 @ 9:39am

Gonna get a friend who's a big python fan to play this with! Gonna let you know what we think when we finish it =)

Per says ...
Apr 21, 2016 @ 11:37am

Ha ha, I'm not that good with Python, had to cheat a couple of times :)

Wevel says ...
Apr 21, 2016 @ 11:52am

A very different idea, nice job

LeReveur says ...
Apr 21, 2016 @ 1:23pm

I love the programming challenge concept !
It took me a long time to fulfill all constraints, but I made it to the end (despite I'm a noob in Python), very good entry for me !

GrooveMan says ...
Apr 21, 2016 @ 2:09pm

This is such a cool concept for a game, but it really feels like the kind of game that would benefit from a hint system. I understand enough coding logic and python syntax to get /what/ I should be doing, but not how. =(

Even if the hints were written elsewhere instead of in the game proper (so as not to break narrative), I think that would be an excellent finishing touch.

glaze_96 says ...
Apr 21, 2016 @ 5:34pm

Really great! Even though I couldn't get past task 2 even with google and a programming friend.

ijona says ...
Apr 22, 2016 @ 11:46am

Wow! I'm not a programmer at all, but I managed to solve two puzzles using some Python tutorials. This game was good for my self-esteem and therefore a lot of fun :D

Fabraz says ...
Apr 22, 2016 @ 3:13pm

Talk about a game that isn't for the mass market! :D But that's exactly what LD's are for, cool idea!

Apr 22, 2016 @ 7:20pm

To be honest I'm not really big fan of python but I still liked this game :D

blinry says ...
Apr 22, 2016 @ 10:04pm

Whoa, nice! I really enjoyed the first few levels! A built-in help system or something would have been helpful ;-)

Khaoz_Fang says ...
Apr 23, 2016 @ 3:57pm

Know few about python, but the concept is interesting.

fin_nolimit says ...
Apr 23, 2016 @ 9:59pm

I've never used python before but that was really cool! Excellent work

Apr 24, 2016 @ 8:21am

Great programmer quest about fixing source code. Awesome!

gnerkus says ...
Apr 24, 2016 @ 10:39am

I got as far as task 5 and ran into an input error for task 6. The solution humbled me.

Thank you so much for this.

DeltaNegative says ...
Apr 24, 2016 @ 11:54am

Cool idea, although could be more engaging ;)

hunttis says ...
Apr 24, 2016 @ 1:27pm

Ok, that was fun and funny :D

Novel use of the theme, nice implementation and funny too. Great work!

tmpxyz says ...
Apr 24, 2016 @ 2:46pm

I like this, but from a 'game' perspective, this could only entertain a very small audience.

The solution makes me 'wow'.

But is this going to raise exception? I thought I would have to check the download length.

f(pl+rcv.download_chunk(cn), cn + len(" "), rcv)

Asturk says ...
Apr 24, 2016 @ 5:17pm

Thats a very new different idea and i liked it! Do a game about shaping a python code in order to fix random stuff is really something new here. good job!

MementoGames says ...
Apr 25, 2016 @ 1:06am

Very interesting concept.
Nice take on the theme too.
Nice entry!

avinashd says ...
Apr 25, 2016 @ 4:18am

@tmpxyz: it does, but an exception is thrown when we run out of chunks left to download, at which point we just assume means that the download is over and continue (using the try/except).

A friend came up with that beautiful solution to task 6, so I take no credit for it :P

axoona says ...
Apr 27, 2016 @ 2:28pm

well I've spent an hour on this game and I'm blocked on the third, Sergei says it's not working correctly but it's just impossible to debug without a debugger, my python skills are what they are...
It was fun (I spent an hour on this.. ;) but it's surely not a game for everyone!
anyway I really enjoyed it and it's an innovative approach to the theme

Kerdelos says ...
Apr 29, 2016 @ 1:40pm

The concept is interesting, I like having to tweak some code according to certain limitations. The only frustrating things is that you can not really run the code to checks its output or anything else, it feels a bit like working in the dark. Apart from the game is pleasant to play.

Adipson says ...
Apr 30, 2016 @ 8:41am

original concept

Geckoo1337 says ...
May 1, 2016 @ 8:42pm

Мне понравилось. Clever idea. reminds me this time when I developed some exploits using PHP. Well done ++

Aaranos says ...
May 1, 2016 @ 11:48pm

More of a learning tool than a game.

neilcorre2k6 says ...
May 2, 2016 @ 3:45pm

wow! that was a very awesome idea! :D haha, Python isn't actually my language, but that was pretty neat :D

RaysAndLazors says ...
May 2, 2016 @ 10:17pm

I gave up at 4/6. I have nowhere near the required knowledge of this language, and at this point searching for answers at google has grown frustrating enough. Turns out Python does not have half of statements and constructs I was expecting. Humor is 11/10, but only for the programmers :P

QuexD says ...
May 3, 2016 @ 1:19am

This game is only for the L33T very hard very fun. Great Job!

KairosXIII says ...
May 3, 2016 @ 3:48am

Wow, very cool concept and great take on the theme. Can't pass this game with my limited knowledge though, only made it to level 3 :(

MementoGames says ...
May 3, 2016 @ 12:12pm

Hi! You posted a comment in our game saying that we ripped off Portal 2 sounds, which is not true. Not cool, man. We recorded and edited the robot voices by ourselves (We used my voice which kinda have a strange-high-pitch going on already). We did took a look at tutorials to make it sound more Glados-ish. Thanks for your comments though.

cheshire says ...
May 5, 2016 @ 8:20am

Really good idea =)

B0pt1K says ...
May 5, 2016 @ 11:15am

I really really enjoy playing this game, haven't really seen a game like this before, some of it was quite hard, but good to think over. Great idea!

Louspirit says ...
May 5, 2016 @ 12:16pm

It makes my head overheating, but it is fun.

CliffracerX says ...
May 5, 2016 @ 8:19pm

This is really funny and a brilliant idea. Only downside is feeling like a terrible programmer for not being able to make it past puzzle two. I've been doing this for years, dangit, I should be able to solve a simple while loop! :P

sharrackor says ...
May 5, 2016 @ 8:25pm

Absolutely fantastic game, had a load of fun with this one :) perhaps a little bit short, I'd love to see more missions and challenges to complete, but what you have here is great by itself. Well done!

UnlikelyRogue says ...
May 8, 2016 @ 8:23pm

Ha, that was clever. A little too close to work though ;)

abuzreq says ...
May 8, 2016 @ 8:46pm

That's amazing !
I haven't coded in python for long but got until removing the conditionals (and for some reason lambdas are not working :P)
I didn't play a game like this before and would love having a one for Java :P
(psst.. yes you! , do it if you know Java,please..!)

avinashd says ...
May 8, 2016 @ 8:50pm

@abuzreq It'd be cool to have one for Java, but Java is strongly typed and also doesn't let you get away with the same types of crazy things that python lets you get away with! :P

dcolgan says ...
May 8, 2016 @ 10:35pm

Awesome, first time I've seen a programming challenge on LD. Definitely requires some functional programming techniques. +10 for Haskell!

avinashd says ...
May 8, 2016 @ 11:21pm

@dcolgan I wasn't too strong with functional programming myself, which is why I had to ask a friend of mine to help me with challenge 6 :P. Have you seen the solution he came up with (it's linked in the starting pop-up)? It's fantastic.

@abuzreq Guess what was posted on hackernews a couple of hours ago? :P

May 9, 2016 @ 12:33am

My favorite entry of LD35... I laughed out loud when Sergei made his final request.

My only complaint is that the coding window can't be resized. By the end, I had a line over 200 characters long, and it was a little unwieldy to have to scroll to edit.

I want to see more games like this!

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 ( 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]