
11
Players in Game
$17.99
JOY OF PROGRAMMING - Software Engineering Simulator Reviews
Use real Python code to automate machines, robots, drones and more: Program self-driving vehicles; crack passwords; apply machine learning for predictions; automate logistics; use image processing to guide missiles. Gain real coding skills and solve exciting bite-sized programming challenges.
App ID | 2216770 |
App Type | GAME |
Developers | Prof. Scherer |
Publishers | PlayWay S.A. |
Categories | Single-player, Steam Achievements, Steam Cloud, Steam Leaderboards, Stats, Steam Workshop, Includes level editor |
Genres | Indie, Strategy, Simulation, Early Access |
Release Date | 30 Jan, 2024 |
Platforms | Windows |
Supported Languages | English, French, German, Spanish - Spain, Simplified Chinese, Russian |

1 Total Reviews
0 Positive Reviews
1 Negative Reviews
Negative Score
JOY OF PROGRAMMING - Software Engineering Simulator has garnered a total of 1 reviews, with 0 positive reviews and 1 negative reviews, resulting in a ‘Negative’ overall score.
Recent Steam Reviews
This section displays the 10 most recent Steam reviews for the game, showcasing a mix of player experiences and sentiments. Each review summary includes the total playtime along with the number of thumbs-up and thumbs-down reactions, clearly indicating the community's feedback
Playtime:
227 minutes
If you love robotics, or microcontroller programming, you're gonna love this game. Additional, you can practice Python while you're playing
👍 : 1 |
😃 : 0
Positive
Playtime:
21 minutes
Interesting concept. I have considerable experience with python but still found the first exercise a bit obtuse so it might be confusing for a beginner. But the instructions when followed seem to work (lead to advancement).
I noticed in the initial exercises that error messages are not emitted for invalid inputs for example, negative speeds (yes, I try to break things). In the second exercise, a negative speed actually fulfills the stated objective (barrel falls onto floor) but no credit is given. That could be a disincentive for those new to python or programming.
Still I'm certainly going to work with it a bit more, since I believe it could ultimately prove to be interesting. At this point I do recommend this as an interesting alternative to either puzzle or FPS games :)
👍 : 1 |
😃 : 0
Positive
Playtime:
351 minutes
I really wanted to like this. I like the concept of slapping a Python interpreter into a game and using actual code to manipulate the objects in the game to solve puzzles.
But, I played for a few hours (repeated a few puzzles because I can't properly kill the game on my laptop to trigger a cloud save sync), and I'm just not sure who this is meant for.
I don't see how this is useful for engineers. Maybe I didn't get deep enough into it. But, one of the beautiful parts about programming is that you can usually get set up and tinker with random shit that's new to you without investing any monetary cost. Anyone who wants to learn a real game engine can just download Unreal or Unity, spend a few hours on free online tutorials, and just go build something or follow a dirt-cheap Udemy course. So, maybe the purpose is to just screw around and have fun. For me, the general jank of the game didn't make it very enjoyable.
For non-engineers who actually want to learn programming, I don't feel like this is a good introduction. Again, I think there's a very cool concept here. By writing Python within the actual game, it lets players focus on the act of writing code (and the effects of that code) without having to deal with the mental overload of dealing with a full game engine. And while the C family of languages is more valuable in the game space, Python has always felt like the best starter for people who are new to programming.
Problem with recommending this to the latter group is that I'm kinda baffled by the execution. Yes, there are a few levels where you can manipulate objects by clicking them and setting parameters on a drop-down. That's good. It leads naturally to manipulating those objects in code. The first few levels ease you into things through that mechanism. Once you start having to write code, they explain basic concepts like "if" statements and "for" loops. There are basic details left out (like the fact that Python is strict about its whitespace), but the example code gives enough context for a newbie to deal with those.
I feel like the game loses teaching value after that. It moves to puzzles where you have to do vector math. The game doesn't even pretend to teach you what a vector even is. You just end up in a puzzle that needs it. A newbie could do some googling and figure it out eventually. But at that point, I feel like you'd be better suited to just do an actual Python tutorial. There's some neat ones out there that teach this stuff far better.
Getting back to the topic of jank, the vector part is especially egregious to me. The game does a bad job of informing you what the axes and coordinate systems are are. I click on a conveyor belt for the first time. I know if I input a positive number for the speed, it will go forward. If I input a negative number, it will go backward. Why can't I see which direction is which? I just have to guess via trial and error. Eventually, I get to a puzzle with more belts. At that point, I can see the awfully rendered direction arrows and know which is which. But, I needed to see those in the first conveyer belt puzzle. Visual polish would go a long way here.
That same problem carries on when you're trying to position objects in 3D. Some functions need input based on absolute positions. Other functions only take inputs on relative positions. And the game's documentation makes zero effort to explain what "relative" means for a given object. It just boils down to trial-and-error to figure out what the inputs are actually supposed to be.
I tapped out at that point. The ability to visualize coordinate frames and positional grids are basic QOL features that any game engine would be crucified for excluding. To be clear, the game *does* have some of that information. But its rendered poorly when it does exist. Add that to bugs and some further jank in the camera, UI, and physics, and I just wasn't having fun.
I didn't get far, so maybe it gets better later. But I can't see who I would recommend this to.
👍 : 9 |
😃 : 1
Negative
Playtime:
504 minutes
I don't really want to antagonize the guy, it's an interesting game and I like that it's kinda scrubbed off some of the rust but if I'm gonna be honest the level order absolutely does not make sense. It's very possible you will spend more than 2 hrs messing around with some basic knowledge (I wanted to see if I could send boxes and shit flying with the physics engine and what the limitations of the grabber and stuff were and if I could crush shit) so if you're worried about the parts other people are complaining about just be wary that you'll likely spend 2 hrs before you get to that point. Just some consumer-to-consumer friendly advice
I see some other reviews not reccommending the game due to complaints about the difficulty and people underneath saying things like "LOL You think this was a programming course?" when confronted with numpy. Like, listen, there's a solution button you can click where the guy even basically says "I'm not going to explain numpy to you" and he just shows you the code. The level right after the first level that features a numpy solution is drag racing a car. I'd be lying to you if i said it wasn't disorganized, bare minimum. On the other hand, the game is not kind of giving you the tools by explaining it to you. Whether this is or isn't a realistic expectation to have, it still kind of doesn't change the fact that you're required to do it to complete the level without "cheating," basically. So it doesn't feel good, it kinda just felt like I was politely told to piss off and google it, and that's just kind of subpar game design.
It would certainly be nice if image processing was explained a little better. I liked everything that built up to it so far, but I haven't completed everything. I think it's ok, but your enjoyment of it will absolutely totally be conditional to alot of that stuff and you can definitely get buyers remorse.
👍 : 0 |
😃 : 0
Positive
Playtime:
64 minutes
Great game but too much for a beginner or a standalone learning tool, to be fair it comes with that warning but here's my experience anyway.
I was really looking forward to this game as a way of learning some programming skills. I'm not entirely new to the concept of coding but unfortunately for me the complexity ramped up way too quickly. Got to about the third level 'sorting barrels and boxes' and lost track of what was going on. Some of it was things like getting the wrong indents etc and silly things like that with the syntax.
I gave up the struggle when just I kept getting errors in the debug etc, and I had no idea what they meant
It would be helpful if you were able to review code from earlier projects (seems you can put them in the scratch area but they keep disappearing). Probably great fun if you've already got some programming skills under your belt or as a practical sandbox if you are learning elsewhere. Runs fine though, no apparent bugs.
👍 : 2 |
😃 : 0
Positive
Playtime:
28 minutes
It might be fun for some one who knows how to code or is familiar with python already but this isn't beginner friendly at all. I'm not going to waste my 2 hour refund window scouring through stack over flow figuring it out what the hell all the syntax and call functions are actually doing.
👍 : 3 |
😃 : 0
Negative
Playtime:
57 minutes
Just started playing and this game so far is everything that I want it to be.
Developer seems to be responsive and patching so that is also a cause for optimism.
👍 : 2 |
😃 : 0
Positive
Playtime:
94 minutes
cool concept not for those who aren't at least interested in learning coding and unlike the advertisements this game isn't for beginners as they don't even teach you how to look for your errors they go straight into the lessons with out guiding i played it for a an hour trying to find out the error in my codes and the next level ends up scaling the difficulty without explaining anything so unless you know python you are just shooting in the dark. This game is more so a fast pass to the solution tutorials that open your browser to their you tube tutorial. Came in with good expectations and left with dissapointment and mild frustration
👍 : 1 |
😃 : 0
Negative
Playtime:
81 minutes
Even speaking as a software engineer who knows Python, this game hugely turns me off. There's no joy in this programming, even if I were to ignore that this is in NO way a simulation of real-life SWE.
Some of it is that the environment is buggy--for example, I intermittently have a problem where the spawner in the three-sorter leaves the initial object spawn hanging mid-air, so the belt beneath it never returns that it is carrying something. I think it has something to do with putting the environment in a pause state while the object is still falling after a reset, but I can't tell. It just happens sometimes and it's frustrating when it does.
The IDE is buggy too. For some reason, when I put a line like `belt0 = ConveyorBelt.find("belt0")` into the three-sorter, it usually won't autocomplete methods for belt0 in lines under it until I reset the environment. I found it really hit or miss re: what the IDE will auto-complete and what it won't.
A lot of it is that OMG it's clumsy trying to juggle a code window and look at actual objects in your environment to find their names. There's no simple mouseover for environment object state, as far as I can tell, so you can only pop persistent windows by clicking on stuff--which come up HUGE because for some reason everything other than the coding window is using something like 24 point font even on my 4K screen and there's no scaling option. Then you have to close them again to click through anything beneath them.
It all quickly becomes window salad, and I find myself constantly moving the coding window around and micromanaging object state windows trying to expose stuff beneath them. And if I shrink the coding window to try to expose more environment space, size-huge icons hang off the right side instead of scaling to stay in the window. It's all very annoying.
And god help you if you're in full screen mode but need the API reference up at the same time, because for some reason it launches them in your browser. So then you get to fight Windows z-order too. Among other issues, if you background the browser window by clicking on the game, the next time you try to launch the API docs won't foreground the browser window again. So the reference button seems like it just does nothing until you fish back the window yourself.
Why there's a full step-debugging IDE and windowing system implemented but not a simple in-game API browser, I do not know, but it was a mistake for a game with an API that's this complex. Ditto not having a interface font-size option. That's just IDE 101.
But honestly--80%+ of my negative reaction is that I think it was a *GROSS* error in design to put a time limit on challenges that ticks down *WHILE YOU'RE CODING*, even if it is for "bonus." Of course it's not just bonus--to a Zachlike player every objective on the screen is an objective, so if we don't beat that time limit we lost the level whether or not the next one unlocked.
I can't even tell if it was intended to have the timer going in the coding phase. The timer goes back to start if you reset the environment before running (but only if you do that) and ticks down at 0.01x if you hit the pause button while coding (this is probably how I stumbled into the spawner bug above).
But what having an on-screen timer ticking down definitely does is raise my anxiety through the roof--especially since even pause just slows it way down instead of freezing it. Coding is not meant to be a timed race, and I do not like feeling like I'm cheating by having to repeatedly manually reset the environment so it won't tell me I failed the objective before I ever hit run.
I realize I don't have much time spent in the game, but I don't expect any of this to get better later so can't bring myself to play further. If I can't even get through something simple like the three-sorter without wanting to throw something at the screen because the flow is so terrible, I cannot imagine what an awful experience solving harder problems must be.
So I just can't recommend this. The real time environment crossed with the IDE is an impressive development feat, but it's not fun at all to code in. I feel like I'm constantly fighting with the interface, and the addition of the timer makes this anything but pleasurable for me. Exercising Python skills through something like Hackerrank or Leetcode is frankly more fun and more effective--and free. Sometimes less is more.
👍 : 10 |
😃 : 1
Negative
Playtime:
660 minutes
After 9 hours I finally managed to write my first own noobcode that worked 100%.
So if you want to learn Python, this is the right place for you. The developer provides solution videos that explain it quite well and if you get stuck, ChatGPT helps you to understand things better.
10/10
👍 : 6 |
😃 : 0
Positive