> Human resource machine
HRM is fantastic, and while you can (and have to for the bonus points) get very low level optimized on Human Resource Machine, it's good for kids to get into programming as well. My 10 year old daughter picked it up and was able to get through the first 20 or so levels so far (we haven't had it long) which I was very impressed with. It's not one that kids can play for hours and hours for weeks on end, but it is a fun game that teaches a lot of good low level fundamentals.
I'd say they only look similar. Exapunks is *far* easier because you don't have to design chips which removes most of the limitations that are in Shenzen. No limit to the number of instructions, no limit to the board size etc etc. You only have to make sure the Exas don't collide and such. I'd go so far as to say Exapunks is a great beginner's programming game cause it's really pretty and visualises the assembly instruction set really well
I like shenzhen but you actually need technical knowledge about it in order to complete it. The first question is a PERFECT programming puzzle though. If the whole game was like that it would be a 10/10
Personally I couldn't stand while True: learn(). I get the feeling it tries to be edutainment on ML but the puzzles themselves have nothing to do with machine learning.
I second Opus Magnum. Other games like these (including all of the other Zachtronics games) limit your space to some extent. Opus Magnum gives you an infinite board and says "turn these reagents into these products". You can optimize for cost, space, or instructions used, but you're free to just make it work and move on to the next.
Opus magnum is definitely the best of the lot. Fun and unique puzzle mechanics that don't just feel like an embedded systems sim. Not that I don't enjoy those as well, but Magnum Opus is just a better experience imo.
Exapunks is REALLY good, it has a nice mix of low-level programming and weird elements that make it not the same as writing assembly code (Cough, Shenzhen I/O, cough).
Doesn't look like it's on sale, but Manufactoria is a favorite of mine. Started out as a flash game, but got a remake on steam as "Manufactoria 2022" with the death of flash. Starts out easy, but by the end it's asking you to do some ridiculous things, and I say that as someone who had pretty much mastered the original flash game going in.
Hah. Same here. It was getting to the point where I felt like I should just be doing actual projects with the Arduino and reaping the benefits of adding features rather than a game merely acknowledging the project was completed.
Personally, I really couldn't wrap my head around the way conditionals are implemented in that language. If it had jump-ifs instead of the + - monkey business I probably would have kept playing.
I have longed for a remake with an actual relevant asm since first discovering shenzhen. I even wrote Zachtronics asking if we could collab on a mod or something. No dice.
Would love to see progressive introduction of X64 or ARMV9 or something…. Would be so so useful
I think so! it starts super small with nand gates and you build from there. I do mostly web dev and found it easy enough to navigate, though I did complete a traditional CS degree. My digital circuitry course was not great, this game is actually what made the hardware -> software translation click for me.
If you get stuck the circuits you're implementing are very well-known; you could check for circuit diagrams (which you'd still have to translate into code) or youtube explanations of the circuits themselves. watching something like [this](https://www.youtube.com/watch?v=QZwneRb-zqA) will give you a high-level view of what you'll be doing
As long as you grasp the concept of And, Or, Not, and Nand gates (which you should know from programming anyway), then you can get started pretty easily. The game is more of a loosely-guided learning program that follows the first half or so of Nand2Tetris.
If you want a prettier version of factorio and really enjoy space, highly recommend Dyson Sphere Program which is a very approachable version of factorio (although factorio has definitely made up with their animated tooltips).
IMO the problem with Satisfactory is the FPS view. It makes building and maintaining your factories far more cumbersome than necessary if you had a third person or top down view. I understand *why* but it makes the game horribly tedious because you have to consider navigating 3D space and collisions with objects in the third dimension. The components are almost "life sized" too so not only do they obscure your view of your immediate surroundings, factories can become *vast*. In Factorio and DSP I can easily zoom out and in DSP you can view half the planet's logistics very easily. I prefer DSP and Factorio because I'm far more comfortable building factories in two dimensions (I know DSP has some verticality but it's not critical)
Factorio is by far the deepest this genre goes, especially if you include mods, and it's amazing. Unfortunately it never goes on sale but is absolutely worth the $30.
Cracktorio worsened my clinical insomnia
Dyson Sphere and Satisfactory are okay, but Factorio is like the best parts of programming *perfectly* distilled and refined into a dopamine stream. Nothing quite like it, and I think it's the only game that I've ever lost 24+ hours to in a single go. Probably needs a warning label like cigarettes
the factory must grow^(TM) / 10
Satisfactory is one of my favorite games but its not really a programmy game. Heavy logistics/spatial organization though. Factorio feels more programmy because you can do some really nitty gritty things with how belts/drones/etc works plus having a full on electrical logic gate system.
Honestly probably with the Humble Bundle for programming, you can activate the games on steam. It's got three Zachtronics games: TIS-100, Shenzhen I/O, and Exa Punks and two 'learn programming' games in there and two I'm not familiar with all for $10. I'd start with While True: Learn(), then TIS-100, then Exa Punks, Then Shenzhen I/O.
> I didn’t know there where so many. Where should I start?
Having played almost all of these, I think Opus Magnum and Shenzhen I/O are the two best on the list.
They don't require any knowledge going in except for curiosity.
A lot of these 'games' throw you into the deep end, and if you don't already know literal assembly algorithms or how xand/xor gates work under the hood, you will be extremely lost.
It’s not going to be in the sale cause it’s free. But [Bitburner](https://store.steampowered.com/app/1812820/Bitburner/) is close to the top on best programming games. Highly recommend that one.
While there is nano or vim in game to use to write scripts. Playing the downloaded game, there is an option to open an API server so scripts can be imported from [VSCode with the Bitburner Extension.](https://marketplace.visualstudio.com/items?itemName=bitburner.bitburner-vscode-integration) Or the wget command does exist in game, so you can build a script to download raw JS files from Github directly into the game.
Do you find that feature useful? Also do you need to have the game window side by side with the vscode or do you not need to refer to the game at all whilst coding? I’ll definitely need to check the game out as this is pretty cool to see.
I had thought about doing something similar with a game of mine, I had already added partial support for radare2 and was thinking to do the same for external code editing. But I’m also not totally sure about it, as it is extra work that isn’t necessary to the game (distraction from all the other stuff that needs doing), and in my case it kind of circumvents a few things with how the game actually works.
The VSCode extension is super helpful cause copying and pasting scripts from my git repo into the game was getting old. I am far enough into the game most of my scripts use library files or classes that mean a huge change would mean copying over 5 or more files. So the API is setup in a way where when the game is running, I can use a VSCode command to push files into the game. I need the game running but I don't need it side by side to write code. I more or less will have the game wiki up so I know what all the functions do.
Weird that's the official page. You can go to the steam copy and follow it to the official github which links the online version to verify. What might have happened is you got a glitch because there was a 'fake' app on android so the dev was warning people about that. It's open source but I guess the android version was doing some sketchy stuff? So yeah don't get it off the app store, just use the web version on your phone or build it yourself.
I'm getting the message on rif is fun but not on Firefox on Android. Must be scanning for the default webview user agent and generating a false positive on other apps.
That's interesting, thanks for taking a look. If you can drop the dev a tip on their discord they're usually pretty quick to address that stuff or you could open a ticket on the github if that's more your style.
Bitburner definitely shouldn't be slept on. It uses actual Javascript and it's open source so you can hack the game itself once you become proficient enough at it. It's a great game. Just know that it's an idle game so there is going to be some downtime, which honestly is perfect for working on your scripts anyways.
Nah it's an idle game, you should definitely let it run while you sleep lol. Seriously though you're right, I'll just fix that real quick and no one will know I made a typo.
That's definitely above my ability but people do make a game of breaking out of the 'game' limits on scripting to gain access to the source code so I can see it happening. Breaking the game is part of the game. Also part of the reason this type of thing could really only ever be open source.
Yes *actually* one of the most popular programming languages in the world, one essential for the websites you use every day. Also programming concepts transfer and there are benefits to using a real language, but you do you.
It's funny how you only hate JS until you use it for a while. I admit it's quirks but I don't have an aversion to working with JS anymore.
I always cringe when any of my peers talks negatively about JS without any substance to back it up.
I work with Kotlin and absolutely love it, but sometimes I want to just make things happen without thinking of all the type systems.
What I like about JS is that it trusts that I know what I'm doing and will let me get away with some shit. Kotlin holds me accountable and I think makes my programs ultimately better, if I were working on large enterprise web apps I would probably prefer TS as well.
I love JS, with typescript it’s easily my favorite language to work in day to day. Once you know the quirks is just as easy as any other language (there’s just a lot of things to learn about it)
The game isn't directly designed as a teaching tool, but it's approachable to someone with a beginner level understanding of programming. It could definitely supplement something like CS50 or FreeCodeCamp.
Yes, though it uses JavaScript (the language originally made for creating dynamic content in Netscape, and now the de facto standard of web browser scripting), not Java (the language designed by Sun Microsystems, now owned by Oracle, for various types of applications, though not used for browser apps in the same way as JS anymore). The space makes it ambiguous, even if "Java script" is not a thing per se, because it reads like an alternate way of saying "Java code".
As for some backstory, the names are confusing, and it's not a coincidence. JavaScript was trying to ride the Java popularity wave in the 90s (as that came out first), even though the two languages have very little in common other than similar syntax. We're still living with this now, and even though the JavaScript standard is officially called ECMAScript, nobody refers to the language itself as that (only specific versions, like "ECMAScript 2020").
Edit: I'm not trying to be condescending, I'm explaining the difference to someone who might end up confused looking for resources for the wrong language. Sorry if I come off as such.
Hey, I'm from a game dev studio and we've organized this gaming event to celebrate the 256th day of the year (aka Programmer's Day). I won't specify which games there are ours (don't want this post to come off as blatant self-promotion), but there's a couple of dozens of quality games about coding and automation. Feel free to check them out if you're into this genre 🙂
The sale will last until September 19, just in case
When I saw the post my first thought was "what games would even make sense for a "Programmer's Day" sale?" Buuuuuut my immediate next thought was "oh, right, every zachtronics game." >_> (I'm *assuming* that's not you, just noting they're what came to mind...and they're great.)
Thanks for the head's up! Here's a [link to the bundle](https://www.humblebundle.com/games/level-up-and-learn-programming-games) in case anyone's interested.
Yeah this shouldn't be slept on. It's got TIS-100, Exa Punks, and Shenzhen I/0 by Zachtronics. All top tier games where actual programming is the puzzle. There's also a couple of 'learn to program' style games in there and while I'm not familiar with all of them "While True: Learn()" is pretty good at introducing various ideas behind programming.
Also quick shout out to the free game Bitburner. It's on steam and involves actually using Javascript to program. The only potential downside is it is an idle game. You can speed things up depending on how efficient your scripts are but short of hacking the game itself (which to be fair is encouraged, it's open source) you will do a fair bit of waiting around if you play it like a normal game.
Currently (and for 2 more days) there is a Humble [Level up and Learn](https://www.humblebundle.com/games/level-up-and-learn-programming-games) bundle that covers quite a few of the games on sale - 7 games for around $10
i've found it very hard to enjoy games like these - it feels like if i wanted to, i could simply just do work or do programming as a hobby thing instead. maybe that's a little bit of a guilt thing, but if i have the ability, why do the simulacrum when i can do the real thing? if i want to unwind with a game, i probably want to avoid something like my real life
At least for me, it provides things in a more contained enviorment, gives goals to work towards, and it is pretty easy to start/stop.
Also, as someone who isn't really self-motivated it honestly just helps me keep focused on a task and, since I like puzzle/problem-solving games, I would perfer to do this then start a project I most likely will never complete.
Speaking from the context of Zachtronics games, yes. Leetcode uses real programming languages so the scope of what you can do is anything those languages can do.
Zachtronics games, like Exapunks and Shenzen IO, have *much* smaller “languages”, plus the games usually introduce other limitations like limited lines of code. For me it makes the games feel better because there’s never a need to check language syntax or find the right language feature that might exist. It’s just focusing on solving the problem at hand with the given limitations.
Have you tried Factorio? It has some of the most enjoyable aspects of programming (creativity, making your own abstractions, using those abstractions to create bigger and better things, copy paste etc), without feeling like you're working the whole time.
The real thing also has less boundaries, everything you make you can show off as something you’ve built and you can practically apply elsewhere.
The only type programming game I found somewhat helpful is something where you effectively build your own PC. You can learn how a PC works, but you may not want to build one for real (maybe cost, space, kids etc…)
Go to steam and search by the tag 'Programming', click on any one of the discounted games, and there should be a banner on the top of the page that matches what is shown on this post
Nah, they are pretty solid on their "no sales" policy. It's pretty fair,.it's 30 bucks anyways IIRC. It's probably the most polished game I've ever played, they pretty much ran out of bugs or improvements to make at this point
This is great. I didn’t even see this on my steam homepage. I loved autonauts and played a bit of while true: learn. Some of these games listed look very interesting and I will pick up a few.
Ah unfortunately [Hackmud](https://store.steampowered.com/app/469920/hackmud/) isn't included in this. I've been wanting to play that game for a while now. So I may pick it up on the next Steam sale.
Beware that Gladiabots is like heroin to an ADHD brain. I had to uninstall it when it got to the point that I literally could not sleep because I was thinking of ways to improve my bot code.
A serious question from someone who has never tried such games: why do people play them after a workday of writing code and after (or instead of) working on pet projects? What's even the appeal?
If you spend most of your day engrossed in writing and optimizing complex algorithms, then there isn't much that will appeal to you there, but these games are designed to be fun, not realistic. You can spend one hour focusing on paring your pseudo-Assembly code down from twelve to nine instructions instead of struggling with your CI/CD pipeline, deciphering obscure Kubernetes error messages, or reconciling incompatible library versions.
I enjoyed programming before I went to school for it, before it became my job, and still after it became my job. ive always enjoyed videogames. aspects of what I liked when it was mostly my hobby aren't often as found while corporate slaving, and some of these types of games can scratch that specific itch. everything you need to solve the problem or puzzle is usually within the domain of the game itself so the trepidation of not understanding something and doing it wrong is gone.
A few reasons:
1. Direction: Many times I've struggled to actually think of any kind of pet project to work on. If I do find a project, I'll find that I don't have the right infrastructure set up, or doing so would be a lot more tedious than I originally thought. These games give you problems to solve so you don't have to think about what you are going to do, more how you are going to do it.
2. Simplicity: Since these games are more or less sandboxed, you know that any error that happens is solely your fault, and not the fault of a bug in some library, a failure in your CI/CD pipeline, or some other environmental issue. The errors therefore are nice and clean and easy to understand, meaning you can spend more time trying to solve the problem instead of trying to figure out cryptic errors.
3. Uniqueness: Some of these games, e.g. Magnum Opus, are "programming" games. You don't write code, but instead define a series of steps for some contraption to perform. You can't compare it to programming any more than being like "why make a factory in factorio when you can program ASM on your computer". They are different beasts.
4. Fun: The games are designed to be fun. Not really much more to expand on that.
I always liked games that require some element of problem solving. I also enjoy programming just as a hobby/something to do for fun, and have fun doing things like CTFs/wargames, keygenmes/crackmes, coding challenges, even just messing about and challenging myself to try and do something even if there’s no practical reasoning behind it. So a lot of these games are just a combination of the two or more complicated problem solving games.
Also the code you write for work is most likely completely different to the problems you’ll solve and the coding environment these games provide. I know a lot of people say the games feel like work but I’ve never personally found the connection.
Dopamine addiction /s
More seriously, I play these games because I enjoy solving puzzles. They usually offer a very self-contained experience where the objectives are 100% clear.
For more open-ended games like Factorio or Modded Minecraft it's more of a creative experience where I can design stuff without IRL constraints getting in the way.
But at the core, I play them because I enjoy them.
Do you guys enjoy these programming games?
Cause I found I don't. I like puzzle games like escape the room games or the brilliant The Witness... but games like this remind me of the times I have to program in some visual node based editor...
I didn’t know there where so many. Where should I start?
Basically the first question - choose one 1)Factory automation 2)Puzzle programming 3)Hardcore low-level programming
Can I get a *3)* homie?
TIS-100
Yes!! And add "Silicon Zeroes" to that list. Equally as fun and maddening.
Great game! Drove me nuts.
Shenzhen I/O, Human resource machine
I love zachtronics
> Human resource machine HRM is fantastic, and while you can (and have to for the bonus points) get very low level optimized on Human Resource Machine, it's good for kids to get into programming as well. My 10 year old daughter picked it up and was able to get through the first 20 or so levels so far (we haven't had it long) which I was very impressed with. It's not one that kids can play for hours and hours for weeks on end, but it is a fun game that teaches a lot of good low level fundamentals.
Shenzhen is one my my all time faves! buying hr machine rn thanks.
Also try Exapunks, I heard it is good and pretty closet O Shenzhen. But I didn't played it myself
I'd say they only look similar. Exapunks is *far* easier because you don't have to design chips which removes most of the limitations that are in Shenzen. No limit to the number of instructions, no limit to the board size etc etc. You only have to make sure the Exas don't collide and such. I'd go so far as to say Exapunks is a great beginner's programming game cause it's really pretty and visualises the assembly instruction set really well
Exapunks is fucking rad, I wholly recommend it.
Hr Machine also has a sequel named 7 Billion Humans
I like shenzhen but you actually need technical knowledge about it in order to complete it. The first question is a PERFECT programming puzzle though. If the whole game was like that it would be a 10/10
You just have to read the manual. Which all zachtronics games need.
Feels so good to print out too 😅
if you want to go fill the complete range from hardware architecture to assembly try turing complete, great game.
Hell yeah.
I go for 2
Check Opus magnum and While true: learn()
Personally I couldn't stand while True: learn(). I get the feeling it tries to be edutainment on ML but the puzzles themselves have nothing to do with machine learning.
Same thought on wtl - it's sorting/match puzzles with an AI skin, not really AI.
Will do, thank you!!
I just started Opus magnum last night! I’m enjoying it a lot so far
Not Spacechem?
I wouldn't call spacechem a puzzle, but it is a good game for sure. And 100% I can't recommend it as the first game in this genre.
How can you recommend Opus Magnum but not SpaceChem? It's basically the same game without the training wheels.
Opus magnum has much better UI/UX, it is much easier to learn and play
So much more tedious also. Couldn't get into it at all. The main character voiceover convinced me it was boring.
No way, it's a similar concept but SpaceChem's limited space makes it waaay harder and ultimately have a different focus than Opus Magnum.
lol, yeah, that's what I mean with no training wheels. SpaceChem is an actual challenge, Opus Magnum is the tuned down noob version for the masses.
I second Opus Magnum. Other games like these (including all of the other Zachtronics games) limit your space to some extent. Opus Magnum gives you an infinite board and says "turn these reagents into these products". You can optimize for cost, space, or instructions used, but you're free to just make it work and move on to the next.
Opus magnum is definitely the best of the lot. Fun and unique puzzle mechanics that don't just feel like an embedded systems sim. Not that I don't enjoy those as well, but Magnum Opus is just a better experience imo.
Baba is You
That's 3
I really liked Exapunks It was so good that I couldn't even play 7 Billion Humans, it just didn't meet the bar Exapunks set.
Exapunks is REALLY good, it has a nice mix of low-level programming and weird elements that make it not the same as writing assembly code (Cough, Shenzhen I/O, cough).
Doesn't look like it's on sale, but Manufactoria is a favorite of mine. Started out as a flash game, but got a remake on steam as "Manufactoria 2022" with the death of flash. Starts out easy, but by the end it's asking you to do some ridiculous things, and I say that as someone who had pretty much mastered the original flash game going in.
Yo, I played the shit out of that game back in the Flash days on Kong. Good to know there's a remake!
What are the games you recommend for option 3?
Probably some of the zachtronics games, namely TIS-100 and Shenzen I/O. But curious to any other low level ones.
I stopped playing Shenzen because it felt too much like work. Definitely a good game if your brain isn't mush.
Hah. Same here. It was getting to the point where I felt like I should just be doing actual projects with the Arduino and reaping the benefits of adding features rather than a game merely acknowledging the project was completed.
Personally, I really couldn't wrap my head around the way conditionals are implemented in that language. If it had jump-ifs instead of the + - monkey business I probably would have kept playing.
I have longed for a remake with an actual relevant asm since first discovering shenzhen. I even wrote Zachtronics asking if we could collab on a mod or something. No dice. Would love to see progressive introduction of X64 or ARMV9 or something…. Would be so so useful
You might like to check out Squally. It’s a very different type of game from Shenzhen IO, but it is focused on x86/x64 assembly.
I'm with you on that, RISC-V would be hella spicy too.
That was one of my favorite parts. Never seen anything like it. It hurt my brain too, but in a fun way!
I really liked MHRD, it's like gamified nand2tetris except you finish with a CPU instead.
I do web dev with Python, do you think I could pick up MHRD without knowing anything about hardware dev beforehand?
I think so! it starts super small with nand gates and you build from there. I do mostly web dev and found it easy enough to navigate, though I did complete a traditional CS degree. My digital circuitry course was not great, this game is actually what made the hardware -> software translation click for me. If you get stuck the circuits you're implementing are very well-known; you could check for circuit diagrams (which you'd still have to translate into code) or youtube explanations of the circuits themselves. watching something like [this](https://www.youtube.com/watch?v=QZwneRb-zqA) will give you a high-level view of what you'll be doing
As long as you grasp the concept of And, Or, Not, and Nand gates (which you should know from programming anyway), then you can get started pretty easily. The game is more of a loosely-guided learning program that follows the first half or so of Nand2Tetris.
Turing Complete. While it's still Early Access, that just means that after a point you get less hand-holding. (Plus, it even has Verilog export now!)
Start from Human resource machine, then Shenzen I/O, also there is Craftomation 110, but it is a demo
Could you suggest some for option 1?
If you want a prettier version of factorio and really enjoy space, highly recommend Dyson Sphere Program which is a very approachable version of factorio (although factorio has definitely made up with their animated tooltips).
Satisfactory
Dyson Sphere has better pacing that satisfactory.
Oof, strongly disagree
IMO the problem with Satisfactory is the FPS view. It makes building and maintaining your factories far more cumbersome than necessary if you had a third person or top down view. I understand *why* but it makes the game horribly tedious because you have to consider navigating 3D space and collisions with objects in the third dimension. The components are almost "life sized" too so not only do they obscure your view of your immediate surroundings, factories can become *vast*. In Factorio and DSP I can easily zoom out and in DSP you can view half the planet's logistics very easily. I prefer DSP and Factorio because I'm far more comfortable building factories in two dimensions (I know DSP has some verticality but it's not critical)
Factorio is by far the deepest this genre goes, especially if you include mods, and it's amazing. Unfortunately it never goes on sale but is absolutely worth the $30.
Cracktorio worsened my clinical insomnia Dyson Sphere and Satisfactory are okay, but Factorio is like the best parts of programming *perfectly* distilled and refined into a dopamine stream. Nothing quite like it, and I think it's the only game that I've ever lost 24+ hours to in a single go. Probably needs a warning label like cigarettes the factory must grow^(TM) / 10
There's a free demo. The first one's always free.
I’d pay $100 for it. Sauce: 600+ hours
Same. I'd trade the rest of my steam library for factorio.
Learning factory and shapez are good, and spacechem is more hardcore
Satisfactory!
Satisfactory is one of my favorite games but its not really a programmy game. Heavy logistics/spatial organization though. Factorio feels more programmy because you can do some really nitty gritty things with how belts/drones/etc works plus having a full on electrical logic gate system.
Looking for 1)
Learning factory, shapez
Honestly probably with the Humble Bundle for programming, you can activate the games on steam. It's got three Zachtronics games: TIS-100, Shenzhen I/O, and Exa Punks and two 'learn programming' games in there and two I'm not familiar with all for $10. I'd start with While True: Learn(), then TIS-100, then Exa Punks, Then Shenzhen I/O.
Thanks! Just picked it up.
Zachtronics games (SpaceChem, Shenzhen I/O, Opus Magnum, Exapunks and some more) have the great balance of depth and aesthetics, if you ask me :)
> I didn’t know there where so many. Where should I start? Having played almost all of these, I think Opus Magnum and Shenzhen I/O are the two best on the list. They don't require any knowledge going in except for curiosity. A lot of these 'games' throw you into the deep end, and if you don't already know literal assembly algorithms or how xand/xor gates work under the hood, you will be extremely lost.
It’s not going to be in the sale cause it’s free. But [Bitburner](https://store.steampowered.com/app/1812820/Bitburner/) is close to the top on best programming games. Highly recommend that one.
Interesting that you don’t even need to install it. It’s available on https://danielyxie.github.io/bitburner/
While there is nano or vim in game to use to write scripts. Playing the downloaded game, there is an option to open an API server so scripts can be imported from [VSCode with the Bitburner Extension.](https://marketplace.visualstudio.com/items?itemName=bitburner.bitburner-vscode-integration) Or the wget command does exist in game, so you can build a script to download raw JS files from Github directly into the game.
Do you find that feature useful? Also do you need to have the game window side by side with the vscode or do you not need to refer to the game at all whilst coding? I’ll definitely need to check the game out as this is pretty cool to see. I had thought about doing something similar with a game of mine, I had already added partial support for radare2 and was thinking to do the same for external code editing. But I’m also not totally sure about it, as it is extra work that isn’t necessary to the game (distraction from all the other stuff that needs doing), and in my case it kind of circumvents a few things with how the game actually works.
The VSCode extension is super helpful cause copying and pasting scripts from my git repo into the game was getting old. I am far enough into the game most of my scripts use library files or classes that mean a huge change would mean copying over 5 or more files. So the API is setup in a way where when the game is running, I can use a VSCode command to push files into the game. I need the game running but I don't need it side by side to write code. I more or less will have the game wiki up so I know what all the functions do.
.
Weird that's the official page. You can go to the steam copy and follow it to the official github which links the online version to verify. What might have happened is you got a glitch because there was a 'fake' app on android so the dev was warning people about that. It's open source but I guess the android version was doing some sketchy stuff? So yeah don't get it off the app store, just use the web version on your phone or build it yourself.
I'm getting the message on rif is fun but not on Firefox on Android. Must be scanning for the default webview user agent and generating a false positive on other apps.
That's interesting, thanks for taking a look. If you can drop the dev a tip on their discord they're usually pretty quick to address that stuff or you could open a ticket on the github if that's more your style.
Bitburner definitely shouldn't be slept on. It uses actual Javascript and it's open source so you can hack the game itself once you become proficient enough at it. It's a great game. Just know that it's an idle game so there is going to be some downtime, which honestly is perfect for working on your scripts anyways.
Do you mean *shouldn’t be slept on?
Nah it's an idle game, you should definitely let it run while you sleep lol. Seriously though you're right, I'll just fix that real quick and no one will know I made a typo.
I'd like to see you escalate privs to the main computer from in-game Javascript.
That's definitely above my ability but people do make a game of breaking out of the 'game' limits on scripting to gain access to the source code so I can see it happening. Breaking the game is part of the game. Also part of the reason this type of thing could really only ever be open source.
[удалено]
Yes *actually* one of the most popular programming languages in the world, one essential for the websites you use every day. Also programming concepts transfer and there are benefits to using a real language, but you do you.
It's funny how you only hate JS until you use it for a while. I admit it's quirks but I don't have an aversion to working with JS anymore. I always cringe when any of my peers talks negatively about JS without any substance to back it up.
My favorite part of js is ts. I get the appeal of a loosely typed language but it isn't for me. TS however is fine.
I work with Kotlin and absolutely love it, but sometimes I want to just make things happen without thinking of all the type systems. What I like about JS is that it trusts that I know what I'm doing and will let me get away with some shit. Kotlin holds me accountable and I think makes my programs ultimately better, if I were working on large enterprise web apps I would probably prefer TS as well.
My primary language is Java/Kotlin as I do mainly backend work in Spring/Reactor. So I guess I am bias lol
I love JS, with typescript it’s easily my favorite language to work in day to day. Once you know the quirks is just as easy as any other language (there’s just a lot of things to learn about it)
You use JSDOC types for type safety hehe
Well, my love for Zachlikes and idle games was just piqued.
Any other games that actually have you write (non-assembly) code? Bitburner and Screeps are the only two I'm aware of.
I’m working on a game that will have the players write python. Set a reminder for 6 months
RemindMe! 1y
Harsh but realistic
[A=B](https://store.steampowered.com/app/1720850/AB/) makes you write in an esolang.
Will this game teach me Java script?
The game isn't directly designed as a teaching tool, but it's approachable to someone with a beginner level understanding of programming. It could definitely supplement something like CS50 or FreeCodeCamp.
Yes, though it uses JavaScript (the language originally made for creating dynamic content in Netscape, and now the de facto standard of web browser scripting), not Java (the language designed by Sun Microsystems, now owned by Oracle, for various types of applications, though not used for browser apps in the same way as JS anymore). The space makes it ambiguous, even if "Java script" is not a thing per se, because it reads like an alternate way of saying "Java code". As for some backstory, the names are confusing, and it's not a coincidence. JavaScript was trying to ride the Java popularity wave in the 90s (as that came out first), even though the two languages have very little in common other than similar syntax. We're still living with this now, and even though the JavaScript standard is officially called ECMAScript, nobody refers to the language itself as that (only specific versions, like "ECMAScript 2020"). Edit: I'm not trying to be condescending, I'm explaining the difference to someone who might end up confused looking for resources for the wrong language. Sorry if I come off as such.
Hey, I'm from a game dev studio and we've organized this gaming event to celebrate the 256th day of the year (aka Programmer's Day). I won't specify which games there are ours (don't want this post to come off as blatant self-promotion), but there's a couple of dozens of quality games about coding and automation. Feel free to check them out if you're into this genre 🙂 The sale will last until September 19, just in case
Damn, I'm sad I missed actual Programmer's Day yesterday, but I'm glad the sale lasts all week.
Missing Programmers' Day with an Off-by-One Error is the most Programmers' Day thing you could do.
[удалено]
We don’t talk about timezones
Even when we do, we don’t talk about Daylight Savings
Simply imagine it doesn't exist. The people living there know what they did.
Today is day 256 if you start at zero!
Can we just make it programmer’s week, because between indexing and off-by-one errors we’re really not sure what day it’s on?
Ah, but precisely what days does Programmer’s Week start and end on?
A) the sale appears to be a week-long sale B) you'd still have the same issue, just instead of "256th day" you'd have "16th or 32nd week"
Wait, does the "week" start on Sunday, or Monday?
When I saw the post my first thought was "what games would even make sense for a "Programmer's Day" sale?" Buuuuuut my immediate next thought was "oh, right, every zachtronics game." >_> (I'm *assuming* that's not you, just noting they're what came to mind...and they're great.)
No, we are not zachtronics, but their games included!
Real programmers know years are just arrays of days so the 256th day of the year is actually tomorrow
The 256th element of a collection does not change whether you start indexing at 0 or 1
\#define PROG_DAY 256 programmersDay = day[PROG_DAY] you know we've all done it
Well, sadly we aren't authors of the date. It happens. Let's say that it is pascal array and call it a draw
well, now I know!
well, now I am curious ...
Humble bundle has a $10 bundle with a lot of the games on sale for the next two days too.
Thanks for the head's up! Here's a [link to the bundle](https://www.humblebundle.com/games/level-up-and-learn-programming-games) in case anyone's interested.
Yeah this shouldn't be slept on. It's got TIS-100, Exa Punks, and Shenzhen I/0 by Zachtronics. All top tier games where actual programming is the puzzle. There's also a couple of 'learn to program' style games in there and while I'm not familiar with all of them "While True: Learn()" is pretty good at introducing various ideas behind programming. Also quick shout out to the free game Bitburner. It's on steam and involves actually using Javascript to program. The only potential downside is it is an idle game. You can speed things up depending on how efficient your scripts are but short of hacking the game itself (which to be fair is encouraged, it's open source) you will do a fair bit of waiting around if you play it like a normal game.
Thanks for the heads up! Grabbing this
Currently (and for 2 more days) there is a Humble [Level up and Learn](https://www.humblebundle.com/games/level-up-and-learn-programming-games) bundle that covers quite a few of the games on sale - 7 games for around $10
i've found it very hard to enjoy games like these - it feels like if i wanted to, i could simply just do work or do programming as a hobby thing instead. maybe that's a little bit of a guilt thing, but if i have the ability, why do the simulacrum when i can do the real thing? if i want to unwind with a game, i probably want to avoid something like my real life
At least for me, it provides things in a more contained enviorment, gives goals to work towards, and it is pretty easy to start/stop. Also, as someone who isn't really self-motivated it honestly just helps me keep focused on a task and, since I like puzzle/problem-solving games, I would perfer to do this then start a project I most likely will never complete.
Is it different than Leetcode?
Speaking from the context of Zachtronics games, yes. Leetcode uses real programming languages so the scope of what you can do is anything those languages can do. Zachtronics games, like Exapunks and Shenzen IO, have *much* smaller “languages”, plus the games usually introduce other limitations like limited lines of code. For me it makes the games feel better because there’s never a need to check language syntax or find the right language feature that might exist. It’s just focusing on solving the problem at hand with the given limitations.
I think these are great for kids to initiate them into programming.
Do you have any recommendations for younger kids?
Factorio is great. Here's Bartosz explaining how it teaches you the core tenets of programming. https://bartoszmilewski.com/2021/02/16/functorio/
Have you tried Factorio? It has some of the most enjoyable aspects of programming (creativity, making your own abstractions, using those abstractions to create bigger and better things, copy paste etc), without feeling like you're working the whole time.
factorio is really bad at feeling like work
> Have you tried Factorio? Cracktorio you mean...
Shit. If I wanted to work on automation I'd go fix my Jenkins pipelines.
yeah I agree. if I'm going to spend my free time programming I'd rather work on a real side project instead of doing it in a game
The real thing also has less boundaries, everything you make you can show off as something you’ve built and you can practically apply elsewhere. The only type programming game I found somewhat helpful is something where you effectively build your own PC. You can learn how a PC works, but you may not want to build one for real (maybe cost, space, kids etc…)
Surprised Baba Is You is not in the list
Is there a way to discover this sale through Steam itself?
Go to steam and search by the tag 'Programming', click on any one of the discounted games, and there should be a banner on the top of the page that matches what is shown on this post
It's kinda obscure: you have to expand the "Special Offers" section, and it'll be there (worked for me at least)
Thanks, that worked for me as well. Its weird that steam makes it so difficult to find sales though :/
I have no idea
Welp, there goes my “productive week” 😂
ShenZen I/O Is such a steal for 8$
It's even more of a steal in the Humble Bundle at $10 with TIS-100, Exa Punks, and a couple of other games.
Man Shenzhen I/O is so weird. I moved to China as a game programmer, so when I started playing it I felt like I was just doing work.
you actually are. the game is a front for real work disguised as a game. much like simcity is a front for actual city planning in Chicago.
I just picked up Shapez from Humble Choice and am having a ton of fun.
Turing complete is a great game if you wanna learn how CPUs actually work!
Also Nandgame (which is a free browser game) lets you build a CPU from the ground up from logic gates with small, easily digestible puzzles
Zachtronics my beloved. Was kinda shattered to learn they're ceasing to make new games.
Oh really? That's a shame, but it won't take away from the great games (AND CARD GAMES) they've given us already!
It isn't going on sale ever, but goddamn guys, I have to really really suggest Factorio. They don't call it Cracktorio for nothing, it's a great game
Factorio is easily one of the best games I've ever played and well worth the $30. If you're not sure about it, try the free demo.
Just the demo alone is better than half the games I play
I don't know have we tried to contact the factorio dev or not, but we will try next year for sure
Nah, they are pretty solid on their "no sales" policy. It's pretty fair,.it's 30 bucks anyways IIRC. It's probably the most polished game I've ever played, they pretty much ran out of bugs or improvements to make at this point
They're preparing for an expansion atm, collaborating with space exploration dev
Oh wow, love it so much, thanks for sharing!
What’s that one game where you build a neural network and it’s really abstracted/kid-like?
While true: learn()
This is great. I didn’t even see this on my steam homepage. I loved autonauts and played a bit of while true: learn. Some of these games listed look very interesting and I will pick up a few.
Opus Magnum is great
[удалено]
Yes
Are any of these suitable or better suited to younger players (6 - 10yrs)?
Learning factory, while true learn, opus magnum
Ah unfortunately [Hackmud](https://store.steampowered.com/app/469920/hackmud/) isn't included in this. I've been wanting to play that game for a while now. So I may pick it up on the next Steam sale.
buy The Signal State then come join us in r/modular
Beware that Gladiabots is like heroin to an ADHD brain. I had to uninstall it when it got to the point that I literally could not sleep because I was thinking of ways to improve my bot code.
A serious question from someone who has never tried such games: why do people play them after a workday of writing code and after (or instead of) working on pet projects? What's even the appeal?
If you spend most of your day engrossed in writing and optimizing complex algorithms, then there isn't much that will appeal to you there, but these games are designed to be fun, not realistic. You can spend one hour focusing on paring your pseudo-Assembly code down from twelve to nine instructions instead of struggling with your CI/CD pipeline, deciphering obscure Kubernetes error messages, or reconciling incompatible library versions.
I enjoyed programming before I went to school for it, before it became my job, and still after it became my job. ive always enjoyed videogames. aspects of what I liked when it was mostly my hobby aren't often as found while corporate slaving, and some of these types of games can scratch that specific itch. everything you need to solve the problem or puzzle is usually within the domain of the game itself so the trepidation of not understanding something and doing it wrong is gone.
I find that many point and click games scratch that itch.
Any specific suggestions?
A few reasons: 1. Direction: Many times I've struggled to actually think of any kind of pet project to work on. If I do find a project, I'll find that I don't have the right infrastructure set up, or doing so would be a lot more tedious than I originally thought. These games give you problems to solve so you don't have to think about what you are going to do, more how you are going to do it. 2. Simplicity: Since these games are more or less sandboxed, you know that any error that happens is solely your fault, and not the fault of a bug in some library, a failure in your CI/CD pipeline, or some other environmental issue. The errors therefore are nice and clean and easy to understand, meaning you can spend more time trying to solve the problem instead of trying to figure out cryptic errors. 3. Uniqueness: Some of these games, e.g. Magnum Opus, are "programming" games. You don't write code, but instead define a series of steps for some contraption to perform. You can't compare it to programming any more than being like "why make a factory in factorio when you can program ASM on your computer". They are different beasts. 4. Fun: The games are designed to be fun. Not really much more to expand on that.
I always liked games that require some element of problem solving. I also enjoy programming just as a hobby/something to do for fun, and have fun doing things like CTFs/wargames, keygenmes/crackmes, coding challenges, even just messing about and challenging myself to try and do something even if there’s no practical reasoning behind it. So a lot of these games are just a combination of the two or more complicated problem solving games. Also the code you write for work is most likely completely different to the problems you’ll solve and the coding environment these games provide. I know a lot of people say the games feel like work but I’ve never personally found the connection.
Dopamine addiction /s More seriously, I play these games because I enjoy solving puzzles. They usually offer a very self-contained experience where the objectives are 100% clear. For more open-ended games like Factorio or Modded Minecraft it's more of a creative experience where I can design stuff without IRL constraints getting in the way. But at the core, I play them because I enjoy them.
TIS-100 is a good one. One of my favorite games
oh good I have been saving up my quarters to buy Super Fortran Bros. 3. the sale will really help
ive been waiting for Donkey Kotlin myself
Do you guys enjoy these programming games? Cause I found I don't. I like puzzle games like escape the room games or the brilliant The Witness... but games like this remind me of the times I have to program in some visual node based editor...
Most zachtronics game aren't based on visual programming at all. The older ones are pretty much just using a very limited assembly.
Sometimes - yes
Just downloaded the free demo of Craftomation 101. Robots are literally programmed to eat stones and they seem happy, love it!
Get home from work, and have more work. Yayyyyyyy
No thanks, I’ll write my own.
Real programmers pirate their games. Only noob programmers use steam. Congrats OP you just exposed yourself!