IdentiThief by PROGRAM_IX
Run with 'python identithief.py' on Linux or (theoretically) Mac. Windows: EXE thanks to Spiridios (apparently needs to be ended by Task Manager), source is also available.
Premise: You are an identity thief, sniffing packets on an unsecured wireless network. Sniffing four unique packets from a single computer will yield that computer's identity, allowing you to impersonate them.
Goal: Isolate any one computer in the network by stealing the identities of all the others.
Caveats:
-The packets are random, so sniffing one may not necessarily get you closer to stealing its owner's identity.
-If a packet containing a part of the owner's identity you have already sniffed reaches its target, that part of the identity is no longer valid to you, and must be sniffed again. Keep track of this by the pips on each computer screen - 3 means you only have one more unique packet to go!
-The users on the network will get suspicious if too many packets disappear without any arriving safely. This is measured by your 'dodginess' number. Keep this number below 5 by allowing some packets to reach their destination. Successfully stealing an identity will also reduce dodginess, as you are now impersonating that node of the network.
Time: 12 hours or so over Saturday night to Sunday night
Sounds: Twenty minutes' work in Bfxr and Nanoloop
Rules bent: I used a Pygame library I've been working on over the last few months for my final project at university. Although I plan to open-source it, it's not really ready for dispersal yet (hence my rulebreaking). The documentation isn't there, and I found a couple of design issues while making this game. However, I am including a one-file version of it here. No promises on usability yet, but if anybody is interested in where I'm going with it, feel free to contact me.
Controls:
(Menu)
Left click - Start game
Right click - Quit game
(Game)
Left click - Capture packet
R (when in game over screen) - Restart
Escape - Quit to menu
P - Pause
Premise: You are an identity thief, sniffing packets on an unsecured wireless network. Sniffing four unique packets from a single computer will yield that computer's identity, allowing you to impersonate them.
Goal: Isolate any one computer in the network by stealing the identities of all the others.
Caveats:
-The packets are random, so sniffing one may not necessarily get you closer to stealing its owner's identity.
-If a packet containing a part of the owner's identity you have already sniffed reaches its target, that part of the identity is no longer valid to you, and must be sniffed again. Keep track of this by the pips on each computer screen - 3 means you only have one more unique packet to go!
-The users on the network will get suspicious if too many packets disappear without any arriving safely. This is measured by your 'dodginess' number. Keep this number below 5 by allowing some packets to reach their destination. Successfully stealing an identity will also reduce dodginess, as you are now impersonating that node of the network.
Time: 12 hours or so over Saturday night to Sunday night
Sounds: Twenty minutes' work in Bfxr and Nanoloop
Rules bent: I used a Pygame library I've been working on over the last few months for my final project at university. Although I plan to open-source it, it's not really ready for dispersal yet (hence my rulebreaking). The documentation isn't there, and I found a couple of design issues while making this game. However, I am including a one-file version of it here. No promises on usability yet, but if anybody is interested in where I'm going with it, feel free to contact me.
Controls:
(Menu)
Left click - Start game
Right click - Quit game
(Game)
Left click - Capture packet
R (when in game over screen) - Restart
Escape - Quit to menu
P - Pause
| Source (definitely works on Linux with Python 2.7) | http://www.skynet.ie/~program9/projects/ld48/ld25_identithief/ld25-PROGRAM_IX-IdentiThief.zip |
| Windows EXE (thanks Spiridios!) | https://dl.dropbox.com/u/19107686/identithief.zip |
| Original URL | https://ludumdare.com/compo/ludum-dare-25/?action=preview&uid=19366 |
I didn't really understand the game, I guess I need to know more about how packets work. Also not sure how I'm the villain. The little drum march was nice.
Jack, that's odd. The right-click to quit thing should raise a SystemExit exception, if memory serves. Maybe that doesn't work the same on Windows?
For a start, that's not really how packets work. It's not a great abstraction, I just wanted to use that general idea of sniffing packets to impersonate computers. You're the villain because you're isolating this one person by impersonating all the other computers, i.e., all traffic that this computer thinks is going to its peers, is now going to you.
I agree, though, it's not the best abstraction, and even with its relative simplicity I'm sure I did something wrong. Thanks for playing it anyway!
The Windows exe exits just fine on both mine and Serilyn's Windows 7 x64 boxes, so I'm not sure what problem Dark Acre Jack had. Hitting esc to exit from playing the game and then having to right click to exit the main menu is slightly confusing, maybe that was the problem?
I realized I forgot to include the script that creates the exe - it's included in the zip linked above now if you want to use it in the future. It needs py2exe installed and it's a modification of this script: http://www.pygame.org/wiki/Pygame2exe
Yes, one limitation of the framework I'm using/developing is that different states (like menu and game) share the same event handling engine, so if you pressed Esc to exit the main game, it would exit the menu immediately, as well. Using left-click/right-click in the menu was the solution I came up with to avoid this. Not ideal, but then what is in an LD48 game?
Cosmologicon: I definitely will be entering PyWeek this year, if I have time. I knew about it last year but couldn't enter.
Thanks for the feedback everyone, it's been very instructive!