This would be huge if it was « rogue like », where you could buy new more performant components that allow you to reach further into the game. The game makes you naturally lose, and there are milestones that you can reach (bosses, or loot that stays throughout sessions).
For instance you could unlock GPUs, docker containers, another SSD, antiviruses…
sudoshred 9 hours ago [-]
Also consider RTS elements, like assigning certain schedulers to handle workloads which are swappable and tuneable, maybe with some skill tree unlocks.
nielsole 7 hours ago [-]
unlimited possibilities to expand the game scope through a tech tree:
- Hyperthreading
- interrupts
- compressed main memory
- L3 caches
- TLB caches
- CFS
- cgroups
- TSO/GSO
- performance / efficiency cores
- dynamic clock speed
- thermals
- PCI bandwidth / lanes
- ...
Game could start with a single CPU and 2-3 processes and then all this comes on top step by step and you can automate it away through tech tree.
DonHopkins 58 minutes ago [-]
Severe Running direct process scheduling keyboard control game mechanic!
Or a bitburner-like game, where scripting the solution is required.
5 hours ago [-]
petee 3 days ago [-]
Rebooting could be a mini-game where you dodge the user's BIOS keystrokes a few times before they give up
AgentMasterRace 18 hours ago [-]
The absolute bane of my existence, I had a time a week ago repairing my bootloader after I (stupidly) did 3 months of windows updates after running a bunch of disk repairs and other recovery based things after I (again, stupidly) fell for a fake repo for deepseek tui and infected myself
freedomben 16 minutes ago [-]
Oh man, you've had a week from hell my friend. Uploading virtual platonic data-free hugs
lofties 18 hours ago [-]
I'm pretty sure this is exactly what is happening in real life. I pressed F12 damnit! Go into the bios already!!
gcoakes 15 hours ago [-]
Some friendly tips from post-silicon validation:
sudo systemctl reboot --firmware
shutdown /r /t 0 /fw
These reboot directly into BIOS.
For Windows CMD+R menu, run it by pressing CTRL+SHIFT+Enter (elevates to admin). You may have to do it twice for some unknown reasons after reinstalling the OS.
Xiexe 3 hours ago [-]
Had to learn this recently when my wife’s computer refused to register requests to boot into bios despite spamming F12 / Del many different times across many different USB ports. Such a pain in the ass.
nullpoint420 3 hours ago [-]
You are a life saver. I never knew about --firmware!
phaser 5 hours ago [-]
I love this idea! I totally see it in the classroom or being played by someone who's trying to learn how to make an OS (which is on my personal bucket list)
What I didn't like, is the tutorial is separate from the game. It would be awesome imo, if there's a tutorial stage where the game is explained hands-on (maybe pausing the game with explainers, until I start to get how to play) Otherwise I have to memorise the instructions before trying the game.
Regardless, amazing little game.
donpdonp 16 hours ago [-]
This was fun to play...for about 2 minutes before all the manual work of moving processes around got very tedious, which may be the point of the game. What I would like is a little code edit window where i could code simple routines to handle the scheduling, then be able to watch the result.
lelandfe 5 hours ago [-]
This is why we must daily thank the elves inside our machines. It's tough work!
fredley 3 hours ago [-]
As an OS, I wish the user would launch fewer programs. What a chore.
monocasa 17 hours ago [-]
Fun fact: operating systems were originally programs intended to replace most of the work of a human job description, that of computer operator.
marcosdumay 3 hours ago [-]
Computers were first marketed into replacing the work of humans that had a job called "computer" (what spreadsheets finally did)... Operating systems were create to replace computer operators (what they didn't)... For a while some people called compilers "automatic programmers".
The marketing and management of IT always had this fixation with replacing people. It always has been the wrong answer and the real value always came from making people better.
advisedwang 20 hours ago [-]
Fabulous concept, but personally I did not find very fun actually playing.
loloquwowndueo 19 hours ago [-]
A lot of these puzzle/micromanagement games are very similar to stuff folks do for work. I stopped playing an entire category of puzzle games once I realized it was basically programming, which I do all day for a living anyway. Gamified programming is still programming.
glaslong 17 hours ago [-]
I have a problematic relationship with Zachtronics games for this reason.
I love TIS-100, but at some point I realized I was studying the user manual for a fictional computer, trying to learn it's fictional assembly language, to optimize some multicore data flows.... and decided I should probably get paid for doing that in real life instead.
wing-_-nuts 3 hours ago [-]
I do like some of them, like pico 8 is a constrained game programming environment, and it takes me back to the days of the power of qbasic, being able to do dang near anything without burying yourself in a massive layer of abstraction and complexity.
jonahx 18 hours ago [-]
Many programmers program for fun outside of work.
ivanjermakov 6 hours ago [-]
When I play games scratching programming itch I always think if I'd be better of working on pet projects instead.
hnlmorg 8 hours ago [-]
I’m one of those people. And what we do is write actual software for fun rather than pretend software in a computer game.
If I wanted logic flow embedded in a game then I’d want it in an environment that’s far removed from traditional programming. Such as building contraptions in Minecraft.
axus 4 hours ago [-]
After you switch to managing LLM agents all day, programming at home will be fun again. Just don't use an LLM to play the game...
jasonfarnon 17 hours ago [-]
That's what bugged me about the old MS Flight Sim games. It felt like the actual job.
mrguyorama 1 hours ago [-]
That's why you can speed up the simulation. Certain portions of flight are dramatically more entertaining than others. So take an hour to boot up the 777 from cold and dark, setup all the computers and management, do all the preflight, manage taxi and takeoff, then run the actual 7 hour flight at 10x speed so you can do the fun landing.
But even games that seem like just a job can be fun. Euro Truck simulator is fun because you are entirely self directed. Each job produces tangible results and you feel yourself progressing in a clear way that you often do not feel in a real job.
lukan 9 hours ago [-]
Yes, but many dream about actual flying for real, but cannot so enjoy this substitute.
(I enjoy more arcade style)
GolfPopper 15 hours ago [-]
But just think of the great training this will provide for your enslaved upload in the future!
ChrisRR 8 hours ago [-]
Tell me you play Zachtronics without saying Zachtronics
loloquwowndueo 6 hours ago [-]
What’s Zachtronics. Never heard of it.
rhdunn 6 hours ago [-]
A game company (https://www.zachtronics.com/) that have made a series of games where you either build machines or write instructions to solve a task. An example is Opus Magnum where you convert input elements to output elements.
The games track things like cycles taken to complete the task, size/area of the machine, and cost. Those scores are shown on separate leaderboards and optimizing for one can come at the cost of another (e.g. faster machines may be bigger and/or more expensive).
internet_points 10 hours ago [-]
OTOH I now have a lot more sympathy for my cpu's, I should give them some slack
freedomben 13 minutes ago [-]
Now we just need to write an OS that will play this game and we'll be golden
Oh gosh this reminds me of a college project where we had to build the heap allocator in C. This is giving me nightmares
SomeHacker44 19 hours ago [-]
Does this game make me MCP? Can I battle Jeff Bridges with discs?
edoceo 18 hours ago [-]
Get Tron to Sark so he can communicate!
QuantumNoodle 5 hours ago [-]
Great concept but I did not have a ton of fun playing after the novelty wore off after a few minutes. It would've been more fun if time stood still and I had the opportunity to plan what I do at each cpu cycle. I was looking forward to managing cpu cache hits and ram usage.
gabrielhidasy 3 hours ago [-]
Pretty cool, I would love to see a version where you code the tasks instead of madly click on stuff.
drfreckles 2 hours ago [-]
It's possible. Look for "Run with an automated script" in the README.
triangleman83 6 hours ago [-]
14 minutes and 533,000 pts. I unlocked the auto sort option which helped immensely
Retr0id 8 hours ago [-]
Tangentially reminds me of https://deadlockempire.github.io/ where you play the role of the scheduler, but your job is to make vulnerable programs misbehave.
degurechaff 13 hours ago [-]
Need OOM Killer button to kill nasty process
mephage 20 hours ago [-]
Maybe that's what the Linux scheduler is actually - humans' consciousness stuck inside the computer managing the processes.
Sounds like that black mirror multi-part episode "White Christmas".
fragmede 19 hours ago [-]
So that's why the Matrix needed humans to power their systems!
cortesoft 3 hours ago [-]
The original idea of the Matrix was for the humans to be processors, but they changed it because they thought people wouldn’t understand that.
wing-_-nuts 3 hours ago [-]
That would have honestly made far more sense than as a battery.
mrkstu 19 hours ago [-]
Master Control Program
rizsyed1 3 hours ago [-]
This looks like a lot of fun
nayuki 1 hours ago [-]
The game got too tedious to play by hand, so I wrote a script to play it automatically. It handles CPU, I/O, and processes quite well - but doesn't recognize a crown on a process and doesn't handle memory management at all.
I found that even on the easy level, the number of processes keeps growing slowly, and there isn't enough CPU time to keep all processes satisfied. I feel like the game is inherently setting you up for failure. Here is the script if anyone wants to play with it:
// ==UserScript==
// @name Auto-play "You're the OS!" game
// @include https://plbrault.github.io/youre-the-os/
// ==/UserScript==
(async function() {
const IO_EVENTS = {x: 160, y: 25};
const CPUS = 4;
const CPU1 = {x: 50+46, y: 50+42};
const SQUARE = {w: 64+5, h: 64+5};
const PROCESS = {x: 50+46, y: 155+42};
const PROCESS_ROWS = 6;
const PROCESS_COLS = 7;
let cnv = document.querySelector("body > canvas");
while (cnv.width != 1280 || cnv.height != 720)
await new Promise(res => setTimeout(res, 100));
while (true) {
const pixels = new Uint32Array(cnv.getContext("2d").getImageData(0, 0, cnv.width, cnv.height).data.buffer);
function getPixel(x, y) { return pixels[y * cnv.width + x]; }
if (getPixel(IO_EVENTS.x, IO_EVENTS.y) == 0xFF808000);
await pressKey("Space");
let cpuStatuses = [];
for (let i = 0; i < CPUS; i++) {
const p = getPixel(CPU1.x + SQUARE.w * i, CPU1.y);
cpuStatuses.push(
p == 0xFF000000 ? 1 :
p == 0xFF9A9B9B ? 2 :
p == 0xFF00FF00 ? 3 :
p == 0xFFE6D8B0 ? 4 :
0);
}
let processStatuses = [];
for (let r = 0; r < PROCESS_ROWS; r++) {
for (let c = 0; c < PROCESS_COLS; c++) {
const p = getPixel(PROCESS.x + SQUARE.w * c, PROCESS.y + SQUARE.h * r);
let s =
p == 0xFF000000 ? 1 :
p == 0xFF9A9B9B ? 2 :
p == 0xFF00FF00 ? 3 :
p == 0xFF00FFFF ? 4 :
p == 0xFF00A5FF ? 5 :
p == 0xFF0000FF ? 6 :
p == 0xFF00008B ? 7 :
p == 0xFF000050 ? 8 :
0;
if (s >= 3)
processStatuses.push({r, c, status: s});
}
}
processStatuses.sort((a, b) => a.status - b.status);
for (let i = 0; i < cpuStatuses.length; i++) {
if (cpuStatuses[i] < 1)
continue;
if (cpuStatuses[i] >= 2)
await pressKey("Digit" + "1234567890".charAt(i));
const p = processStatuses.pop();
if (p !== undefined)
await clickMouse(PROCESS.x + SQUARE.w * p.c, PROCESS.y + SQUARE.h * p.r);
}
await new Promise(res => setTimeout(res, 300));
}
async function clickMouse(x, y) {
const rect = cnv.getBoundingClientRect();
const opts = {
bubbles: true,
clientX: rect.left + x * rect.width / 1280,
clientY: rect.top + y * rect.height / 720,
};
cnv.dispatchEvent(new MouseEvent("mousemove", {...opts, buttons: 0}));
cnv.dispatchEvent(new MouseEvent("mousedown", {...opts, buttons: 1}));
cnv.dispatchEvent(new MouseEvent("mouseup", {...opts, buttons: 0}));
await new Promise(res => requestAnimationFrame(res));
}
async function pressKey(code) {
cnv.dispatchEvent(new KeyboardEvent("keydown", {code, bubbles: true}));
cnv.dispatchEvent(new KeyboardEvent("keyup", {code, bubbles: true}));
await new Promise(res => requestAnimationFrame(res));
}
})();
cubano 11 hours ago [-]
I can think of very few things that I'd rather not do then to be an OS. Talk about a thankless "game"...and I'm glad this came up.
Since when have games become more about just completing boring tasks and not about using your mind and dexterity to kill evildoers? Hell, the original Space Invaders was 100x more fun then this, and all we had to do was press a button to kill advancing aliens.
Hugsbox 8 hours ago [-]
My wife plays a game where you use a pressure washer to clean areas up. Also plays a lawn mowing simulator. Oh, and a game where you run a supermarket, where you maintain inventory, stock shelves, and operate the checkout. Some people just like these types of things.
theflyingelvis 6 hours ago [-]
I have a pressure washer and a mower. I am happy to let her come to my house and use them on my house. I’ll even let her pick up my groceries!
LelouBil 10 hours ago [-]
Games are just something someone finds enjoyable to do.
You have all kind of games, some that are actual programming, some that are purely reflexes and dexterity, some that are in between.
> Since when have games become more about just completing boring tasks and not about using your mind and dexterity to kill evildoers
I encourage you to browse Steam a bit if you are asking this.
I kind of agree, but on the other hand many boring, meaningless things are gamified with the addition of points.
Is Monopoly about skill? Chance? Or just scratching that itch of getting more tokens than the other person?
yiyingzhang 15 hours ago [-]
This is cool! I may introduce it to the undergrad OS course I teach at UCSD. Does it have memory hierarchy?
armdave 15 hours ago [-]
Cool stuff! Would love to see this recommended in introductory OS classes to give an intuition
butz 12 hours ago [-]
Easy, just give all RAM to Chrome.
Affric 20 hours ago [-]
Played this originally, glad to see scripting included
NietTim 7 hours ago [-]
What a fun idea for a game!
aranelsurion 18 hours ago [-]
got rebooted at 332k @ normal. maybe being an OS wasn't my calling :)
fragmede 19 hours ago [-]
This didn't get a lot of traction the other time I saw it, but one easily imagines this as part of a a game to teach operating systems, starting from no MMU all the way to how we manage distributed supercomputers like a DGX GB300, or Google's borg.
benj111 10 hours ago [-]
Have any useful algorithms emerged from these kinds of games?
Like has someone invented a novel scheduler or sorting algorithm?
drfunk 3 days ago [-]
sounds a lot like a tweet from the parody account @PeterMolydeux !
keyle 18 hours ago [-]
What's he doing these days?
dmaginas 3 days ago [-]
Great idea!
rnio 4 hours ago [-]
[flagged]
Rendered at 18:16:26 GMT+0000 (Coordinated Universal Time) with Vercel.
Game could start with a single CPU and 2-3 processes and then all this comes on top step by step and you can automate it away through tech tree.
https://www.youtube.com/watch?v=lrUWFo2D1Xs
sudo systemctl reboot --firmware
shutdown /r /t 0 /fw
These reboot directly into BIOS.
For Windows CMD+R menu, run it by pressing CTRL+SHIFT+Enter (elevates to admin). You may have to do it twice for some unknown reasons after reinstalling the OS.
What I didn't like, is the tutorial is separate from the game. It would be awesome imo, if there's a tutorial stage where the game is explained hands-on (maybe pausing the game with explainers, until I start to get how to play) Otherwise I have to memorise the instructions before trying the game.
Regardless, amazing little game.
The marketing and management of IT always had this fixation with replacing people. It always has been the wrong answer and the real value always came from making people better.
I love TIS-100, but at some point I realized I was studying the user manual for a fictional computer, trying to learn it's fictional assembly language, to optimize some multicore data flows.... and decided I should probably get paid for doing that in real life instead.
If I wanted logic flow embedded in a game then I’d want it in an environment that’s far removed from traditional programming. Such as building contraptions in Minecraft.
But even games that seem like just a job can be fun. Euro Truck simulator is fun because you are entirely self directed. Each job produces tangible results and you feel yourself progressing in a clear way that you often do not feel in a real job.
(I enjoy more arcade style)
The games track things like cycles taken to complete the task, size/area of the machine, and cost. Those scores are shown on separate leaderboards and optimizing for one can come at the cost of another (e.g. faster machines may be bigger and/or more expensive).
[1]: http://psdoom.coffeefish.org
https://psdoom.sourceforge.net/
Sounds like that black mirror multi-part episode "White Christmas".
I found that even on the easy level, the number of processes keeps growing slowly, and there isn't enough CPU time to keep all processes satisfied. I feel like the game is inherently setting you up for failure. Here is the script if anyone wants to play with it:
Since when have games become more about just completing boring tasks and not about using your mind and dexterity to kill evildoers? Hell, the original Space Invaders was 100x more fun then this, and all we had to do was press a button to kill advancing aliens.
You have all kind of games, some that are actual programming, some that are purely reflexes and dexterity, some that are in between.
> Since when have games become more about just completing boring tasks and not about using your mind and dexterity to kill evildoers
I encourage you to browse Steam a bit if you are asking this.
https://store.steampowered.com/category/sim_hobby_sim/
Is Monopoly about skill? Chance? Or just scratching that itch of getting more tokens than the other person?
Like has someone invented a novel scheduler or sorting algorithm?