{"author_link":"\/users\/sodoj","author_name":"Sodoj","author_uid":1278536,"comments":[{"id":938509,"author_name":"Nathan Franck","author_uid":"nathan-franck","epoch":1682969970,"text":"The concept is hilarious! Not going to touch it from my work computer, bad look to be running un-sandboxed code on an intranet device. \ud83d\ude00","format":"md","likes":4,"spam":"N"},{"id":938574,"author_name":"DecadeDecaf","author_uid":"decadedecaf","epoch":1682971081,"text":"VERY cool concept!! I appreciate how you included a drawing and some theatrics on the LD page; it was a lot more interesting to imagine a mail carrier collecting packages than a bunch of dots in MS Paint collecting more dots. Creative stuff!\n![snake.png](\/\/\/raw\/d0f\/12\/z\/591b8.png)","format":"md","likes":2,"spam":"N"},{"id":938588,"author_name":"blobo","author_uid":"blobo","epoch":1682971295,"text":"What a brilliant concept! Making a game that runs in MS paint is wild, and I love everything about this.\n\nI recorded myself playing if you want some extra feedback. I don't have too much to say, it's just snake, but the medium in which you have presented snake is hilarious and crazy. Great work!\n\nhttps:\/\/www.youtube.com\/watch?v=6PDXqcZaBWU","format":"md","likes":1,"spam":"N"},{"id":938724,"author_name":"ScalphaMission","author_uid":"scalphamission","epoch":1682972940,"text":"This deserves all the stars for innovation. I truly would never have thought to do this. check out my live review at https:\/\/www.twitch.tv\/scalphamission","format":"md","likes":1,"spam":"N"},{"id":939896,"author_name":"k8n","author_uid":"k8n","epoch":1682985512,"text":"Cool concept, but I couldn't play it. MSPaint has started, but other than that nothing happened for me =(","format":"md","likes":1,"spam":"N"},{"id":945020,"author_name":"Answer21","author_uid":"answer21","epoch":1683026717,"text":"Very, very interesting, unusual game with unusual mechanics and perfect graphics)","format":"md","likes":1,"spam":"N"},{"id":945827,"author_name":"Alex Chertilin","author_uid":"alex-chertilin","epoch":1683031815,"text":"I like the title picture so much","format":"md","likes":1,"spam":"N"},{"id":945838,"author_name":"Timbaleek","author_uid":"timbaleek","epoch":1683031868,"text":"Wow really innovative and amazing that you got it to work :)","format":"md","likes":1,"spam":"N"},{"id":946017,"author_name":"RegisMeysso","author_uid":"regismeysso","epoch":1683033018,"text":"very innovative","format":"md","likes":1,"spam":"N"},{"id":946162,"author_name":"velvetlobster","author_uid":"velvetlobster","epoch":1683034075,"text":"this is a crazy crazy idea, the kind of thing I love the most about ludum dares, some people will go far beyond what one can imagine a game to be, thanks for making this","format":"md","likes":1,"spam":"N"},{"id":946180,"author_name":"seurimas","author_uid":"seurimas","epoch":1683034174,"text":"It doesn't seem to play well with Windows 11, sadly! The pencil icon is in a different location, is all:\n![Pencil.png](\/\/\/raw\/8c1\/z\/5a9d4.png)","format":"md","likes":1,"spam":"N"},{"id":946804,"author_name":"DrunkardWolf","author_uid":"drunkardwolf","epoch":1683037606,"text":"Love this, really a cool idea :) good work ","format":"md","likes":1,"spam":"N"},{"id":946835,"author_name":"a333","author_uid":"a333","epoch":1683037781,"text":"5\/5 graphics here, mate! Great job!","format":"md","likes":1,"spam":"N"},{"id":949197,"author_name":"Vectrex28","author_uid":"vectrex28","epoch":1683048989,"text":"Oh wow. This sort of stuff has to be one of my favourite things about LD - there's always going to be one game where the person went above and beyond as to what platform to run the game on - and it looks like we got a winner for this jam. Top stuff!","format":"md","likes":1,"spam":"N"},{"id":950693,"author_name":"JimmyMcGinger","author_uid":"jimmymcginger","epoch":1683057270,"text":"What a clever idea! Getting it running in MS Paint is impressive.","format":"md","likes":1,"spam":"N"},{"id":951166,"author_name":"Patrick Abernathy","author_uid":"patrick-abernathy","epoch":1683059937,"text":"It's really cool that you made this in Paint. It's a new way to play a game we have been playing for years. ","format":"md","likes":1,"spam":"N"},{"id":951193,"author_name":"cepeka","author_uid":"cepeka","epoch":1683060051,"text":"This is getting ridiculous.\n\nI love it.","format":"md","likes":1,"spam":"N"},{"id":951243,"author_name":"SID37","author_uid":"sid37","epoch":1683060334,"text":"I was able to launch the game.. only in a virtual machine.. Definitely, the most fun jam game","format":"md","likes":1,"spam":"N"},{"id":959005,"author_name":"TrampolineTales","author_uid":"trampolinetales","epoch":1683142510,"text":"What a rad idea. Makes me want to make a borderless (or maybe even windowless?) game that's played entirely on the desktop.","format":"md","likes":1,"spam":"N"},{"id":959103,"author_name":"JosephGallear","author_uid":"josephgallear","epoch":1683143494,"text":"Wasn't able to properly play this in Windows 11; the canvas size didn't get changed and there was nothing being drawn. However, I was still able to play somewhat just by looking at where the mouse cursor was, which is a crazy thing to say. Great idea and as a big fan of Paint I just wish I could play it properly!","format":"md","likes":1,"spam":"N"},{"id":959473,"author_name":"blank_3D","author_uid":"blank-3d","epoch":1683146540,"text":"Awesome! Innovation and graphics are a solid 5\/5","format":"md","likes":1,"spam":"N"},{"id":959548,"author_name":"Austin Sierra","author_uid":"austin-sierra","epoch":1683147240,"text":"Classic twist on a classic program!","format":"md","likes":1,"spam":"N"},{"id":960258,"author_name":"Sarah","author_uid":"sarah","epoch":1683154354,"text":"This is a really interesting idea and it's super cool that you got it working. I literally have never imaged something like a game running in paint, but great job getting it done!","format":"md","likes":1,"spam":"N"},{"id":962105,"author_name":"andrground","author_uid":"andrground","epoch":1683186662,"text":"incredibly unique idea, this should definitely be at the top in innovation category","format":"md","likes":1,"spam":"N"},{"id":963767,"author_name":"LDJam user 245646","author_uid":"245646","epoch":1683217863,"text":"This is actually insane","format":"md","likes":1,"spam":"N"},{"id":964487,"author_name":"MAT4DOR","author_uid":"mat4dor","epoch":1683225853,"text":"Amazing concept :trophy: ","format":"md","likes":1,"spam":"N"},{"id":964946,"author_name":"Sheepolution","author_uid":"sheepolution","epoch":1683231681,"text":"Very clever!","format":"md","likes":1,"spam":"N"},{"id":965288,"author_name":"JAsonsumm1","author_uid":"jasonsumm1","epoch":1683236269,"text":"Whaaat?! This is crazy!! I love it haha! ...wow! Innovation 5*, Graphics 5* :zap: ","format":"md","likes":1,"spam":"N"},{"id":965748,"author_name":"EmeraldAlkemist","author_uid":"emeraldalkemist","epoch":1683244040,"text":"This game is great. While it doesn't fit the theme very well, I think it's very interesting that you've managed to make a game inside of MS Paint.","format":"md","likes":1,"spam":"N"},{"id":966090,"author_name":"LDJam user 316658","author_uid":"316658","epoch":1683251600,"text":"i LOVE this!!! i was honestly a bit intimidated to install after seeing the text BUT it was definitely worth it & i think anyone else on windows should give it a try, what a cool experience!","format":"md","likes":1,"spam":"N"},{"id":966331,"author_name":"GreenwoodDrive","author_uid":"greenwooddrive","epoch":1683258170,"text":"Hahah wow talk about innovation :D Great job :)","format":"md","likes":1,"spam":"N"},{"id":969098,"author_name":"Tyrannas","author_uid":"tyrannas","epoch":1683324857,"text":"Ran the python script and it's opening mspaint but then nothing is happening :\/ ","format":"md","likes":1,"spam":"N"},{"id":969119,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683325435,"text":"@k8n @tyrannas Well, that's not good. I tested the script on a slower PC and it had trouble running it the first time, but after a couple of times it eventually work, so you could maybe try that. Additionally, since I have no idea why that happens on your PC, I'd appreciate if you shared with me the terminal log. Either way, I am really thankful that you guys took some time out of your day to try out my game, it really means a lot!","format":"md","likes":1,"spam":"N"},{"id":969154,"author_name":"Tyrannas","author_uid":"tyrannas","epoch":1683326021,"text":"Oh yeah sorry didnt even check the logs (main python dev here, and didnt think of that lol), here you are in case that helps:\n``` mspaint_window = gw.getWindowsWithTitle('Untitled - paint')[0]\nIndexError: list index out of range```","format":"md","likes":1,"spam":"N"},{"id":969174,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683326482,"text":"@tyrannas Aha, I see. That line is looking for the window called 'Untitled - Paint' so it could focus it and maximize it. I guess that if your OS is in foreign language that window is not called 'Untitled - Paint', but rather something else. If that's the case, you can rename 'Untitled - Paint' to whatever it's called in your language and it will work.\n\nThis is a huge oversight on my part, it never occurred to me that people don't necessarily have Windows in English while I was developing the game, so thank you for pointing that out to me! I'll see how I can address it!","format":"md","likes":0,"spam":"N"},{"id":969212,"author_name":"Tyrannas","author_uid":"tyrannas","epoch":1683327462,"text":"Okey i fixed the window button, but now I got another one:\n```\nTraceback (most recent call last):\n  File \"C:\\Users\\Utilisateur\\Downloads\\Commutator_Source.py\", line 68, in <module>\n    canvas_x, canvas_y, canvas_width, canvas_height, board_width, board_height = get_canvas_position()\n  File \"C:\\Users\\Utilisateur\\Downloads\\Commutator_Source.py\", line 48, in get_canvas_position\n    rect = win32gui.GetWindowRect(paint_win)\npywintypes.error: (1400, 'GetWindowRect', 'Handle de fen\u00eatre non valide.')\n```","format":"md","likes":1,"spam":"N"},{"id":969236,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683328089,"text":"@tyrannas From the looks of it, the window name you replaced it doesn't match with the name of the window. You may have misspelled it or there's maybe a special character you missed. From the looks of it, you're French, so the name of your mspaint window should be 'Sans titre - Paint', and the line of code should be \n`mspaint_window = gw.getWindowsWithTitle('Sans Titre - Paint')[0]`\n\n If you are sure the name you put in the parenthesis and the name of your window match, then I'm not sure what would cause the issue. Either way, thank you so much for taking time to debug this with me!","format":"md","likes":0,"spam":"N"},{"id":969244,"author_name":"Tyrannas","author_uid":"tyrannas","epoch":1683328325,"text":"The window was changing name, basically there at the beginning of the code it should be \"Sans titre - Paint\" and then later \"805.png - Paint\". Now it's running without error but I think the script isnt changing the window size properly so the mouse moves but it's not drawing anything haha\nI'm gonna try to find ","format":"md","likes":1,"spam":"N"},{"id":969250,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683328622,"text":"@tyrannas That's very strange. Are you on Windows 11 by any chance? If so, there may be some issues since I calculated the window setup for Windows 10. If you are on Windows 10, then make sure you don't touch the mouse while the board is being drawn!","format":"md","likes":0,"spam":"N"},{"id":969283,"author_name":"Tyrannas","author_uid":"tyrannas","epoch":1683329964,"text":"Nah windows 10 but I think it's clicking on an option it shouldnt probably cause menus are not ordered the same in french ^^ ! Is it supposed to open this window ? Cause after opening this, the script just moved the mouse (and it does nothing) and ends [Capture d\u2019\u00e9cran 2023-05-06 013842.png](\/\/\/raw\/3bf\/z\/5b6df.png) (edit: i think my image is not being uploaded)","format":"md","likes":1,"spam":"N"},{"id":969289,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683330249,"text":"@tyrannas Oh shit, I had no idea, I'd love to see what that looks like. Could you add me on Discord or something to chat?","format":"md","likes":0,"spam":"N"},{"id":969342,"author_name":"Tyrannas","author_uid":"tyrannas","epoch":1683332152,"text":"Sorry just saw your message, finally managed to get it working, menus were indeed at the wrong place, and then it also wasnt clicking at the right place (no idea) why ! Thanks to @100th-coin video I was able to see was the script was really supposed to be doing and find the right x, y to make it work lol. Also mapped french keys: https:\/\/pastebin.com\/2EremC2X\n\nWell now going to bed, way to late and spent way too much time on this lol, let's say it was a part of the game ! Anyway, your idea was crazy and I really wanted to try it, great idea even if the game is super simple, good job ! ","format":"md","likes":1,"spam":"N"},{"id":969353,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683332556,"text":"@tyrannas I love you dude, thank you so much for being so invested in this project! You've been an immense help in helping me figure out where to go next with this project by finding this oversight. Also kudos for bothering to fix it, it means the world to me!","format":"md","likes":1,"spam":"N"},{"id":970247,"author_name":"LDJam user 302410","author_uid":"302410","epoch":1683368390,"text":"Lol WOW","format":"md","likes":1,"spam":"N"},{"id":972090,"author_name":"Firespike33","author_uid":"firespike33","epoch":1683424208,"text":"Hilariously cool concept. I was using the exe version on Windows 10 and it seemed like the eatable dots stopped appearing after a while.","format":"md","likes":1,"spam":"N"},{"id":972101,"author_name":"DGSpitzer","author_uid":"dgspitzer","epoch":1683424636,"text":"5\/5 on Innovation! That's insane you can make such a game in 48 hours with this fantastic idea!","format":"md","likes":1,"spam":"N"},{"id":972671,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683455452,"text":"@firespike33 It's very possible that pellets spawned right onto border lines, although I'm pretty sure that isn't supposed to happen. Thank you for reporting it, I'll investigate and see what's up with that. It would help a lot if you tell me which exe did you download, as well as your screen resolution!","format":"md","likes":0,"spam":"N"},{"id":972797,"author_name":"LDJam user 233347","author_uid":"233347","epoch":1683461079,"text":"Not sure if screen or PC issue - but Win10 with 4k at 150% gives odd results.\n\nI did use the precompiled jam version though.\n\n![Communicator-1.png](\/\/\/raw\/38f\/83\/z\/5b883.png)\n\n![Communicator-2.png](\/\/\/raw\/38f\/83\/z\/5b884.png)","format":"md","likes":1,"spam":"N"},{"id":972808,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683461791,"text":"@xparker The 150% zoom is causing the issue. Thank you for letting me know, if it's not a problem, could you try running the game at 100% zoom just so I could have some idea about how the program behaves at regular 4k screen? Sorry for the trouble!","format":"md","likes":1,"spam":"N"},{"id":973223,"author_name":"LDJam user 233347","author_uid":"233347","epoch":1683478082,"text":"@sodoj Sorry for the late reply. With 100% it works as intended - though barely visible for my eyes. :smile: \n\nEDIT: 125% causes same issue as 150% (duh)\n\n![Communicator-3.png](\/\/\/raw\/38f\/83\/z\/5b8c7.png)","format":"md","likes":1,"spam":"N"},{"id":973307,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683480492,"text":"@xparker That's good to know, thank you for going out of your way to test it out!","format":"md","likes":1,"spam":"N"},{"id":974124,"author_name":"AVAVT","author_uid":"avavt","epoch":1683516823,"text":"Heyo, interesting concept!\n\nI played the JAM exe version and the postjam script:\n\n- I think you need to update the instructor the postjam script, there's also `psutil` needed to run the script e.g.\n\n```\npip install pyautogui pygetwindow pywin32 keyboard psutil\n```\n\n- Would love to have a bigger pencil size, currently the dots look too small on my monitor and it kinda hurt my eye.\n\n- I managed to \"trick\" the JAM version by opening another Paint windows and use a Brushes with max size, and JAM version used that window instead of the one it opened. Max brushes size looks better imo and I can play well. But post-jam script detects window quite stably so can no longer trick it :(\n\nThis script is very interesting, maybe it can even turn Paint into a movie\/gif player haha","format":"md","likes":1,"spam":"N"},{"id":974231,"author_name":"Firespike33","author_uid":"firespike33","epoch":1683526502,"text":"@sodoj The standard one, and it's 1080p.","format":"md","likes":1,"spam":"N"},{"id":974507,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683542841,"text":"@avavt Hello, thanks for the comment and the suggestions! You can actually increase the brush size by pressing 'ctrl' and '+' together. Sadly I couldn't implement that in code because it didn't work for whatever reason, but increasing the brush size manually works pretty well!","format":"md","likes":1,"spam":"N"},{"id":974543,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683546450,"text":"@firespike33 I see, thank you for reporting! I still have to find the potential cause of the issue, if anyone else has this happen to them, please let me know!","format":"md","likes":0,"spam":"N"},{"id":975122,"author_name":"Starlight Glimmer is best poney","author_uid":"starlight-glimmer-is-best-poney","epoch":1683575532,"text":"Looks so fun and gives me a few ideas; wish I had a Windows install to play with it. I'd be curious to see how pyautogui works under the hood and whether it uses `SendInput()` on Windows. If that's not why the cursor keeps flying around, I'd hook into it and try something else. Maybe one day","format":"md","likes":1,"spam":"N"},{"id":975957,"author_name":"kanity","author_uid":"kanity","epoch":1683638514,"text":"Unfortunately I couldn't get it to run, downloaded python extension (the code  opened in Visual Studio for me) and clicked run, but nothing happens and it gives this line in the terminal: ModuleNotFoundError: No module named 'pyautogui'. Tried to open Paint just in case, it didn't help ofc ^^'' The code looks very pretty though and I like that you added lines for different languages :)","format":"md","likes":1,"spam":"N"},{"id":975976,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683639773,"text":"Hey @kanity , you need to install the python libraries, the ones I listed in the description (pip install ones). To install them, run a command prompt and type `pip install *name of the library*`. Hope that helps!","format":"md","likes":1,"spam":"N"},{"id":977627,"author_name":"Skleembof","author_uid":"skleembof","epoch":1683822394,"text":"I think what you've done here is prove to the world that the metaverse will take place entirely within Microsoft Paint, and I expect you to port Doom for LD 54","format":"md","likes":1,"spam":"N"},{"id":977793,"author_name":"Sodoj","author_uid":"sodoj","epoch":1683838368,"text":"@avavt and @xparker, check out this [blogpost](https:\/\/ldjam.com\/events\/ludum-dare\/53\/commutator\/a-sizeable-update), it addresses some of the concerns you had with the game. Hopefully you'll find it more fun with this update!","format":"md","likes":1,"spam":"N"},{"id":978671,"author_name":"OgelGames","author_uid":"ogelgames","epoch":1683955427,"text":"This is crazy! A game that runs in Paint?! Amazing work, top marks for innovation!","format":"md","likes":1,"spam":"N"},{"id":980519,"author_name":"ardorugus","author_uid":"ardorugus","epoch":1684208135,"text":"High 5s for the idea itself. This is art-house, also. Cool approach to the theme (and the tech decision!). Re-invited to and re-invented Paint for me)). ","format":"md","likes":1,"spam":"N"},{"id":980948,"author_name":"Zefphyer","author_uid":"zefphyer","epoch":1684276335,"text":"I'm impressed by the idea and execution. I don't think I've seen a game in Paint before. Seems to run... mostly okay? The dots didn't show up on my computer but apparently I don't need them to play passable Snake. Otherwise ran fine. Definitely a creative medium.","format":"md","likes":1,"spam":"N"},{"id":980989,"author_name":"Sodoj","author_uid":"sodoj","epoch":1684282175,"text":"@zefphyer Hello, could you tell me what version of Windows are you on and also what version of the game did you download, as well as your screen size? Thanks in advance!","format":"md","likes":0,"spam":"N"},{"id":981073,"author_name":"Zefphyer","author_uid":"zefphyer","epoch":1684292041,"text":"@sodoj I used the source Python, standard version. The computer that I used for it was 64-bit Windows 10 Enterprise 19044.1415, monitor 1920x1080 resolution and 14-inch laptop screen.","format":"md","likes":1,"spam":"N"},{"id":981234,"author_name":"Sodoj","author_uid":"sodoj","epoch":1684319756,"text":"@zefphyer I see, thank you. If it's not a hassle, I'd really appreciate if you tried the updated version and see if it was any better. Thank you for trying the game out either way, I really appreciate it!","format":"md","likes":0,"spam":"N"},{"id":982541,"author_name":"Zefphyer","author_uid":"zefphyer","epoch":1684455234,"text":"@sodoj didn't fix the problem unfortunately! I'm guessing that it didn't have the pencil tool selected or something like that. Seemed like it had a lot of other QOL features though.\n\nAlso when I looked through the code it looked like you quit the game if the player has the wrong language- you might want to default to English instead.","format":"md","likes":1,"spam":"N"},{"id":982552,"author_name":"Sodoj","author_uid":"sodoj","epoch":1684456354,"text":"@zefphyer Thank you for trying once again and sorry for all the mentions!\n\nI'd love to have the game default to English, but as I explained in this [blogpost](https:\/\/ldjam.com\/events\/ludum-dare\/53\/commutator\/the-horrors-of-making-a-game-running-in-microsoft-paint-window), the layout in Paint is different in every language and even some of the hotkeys are different, that is the sole reason why I added support for French and Spanish and also the reason I can't afford to do what you suggested, who knows what script might end up clicking, potentially giving a scare to unsuspecting players!","format":"md","likes":1,"spam":"N"}],"format":"md","images":["ld53\/wayback-placeholder.png"],"links":[{"url":"https:\/\/sodoj.itch.io\/commutator","text":"A Python script, recommended for running the game"},{"url":"https:\/\/sodoj.itch.io\/commutator","text":"Precomiled Python script, may get falsely flagged by antiviruses"}],"metadata":{"g_key":"88774","g_author":"1278536","g_event":"LD53","g_eventkey":"118","g_subevent":"COMPO","g_urlkey":"425848","g_title":"Commutator","g_status":"WAYBACK","g_place":"175","g_commentcount":"68","g_site2_node_id":"362208","g_hide":"N","g_has_icon":"Y","g_rqueue":"0","g_random":"0"},"nds":{"n_key":"362208","n_urlkey":"425848","n_parent":"332127","n_path":"\/events\/ludum-dare\/53\/commutator","n_slug":"commutator","n_type":"item","n_subtype":"game","n_subsubtype":"compo","n_author":"278536","n_created":"1682777722","n_modified":"1779694729","n_version":"1145394","n_status":"WAYBACK"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD53","removed_author":false},"_superparent":9,"_trust":1,"author":278536,"body":"![commutator.png](\/\/\/raw\/800\/44\/z\/585b8.png)\n\n**Please read below before downloading!**\n\nIn Commutator, you take on the role of the hardworking postman, Wilson, as he embarks on a perilous journey to deliver important packages to their recipients. But there's a twist \u2013 all of the packages are scattered across the town! To make matters worse, the packages keep piling up and Wilson must strategically collect them to avoid crashing and losing everything! Will Wilson ever make his delivery?\n\nBut wait, why does it look like a typical snake game that is somehow played in Microsoft Paint? Well, it's simple, it's because it is! Yeah, Commutator is a fully playable snake game in a Microsoft Paint window that allows for player input, growing snake, keeping score and increasing speed! Just pretend it's a little postman running around and collecting packages in order to fit this game with this Ludum Dare theme :p\n\n![ezgif-2-6ce11e3688.gif](\/\/\/raw\/800\/44\/z\/585c6.gif)\n\n**HOW TO PLAY**\n\nWell, this is where it gets a little tricky. Commutator is not really a game in a traditional sense, but rather a Python script that simulates the snake game using your mouse! It requires more effort to run than your average game and it can be a little bit scary, but I promise you there is nothing to worry about!\n\n**Choosing a method**\n\nThere are two methods you can play this game. The only thing you really need for both of these methods is to have is a computer with English Windows 10. The game simulates Wilson's movement with your mouse input and the first couple of inputs the game makes is setting up the canvas for the game, which was preconfigured for Windows 10 version of Microsoft Paint.  The game then assumes everything is set up correctly so it starts moving your mouse and clicking. I haven't tested the game on Windows 7 or Windows 11, but you can feel free to give it a go! If anything goes wrong, you can press the Escape button which will stop the game immediately.\n\nWell now, off to the two methods:\n\nMethod 1: Running the Source Python script \n\nIn order to run this script, you'll need to have several libraries installed:\n\n- pyautogui (pip install pyautogui )\n- pygetwindow (pip install pygetwindow)\n- pywin32 (pip install pywin32)\n- keyboard (pip install keyboard)\n- for updated version - psutil (pip install psutil)\n\nThere are two source scripts, one called Commutator_Source.py, which creates a canvas which dimension's are 800x600 and another one called Commutator_Source_NonStandard.py, which creates a canvas with dimensions of 640x480 .  Non standard screen sizes like screens with 768p should ruin the NonStandard version of the code. When you \n\n**Method 2: Downloading and running the .exe**\n\nThis method may seem more straightforward, but here's the catch: antiviruses really don't like precompiled Python scripts and they flag them as potentially harmful so you'll have to go out of your way to wrestle with your antiviruses in order to play the game. I recommend this method only if you really don't want to bother with setting up Python.  The standard and non standard version of executables are the same deal, pick whichever suits your screen.\n\n**UPDATE: The Updated version of source is now available, including the support for French and Spanish Display language, Automatic Canvas resize depending on the screen you have and an option to resize the dots representing the player and the pellets! before the game starts!**\n\n**Playing the game**\n\nWhen you run the script, let go of your mouse! The script will take control of your mouse and keyboard to run mspaint using the run command and will set up the game board for you. If you move your mouse in a meantime, there's a chance the script will missclick something and the worst it can happen is that the game will start clicking on your files, folders and whatnot! Again, if anything goes wrong, pushing the Escape key on your keyboard will end the game and the script.\n\nOnce the screen is set up and you see snake moving, then you can control it. You can control snake with WASD buttons. Once you lose, the game will display your final score and MSPaint window will close. If you want to play again, just run the script\/exe!\n\n\nI hope this wall of text won't intimidate too many people. I am very happy with how this project has turned out and I had a lot of fun working on it.\n\nHave fun!","comments":68,"comments-timestamp":"2023-05-19T00:32:34Z","created":"2023-04-29T14:15:22Z","files":[],"files-timestamp":0,"grade":{"grade-01":62,"grade-02":62,"grade-03":76,"grade-04":63,"grade-05":58,"grade-07":62,"grade-08":20},"id":362208,"love":0,"magic":{"cool":137.05768904583,"feedback":157,"given":92.75,"grade":67.166666666667,"grade-01-average":3.633,"grade-01-result":175,"grade-02-average":3.433,"grade-02-result":188,"grade-03-average":4.628,"grade-03-result":2,"grade-04-average":2.754,"grade-04-result":381,"grade-05-average":2.982,"grade-05-result":328,"grade-07-average":3.925,"grade-07-result":38,"grade-08-average":3.389,"grade-08-result":178,"smart":-3.407331848272},"meta":{"allow-anonymous-comments":"1","author":[278536],"cover":"\/\/\/content\/800\/44\/z\/584b0.png","grade-06-out":"1","grade-08-out":"1","link-01":"https:\/\/sodoj.itch.io\/commutator","link-01-name":"A Python script, recommended for running the game","link-01-tag":[50],"link-02":"https:\/\/sodoj.itch.io\/commutator","link-02-name":"Precomiled Python script, may get falsely flagged by antiviruses","link-02-tag":[42337]},"meta-timestamp":"2026-05-25T07:38:49Z","modified":"2026-05-25T07:38:49Z","name":"Commutator","node-timestamp":"2023-05-11T16:47:11Z","parent":332127,"parents":[1,5,9,332127],"path":"\/events\/ludum-dare\/53\/commutator","published":"2023-04-30T23:48:49Z","scope":"public","slug":"commutator","subsubtype":"compo","subtype":"game","type":"item","version":1145394},"text":"![commutator.png](\/\/\/raw\/800\/44\/z\/585b8.png)\n\n**Please read below before downloading!**\n\nIn Commutator, you take on the role of the hardworking postman, Wilson, as he embarks on a perilous journey to deliver important packages to their recipients. But there's a twist \u2013 all of the packages are scattered across the town! To make matters worse, the packages keep piling up and Wilson must strategically collect them to avoid crashing and losing everything! Will Wilson ever make his delivery?\n\nBut wait, why does it look like a typical snake game that is somehow played in Microsoft Paint? Well, it's simple, it's because it is! Yeah, Commutator is a fully playable snake game in a Microsoft Paint window that allows for player input, growing snake, keeping score and increasing speed! Just pretend it's a little postman running around and collecting packages in order to fit this game with this Ludum Dare theme :p\n\n![ezgif-2-6ce11e3688.gif](\/\/\/raw\/800\/44\/z\/585c6.gif)\n\n**HOW TO PLAY**\n\nWell, this is where it gets a little tricky. Commutator is not really a game in a traditional sense, but rather a Python script that simulates the snake game using your mouse! It requires more effort to run than your average game and it can be a little bit scary, but I promise you there is nothing to worry about!\n\n**Choosing a method**\n\nThere are two methods you can play this game. The only thing you really need for both of these methods is to have is a computer with English Windows 10. The game simulates Wilson's movement with your mouse input and the first couple of inputs the game makes is setting up the canvas for the game, which was preconfigured for Windows 10 version of Microsoft Paint.  The game then assumes everything is set up correctly so it starts moving your mouse and clicking. I haven't tested the game on Windows 7 or Windows 11, but you can feel free to give it a go! If anything goes wrong, you can press the Escape button which will stop the game immediately.\n\nWell now, off to the two methods:\n\nMethod 1: Running the Source Python script \n\nIn order to run this script, you'll need to have several libraries installed:\n\n- pyautogui (pip install pyautogui )\n- pygetwindow (pip install pygetwindow)\n- pywin32 (pip install pywin32)\n- keyboard (pip install keyboard)\n- for updated version - psutil (pip install psutil)\n\nThere are two source scripts, one called Commutator_Source.py, which creates a canvas which dimension's are 800x600 and another one called Commutator_Source_NonStandard.py, which creates a canvas with dimensions of 640x480 .  Non standard screen sizes like screens with 768p should ruin the NonStandard version of the code. When you \n\n**Method 2: Downloading and running the .exe**\n\nThis method may seem more straightforward, but here's the catch: antiviruses really don't like precompiled Python scripts and they flag them as potentially harmful so you'll have to go out of your way to wrestle with your antiviruses in order to play the game. I recommend this method only if you really don't want to bother with setting up Python.  The standard and non standard version of executables are the same deal, pick whichever suits your screen.\n\n**UPDATE: The Updated version of source is now available, including the support for French and Spanish Display language, Automatic Canvas resize depending on the screen you have and an option to resize the dots representing the player and the pellets! before the game starts!**\n\n**Playing the game**\n\nWhen you run the script, let go of your mouse! The script will take control of your mouse and keyboard to run mspaint using the run command and will set up the game board for you. If you move your mouse in a meantime, there's a chance the script will missclick something and the worst it can happen is that the game will start clicking on your files, folders and whatnot! Again, if anything goes wrong, pushing the Escape key on your keyboard will end the game and the script.\n\nOnce the screen is set up and you see snake moving, then you can control it. You can control snake with WASD buttons. Once you lose, the game will display your final score and MSPaint window will close. If you want to play again, just run the script\/exe!\n\n\nI hope this wall of text won't intimidate too many people. I am very happy with how this project has turned out and I had a lot of fun working on it.\n\nHave fun!","title":"Commutator","wayback_recovered":true,"wayback_source":{"capture":{"original":"https:\/\/api-jam.ludumdare.com\/vx\/node2\/get\/369501+369502+369503+369504+369505+369506+369507+369508+369509+369510+369511+369512+369513+369514+369515+369516+369517+369518+369519+369520+369521+369522+369523+369524+369525+369526+369527+369528+369529+369530+369531+369532+369533+369534+369535+369536+369537+369538+369539+369540+369541+369542+369543+369544+369545+369546+369547+369548+369549+369550+369551+369552+369553+369554+369555+369556+369557+369558+369559+369560+369561+369562+369563+369564+369565+369566+369567+369568+369569+369570+369571+369572+369573+369574+369575+369576+369577+369578+369579+369580+369581+369582+369583+369584+369585+369586+369587+369588+369589+369590+369591+369592+369593+369594+369595+369596+369597+369598+369599+369600+369601+369602+369603+369604+369605+369606+369607+369608+369609+369610+369611+369612+369613+369614+369615+369616+369617+369618+369619+369620+369621+369622+369623+369624+369625+369626+369627+369628+369629+369630+369631+369632+369633+369634+369635+369636+369637+369638+369639+369640+369641+369642+369643+369644+369645+369646+369647+369648+369649+369650+369651+369652+369653+369654+369655+369656+369657+369658+369659+369660+369661+369662+369663+369664+369665+369666+369667+369668+369669+369670+369671+369672+369673+369674+369675+369676+369677+369678+369679+369680+369681+369682+369683+369684+369685+369686+369687+369688+369689+369690+369691+369692+369693+369694+369695+369696+369697+369698+369699+369700+369701+369702+369703+369704+369705+369706+369707+369708+369709+369710+369711+369712+369713+369714+369715+369716+369717+369718+369719+369720+369721+369722+369723+369724+369725+369726+369727+369728+369729+369730+369731+369732+369733+369734+369735+369736+369737+369738+369739+369740+369741+369742+369743+369744+369745+369746+369747+369748+369749+369750+369751+369752+369753+369754+369755+369756+369757+369758+369759+369760+369761+369762+369763+369764+369765+369766+369767+369768+369769+369770+369771+369772+369773+369774+369775+369776+369777+369778+369779+369780+369781+369782+369783+369784+369785+369786+369787+369788+369789+369790+369791+369792+369793+369794+369795+369796+369797+369798+369799+369800+369801+369802+369803+369804+369805+369806+369807+369808+369809+369810+369811+369812+369813+369814+369815+369816+369817+369818+369819+369820+369821+369822+369823+369824+369825+369826+369827+369828+369829+369830+369831+369832+369833+369834+369835+369836+369837+369838+369839+369840+369841+369842+369843+369844+369845+369846+369847+369848+369849+369850+369851+369852+369853+369854+369855+369856+369857+369858+369859+369860+369861+369862+369863+369864+369865+369866+369867+369868+369869+369870+369871+369872+369873+369874+369875+369876+369877+369878+369879+369880+369881+369882+369883+369884+369885+369886+369887+369888+369889+369890+369891+369892+369893+369894+369895+369896+369897+369898+369899+369900+369901+369902+369903+369904+369905+369906+369907+369908+369909+369910+369911+369912+369913+369914+369915+369916+369917+369918+369919+369920+369921+369922+369923+369924+369925+369926+369927+369928+369929+369930+369931+369932+369933+369934+369935+369936+369937+369938+369939+369940+369941+369942+369943+369944+369945+369946+369947+369948+369949+369950+369951+369952+369953+369954+369955+369956+369957+369958+369959+369960+369961+369962+369963+369964+369965+369966+369967+369968+369969+369970+369971+369972+369973+369974+369975+369976+369977+369978+369979+369980+369981+369982+369983+369984+369985+369986+369987+369988+369989+369990+369991+369992+369993+369994+369995+369996+369997+369998+369999+370000?authors&parents&superparent"},"object":"objects\/sha256\/05\/0589c8878691318f6399710209cd4058789d23197170065f39a97400c82b535d","record":"shard-0\/json-live-urgent-v3\/records\/85aa105aa810a3c897224840ce5e47d3adfb8afbf37d4d5d298b3e2aca15857b.json","sha256":"0589c8878691318f6399710209cd4058789d23197170065f39a97400c82b535d","source":"https","stored_at":1784022490}}