
Screenshots

Watch trailer on Steam ↗JOY OF PROGRAMMING - Software Engineering Simulator
Prof. Scherer · Published by PlayWay S.A.
Mostly Positive — 77% positive (398 reviews) · 46 achievements
Last updated 27 Sept 2026
Use real Python code to automate machines, robots, drones and more: Program self-driving vehicles; crack passwords; apply machine learning; automate logistics; use image processing to guide missiles. Gain real coding skills and solve exciting bite-sized programming challenges.
£14.99
Lowest price we've ever recorded
View on SteamPrices can lag the live Steam store — always confirm before buying.
Price history
Indie, Simulation, Strategy · 2025 · More £5 - £15 games
Dive into JOY OF PROGRAMMING - Software Engineering Simulator and master Python through hands-on projects like automating vehicles and cracking codes. Developed by Prof. Scherer, this unique game turns programming into an engaging simulation experience.
About this game
JOY OF PROGRAMMING - Software Engineering Simulator is an immersive 3D programming puzzle game about automating and controlling realistic machines, robots, drones and more using real Python code. Build actual coding skills while playing, solve exciting bite-sized programming challenges and progress to unlock new programming features and improved machinery. Prior programming knowledge recommended.
Automate logistics to quickly transport items Stabilize robots with control feedback (PIDs)
Write navigation code for cars Crack passwords with brute-force
Solve classical algorithms and data-structures Accurately control sniper rifles
Use image processing to count coins Apply computer vision to guide missiles
Get it now and dive into your programming adventure!
A Fair Warning
JOY OF PROGRAMMING is not a casual game. In fact, it is one of the most difficult games on Steam. It offers the real programming experience: Lots of thinking, hard work, gathering information, debugging and some frustrations. But you will also learn new skills, become a better developer, and most of all enjoy that sweet sensation of finally cracking a hard problem.
Features
Tutorial levels to get you started with the programming concepts in JOY OF PROGRAMMING
Create your own puzzles with the included level-editor
Find collectible factsheets with interesting computer-science tidbits
Earn stars by completing levels and use them to unlock new programming features
Work towards achieving many different certificates for completing all levels in one category
Real programming: No pseudo code, no imaginary language. Instead, fully functional python code with your favourite packages like numpy, pandas, scipy, pillow, sklearn and more. Some basic prior programming knowledge (in Python or otherwise) and a strong interested in programming is recommended.
In-game IDE: A codemirror based in-game Python IDE offers syntax highlighting, auto-completion, docstring tooltips, debugging, auto-indentation, code-folding, copy/paste and undo/redo. Advanced users can also opt to use external IDEs like VSCode or PyCharm instead.
Realistic challenges: From robotics to abstract algorithms and creative coding - the full breadth and depth of computer-science awaits.
Open puzzle design: Each level has many different valid solutions.
Clear goals: Each level has one mandatory goal and up to three optional goals.
Immediate feedback: Never wonder whether your code is working. Get immediate, incremental feedback on each good (or bad) step towards a working solution.
Performance metrics: Compare your best solution anonymously with others with respect to speed, memory usage and code length.
No hard locks: Never get stuck on a single level, there are always several open challenges available.
Optionally submit your solution and your code to the leaderboards and share it with the world.
Designed By A Computer Science Professor
The game is developed primarily by a single developer, who also happens to be a computer science professor. An accompanying Youtube series by the developer provides example solutions for several of the levels and walks through them step-by-step.
Level Editor
An innovative Python based level editor allows creating and scripting entirely new levels with exciting new challenges. Optionally, these new levels can also be shared with the community via the game's Workshop.
Happy Coding and get JOY OF PROGRAMMING now!
System Requirements
Will my PC run this? →Minimum
- Requires a 64-bit processor and operating system
- OS: Windows 10/11, x64 only
- Processor: Core i5 8400, Ryzen 5 2600
- Memory: 8 GB RAM
- Graphics: GTX 1070
- DirectX: Version 12
- Storage: 12 GB available space
- Additional Notes: SSD recommended
Recommended
- Requires a 64-bit processor and operating system
- OS: Windows 10/11, x64 only
- Processor: Core i7 9700k, Ryzen 7 3700X
- Memory: 16 GB RAM
- Graphics: RTX 2070
- DirectX: Version 12
- Storage: 12 GB available space
- Additional Notes: SSD recommended
Supported Languages
Latest news
Patch NotesOfficial
Small free content update
While I am currently quite busy with the development of my second game Card Coder, I did take some time to create a small content update for JOY OF PROGRAMMING.In particular, this update includes two new levels in the Driving category where you have to setup speed traps with the help of a RangeFinder or a SmartCamera respectively.And if a car is too fast, this is how you handle that situation:Happy Coding!Read full article on Community Announcements (maschere)Community & EventsOfficial
Games Forged in Germany Fest
I'm happy to announce that both of my games were selected for the Games Forged in Germany Fest. To celebrate the occasion, JOY OF PROGRAMMING is 30% off and the Demo for my upcoming card-building roguelike Card Coder is being released today! Be sure to check out both games and the other titles featured in the fest!https://store.steampowered.com/sale/Games-Forged-in-GermanyRead full article on Community Announcements (maschere)Patch NotesOfficial
Patch 1.0.2
- improved objective description in CaesarCypher and CraneLift levels - fix in level Triangulation that caused commands to be counted multiple times - fixed "key not found" error in "Fibonacci" and "E-Mail validation" level - Improved log window: a) Increased opacity. b) Clicking a line copies it to the clipboard. - minor bug fixesRead full article on Community Announcements (maschere)Patch NotesOfficial
Hotfix 1.0.1
Hotfix 1.0.1 addresses issues with the "Three Sorter" level some players have been experiencing. version 1.0.1 - hotfix in ThreeSorter level where sometimes RFID tags were not scanned - hotfix in Goldsmiths level - hotfix in rpc call of DataExchangeRead full article on Community Announcements (maschere)AnnouncementsOfficial
JOY OF PROGRAMMING 1.0
After one exciting year in Early Access, I am very pleased (and a little proud) to announce the 1.0 release of JOY OF PROGRAMMING and the conclusion of its Early Access phase. This does not mean 1.0 will be the final update. On the contrary: I plan to support JOY OF PROGRAMMING for the foreseeable future and add new levels whenever I have ideas for new challenges. Of course, I also hope the 1.0 release will bring in some new players and our little community will grow with more user made levels (check out the level editor after you're comfortable with the game itself)! I think it is more important than ever to deepen and widen your programming skills, and game-based learning is great opportunity to do just that. Happy Coding! Full changelog over the last year until today: version 1.0.0 - Added "tinygrad" (https://github.com/tinygrad/tinygrad) to third party modules for deep learning - Increase virtual RAM upgrades (64->128, 128->256, 256->1024) - Added new machine: VacuumRobot, automatically cleans up all objects with tag "Dirt". - Added two new Machine Learning levels: Image Classification and Coin Detection - Added two new Smart Home Levels: VacuumRobot0 and VacuumRobot1 - Improved documentation for several machines version 0.9.0 - Added a new level: - SQL Database (Machine Learning category) - Preparations for 1.0 release - Removed "Beta Map" feature. - Cleaned up some obsolete UI - Linux/Proton support: Please use Proton Experimental. All levels (including image processing levels) now work correctly under Proton Experimental (but not under Proton 9.03). - Known issues: - Localization: While the UI and the tutorials are fully localized in different languages, most other levels do not support localization. These are created with the included level editor which does not support easy localization. Unfortunately, this cannot be easily amended and will not change in the upcoming 1.0 release. version 0.8.0 - Added new levels: - Crane Lift (Logistics) - Clock Synchroniza...Read full article on Community Announcements (maschere)






