Hacker News new | past | comments | ask | show | jobs | submit login
A video game where you are an operating system (plbrault.com)
662 points by drfreckles on Aug 13, 2023 | hide | past | favorite | 122 comments



You know what would be cool? A defragmentation game. It's basically Tetris but in a circular layout, and you get more points the better optimized it is - with frequently used data blocks towards the outer tracks and old/archive file types towards the inner tracks.

I always enjoyed watching graphical defragmenters do their magic back in the day and would unironically love to play a defragging game.


Wilmot's Warehouse is basically this.

It's top-down 2D. You are alone in a large, empty warehouse. At regular intervals, a truck drops off a load of assorted objects at the back, and a few people ask you for some specific objects at the counter in front. Your role is to arrange the objects in the warehouse such that you can fill the requests in the least amount of time, and you can do this in any way that works for you (by color, function, name, etc).

As the game goes on, the truck drops off more and more different kinds of objects (usually ones that fit into more than one category), and the requests get more and more complicated.

At the end you get a time-lapse of the whole warehouse over the whole game and you can see your strategy evolving over time.

Pretty well executed and simple. Heard about it from one of its devs in a HN comment actually.



Cool proof of concept... not a fun game


I like the idea, but I noticed that there seems to be some kind of issue with it registering clicks. I don't know if I'm just sometimes clicking slightly outside of the hitboxes or what, but I find myself "dragging" stuff by accident when the game doesn't register that I "dropped" whatever object I had selected.


I can’t scroll down to see the rest of the lines


https://classic.csunplugged.org/activities/community-activit... (see also: https://www.itgsnews.com/the-defragmentation-game-lesson-pla... )

https://boardgamegeek.com/boardgame/376284/defrag

https://www.defraggame.com

There used to be a few old ones in the day that I recall trying which were a bit more direct simulacrums than these. Not sure if anyone else might find them!


I felt that way about PCB routing and layout when I was building electronics.


You're talking about Shenzen.io by Zachtronics, aren't you

https://www.zachtronics.com/shenzhen-io/


I just bought this off your recommendation and I hate you now.


There's also a minigame in Electrician Simulator that has you repair various broken objects by replacing components. It's strangely satisfying.

https://www.gog.com/en/game/electrician_simulator


Might make a good career then.


> Might make a good career then.

Is it, though? As much as the autorouters "known" to not work, I expect that a working one is less than 10 years away. Even for PCIe-level complexity.


The "career" in question could be autorouter developing.

That said, I'd suspect it's similar to CS: autoprogrammers are "known" to not work. If you can understand and articulate the business logic in a concise way, understand and articulate all the components of the system and how they may interfere with each other, understand and articulate the system's nominal and practical input ranges, etc., then sure something might autoprogram the code for you, but it's not the autoprogrammer doing the real work.


Highly doubt that, and routing is only part of the puzzle.


But will the autorouted pcb pass EMC?


somehow I ended up in Neuroscience, where I get to use the electronics skills occasionally, but even that is mostly focused on ASIC design now.


Well now ASIC design is an even more niche EE application. How does someone in neuroscience end up needing those skills? Did you Major in EE in undergrad?


Yep, undergrad in EE. I don’t do our semiconductor design but interface with teams of engineers to make tools for biology.


Lets up the stakes and use a real drive as part of the sacrifice to the game.


Let's up the stakes and use a real production storage in the game


An even more specific version of DOOM for sysadmins, then?


psDooM is what you need: a FPS to frag system processes

https://psdoom.sourceforge.net/


it's not really related in concept, but I feel like playing various puzzles with pentominoes would feel a bit similar to this, as it's spatial reasoning puzzles. I adore pentominoes and spent a large portion of my childhood playing with them, recently rediscovered them as an adult.


For me it was Tangrams, which I've only seen one somewhat odd (in a "feels outsourced" kind of way) computer game (not that you can really improve on the physical version). I first thought you said pantomimes, which could also be interesting :).


Definitely played with tangrams too, and funnily enough, I had a bunch of animal-shaped puzzles that I guess you could call pantomimes haha. If you enjoyed tangrams enough, I can't recommend enough picking up a set of pentominoes - definitely agree that a physical set is the right call. There's 12 total so you have 60 individual squares, (pentominoes are 5-square tiles), so popular figures are 6x10, 5x12 (a bit harder than 6x10), and 3x20 (very challenging). You can also get cubes and do 2x5x6 (really hard) or 3x4x5 (even harder).

Recently though, I've been doing 8x8 - 4, which means picking 4 squares to remove from an 8x8 square and then filling in the rest (I have some wooden boards i picked up from an etsy seller but you can just as easily trace the outline on paper and color in the forbidden cells, which I've also done). Which has been delightful!


Thanks for the recommendation, I'll give them a try :).


It is still fun to run the real thing[0].

0. https://www.nongnu.org/free-defrag/


windows 98 SE had the coolest disk defragmentation animation. it felt wrong when it just never reappeared.


I found jkdefrag, and it was dot based instead of block based. Now that became the coolest - until it was discontinued... Now hard to find... But, mydefrag has become the best defragmenter.


It looked exactly the same as 98 and 95, there was nothing changed.


i mean, onwards from XP


Sort of the opposite of Breakout.


Or the opposite of a particular type of block-tapping mobile game, like these on Android/iOS:

https://play.google.com/store/apps/details?id=clear.tap.geom... https://apps.apple.com/us/app/tap-away-3d/id1568058543


I like to imagine that, as in Ender's Game, the top-ranked player is unknowingly allocating memory for some critical infrastructure somewhere.


Getting Severance vibes.


Oh man,(spoilers) my pet theory is that the 'work' is actually them self-adjusting their implants. Remember they describe a number as a 'feeling' and some numbers 'feel' wrong. And we see behind the scenes that they are testing the main character with the psychiatrist/wife to see if it breaks the 'chips control/severance'.

They are simply engineers perfecting the implants so that they operate better.


I think that the numbers are in-house red team fuzzing attempts against the implant, with the goal being lower mean time between failures of the implant. It could also represent a debugger IDE, with the “spooky” numbers that we see jumping around onscreen on the workstation representing some kind of bad data that doesn’t pass tests that the normal numbers onscreen do pass.

I’m reminded of the in house help desk tech support that someone calls for in the film Vanilla Sky, analogously.


Just started watching this, and I have no real idea what's going on :)


“To compete your registration, tell us whether this image has a stop sign. And hurry it up, our self driving car needs this.”

https://xkcd.com/1897/


I’m half a sentence into this website and I’m already completely on board.

One of the best ways to grok a problem like this. “Hey now you’re the memory manager. Good luck.”

I love this idea so much. I bet it could be dressed up in a cute way where it’s a take on the restaurant management sim. But the restaurant is a computer and your customers are the resources.

Human Resource Machine was great this way. I remember at one point thinking, “wait, did I just make a linked list?”


Human Resource Machine is great! My wife ended up having a career change into coding after finishing it and the sequel


In fact human living is basically a type of operating system, as we all juggle on a daily basis tasks, resources, input/output, storage, cache, and states. The concept of dashboard is an essential operating system tool, and on a human scale it is basically your bank, tasks, calendar and inboxes. Plenty of "self improvement" concepts then translate neatly into operating system best practices, such as using FIFO or LIFO to manage allocations, planning ahead to break deadlock situations, managing parallelism, and JIT garbage collection etc.


It reminds me a bit of this book, which I recommend: Algorithms to live by.

[0] https://algorithmstoliveby.com/


Humans often like to compare the brain to technology.

For example, when gears were high tech there were people that drew heads with gears turning inside of the head, likening the act of thinking to the motion of gears. And I think in cartoons etc we still see this sometimes.

:D


Also relevant: “How an Algorithm Feels from Inside” (2008)

https://www.lesswrong.com/posts/yA4gF5KrboK2m2Xu7/how-an-alg...


Yes, I remember those. And later, a light bulb flashing inside of the head when the character has an idea.


Gears did something, they stood for purposeful activity. A light bulb illuminates its surrounding, letting you see in the dark - an apt metaphor for having an idea, seeing something that previously couldn't be seen, etc. In both cases these are metaphors, not actually imagining the brain running on gears or light bulbs.

Computer analogies are different. These are direct, not metaphorical, and rightfully so, because computation is fundamental and not just a piece of technology. Computer science stands at the intersection between mathematics and physics.


Possibly our autonomic nervous system is closer to what we think is an OS. Abstracts over the low level operation of the wetware

https://en.m.wikipedia.org/wiki/Autonomic_nervous_system


And civilization is a distributed operating system! (I heard this from Joscha Bach)


What is the operating system analogy for whacking off? Clearing the cache?


Luckily our computer hardware can Not self-repruduce yet.


But computer software can. Worms, viruses, etc

Heck, even the operating system could reproduce in some sense. If the operating system on one machine is set up to regard itself as DHCP server, it would begin responding to DHCP requests in the local network. And in the DHCP response it can provide network boot instructions telling other computers to network boot a copy of the OS image of itself that it is serving. Any other computer that is configured to net boot could then boot the OS. Of course most computers are not set up to net boot out of the box. But on a network where they use net boot already you might be able to race their own DHCP server and get some of the clients to boot your OS image instead.


Sending an email to yourself


Garbage Collection


I'd say sleep is more analogous to GC.


FWIW, this was posted to HN on Sept 30th* and gained zero traction, with even the poster deleting their own comment.

As I posted there, it's a really good concept. Add in levels (eg microcontroller in $interesting_product, is on a smartphone, load balancer or api box for a SaaS company), with the levels letting you introduce concepts one at a time, and then you've got yourself a college grade operating systems class. Throw in a bit of programming for automation and dig deep into OS cache algorithms (LRU baby!) and that's something I could have finished before I graduated high school.

* https://news.ycombinator.com/item?id=36938032


Awesome idea, but it's too hard for me. In normal mode, I'm already clicking like a maniac in the first 20 seconds of the game, and red processes accumulate, even though I'm cycling out the blocked ones. I had one process killed because no IO event ever came for it. Easy mode seems to be the same, or actually even harder. I don't even get to the point where memory becomes an issue, but at this pace I don't want to.

Maybe I'm getting old, and I get that being an OS is stressful, but so is my job. I don't need another one!

With more forgiving pacing that starts out easy and then increases to keeps just outside of my comfort zone, this could be a very fun game.


I had this same problem, where a process gets killed while waiting for an IO event that never came. All of the killed processes were killed in this state! Seems that there's no way to prevent this if it happens.


You have to click on I/O at the top when it goes from (0) to (1).


The thing is processes get killed before the IO event appears.


That's what computers are for, doing the repetitive stuff without freaking out for you :)


Maybe write a program that plays the game for you. It could be called You're the Operating System Operating System.


Games like these have a strong future.

Basically games that innovate beyond what a game engines like Unity or Unreal can offer are, by design, going in a direction that is more likely to succeed than anything we see come out these days...

Making super nerdy games that are so far off the field the engines users can't touch you, puts you in a different league; even if your game looks like a dog's breakfast, as long as it's fun and usable.

Indie games are dead, in the sense that they were indie games 5 years ago. This, is the new indie games now. GG. (ref: failed indie developer with 2+ commercial titles).

It's a shame that Zachtronics stopped, they've always been ahead of the game.


Maybe I'm missing something in your post but I find the same types of games have been popular for many decades now. I'm not sure those are any less likely to succeed, or that "You're the OS!" is more likely to succeed.

And I'm pretty sure you can make this game in Unity...


Not only could you make this in Unity, it'd probably be easier than in Pygame by a good margin.

Game tech is basically universal for zero-graphics games like this, it's 100% "business logic". If you have to fight with the UI/display system for even a moment to make a game like this, then you're probably either using a library without enough features (which, ahem...Pygame, yeah...) or you just don't know the system well enough to be efficient.


So, as someone with considerable Python knowledge but no gamedev knowledge, what would your suggestion be for me?

Specifically, I want to have some fun developing a few game ideas into at least prototypes. I never really had time to do a proper analysis of Pygame, Godot, Unity etc.


I'm guessing they are used to the default Unity 3D scene and player controller.

Unity can create any type of game. In the end it's just helping you push vertices and shaders around.

I do agree Unreal has it's roots more in 3D character shooters. A lot of assumptions built in but you can still work around them there too.


I remember, as a child, having fun with a Yoshi (from Mario) fangame that pretended like he was in Windows 95/98. It might have been this one. https://youtu.be/AwZfivyZ20c?t=184


There's no reason this couldn't have been built in Unity or Unreal. You can build literally anything (within the limits of computation) in those engines.


In what way does this game go beyond what Unity can offer?


> Basically games that innovate beyond what a game engines like Unity or Unreal can offer are, by design, going in a direction that is more likely to succeed than anything we see come out these days

It depends what you mean by “succeed”. If you mean, “turn a profit”, probably not. Games that are far off the trend supported by engines optimized for what the market is looking for probably will fail more often than games within it.

If you mean, “become a surprise, breakout, hit that changes the direction of gaming”, yes, the extremely low probability of that happening in either case is probably higher for games that are outside of the box.

Better chance of a home run, but also better chance of getting out, and less chance of getting a hit.


Not sure what you are talking about. Nerdy Games have existed all the time, and they usually not very successful because they are so nerdy. In the last years, we also had a number of tech-nerdy games, but none of them could be called a hit. They probably make their game, but as the audience is naturally small, their ceiling for success is limited. And I don't see this changing in the future. It's probably the opposite, as the younger generation seems to become less nerdy, and more distanced from low-level topics and tech.


As the game gets harder with higher utilization you should be able to "buy" upgrades with tokens that you "earn" for hitting milestones or performance targets that automate small mundane tasks. Kinda like the universal paperclips game. Then you throw pathological workloads at the user that thwart the simple automations so you have to unstick it manually. So the user buys upgrades to slightly better automations, thwarted again by slightly more pathological workloads... Boom game progression loop.


Yeah I want to be able to buy a memory allocator. And maybe even the option to write one


And very soon you will provide a scripting language that allow the OS to automate things, right?

Oh I see...


Let's use a C interpreter so we can just copy Linux code over... Or the other way round.


Very cool. Reminds me of the game posted last week (defcon thing?) in which Tetris-block-like squares containing op codes fall and the user has to position Rube Goldberg sequences that shuffle the biggest possible number into the “score” memory register


For those interested, that was OFRAK Tetris: https://news.ycombinator.com/item?id=37083309


In idea, this reminds of the old game Core Wars and its special "Red Code" programming language.


This seems related to a larger genre of "hectic customer service" games, often involving idiosyncratically demanding customers at a restaurant limited by time and resources.

In fact, several of them have been rather explicit about the idea of humans subordinated into thankless jobs for machines, considering titles like "Sushi For Robots" or "Human Resource Machine".


Found a small bug i think. If i assign a process to the cpu just when it dies (during the fly anmiation i guess) the game freezes (Cannot click any buttons anymore). https://i.imgur.com/4gbwwEZ.png


Thanks for your report. It is fixed now! :)


Reminds me of this game where you are a paper clip factory: https://www.decisionproblem.com/paperclips/index2.html


recently: https://news.ycombinator.com/item?id=36972227 (not only discussed, but also plenty of "if you liked, you'll also enjoy" recommendations in there to further dissolve time into a blur)


Total nostalgia for the days when an OS cared about the user. Moving memory pages around is all well and good, but a realworld OS has far more important functions than responding to the demands of the user. I suggest adding a dimension whereby the player must respond to the wishes of the OS creator/owner. Have the OS be asked to inject ads into content. The OS could slowly depreciate itself in order to upsell the user on the next version. The OS should detect un-friendly activity by the user and brick itself and/or report the user as a "pirate". Or the OS could be asked to respond to FBI/NSA requests to spy on the user.


Somehow this needs to be linked to PsDoom (https://psdoom.sourceforge.net/), perhaps as "multiplayer" mode of some sort?


I love the idea. The interface is not friendly to people with bad eyesight, though. It would be better if you could tab to change what you were looking at and make those things bigger.


My results: uptime: 7:44 score: 259513 mode: easy

How did yours compare?


6:15 174612 on normal mode.

Strangely fun.


I've been trying to imagine a game which is like a real time strategy game for programming

You command coroutines, threads and processes across machines to do work for you, like units.

You can collect data from database, transform it in a pipeline and give it back.


Fun, I wonder if anyone has done a garbage collection game. I'm imagining an isometric view, like Zaxxon, where you drive a garbage truck around and collect dead references.


Or maybe just fit it into Doom, equip a flamethrower, and burn the corpse of dead processes and their zombies. Not that we hadn't this already before in some way.


TIL: Being a computer is hard and I don't ever want to be a computer.


Well it's a good thing it's an autonomous job already replaced by computers.


Aren't we are the operating system and the main character in all the game?


Coming soon, an OS where all components are gamified and done by humans.


Give it a Tron skin and I'll play it for a whole day <3


It needs ways to upgrade your computer to live longer.


Now, I want to write a program the play that game...


dwarf fortress rekt


so much stress. It's too much like my dev machine.


Superlatively cool.


This is pretty nerdy but c'mon, it's like Cookie Clicker or some other idle game when compared to Zachtronics titles.


TIS-100 is certainly far up there in "nerdiest game" rankings, and I must offer Bombe as well, the only game I know of that embeds Z3: https://store.steampowered.com/app/2262930/Bombe/


I think Core War (https://en.wikipedia.org/wiki/Core_War) is even nerdier, too bad there's no updated, polished implementation.

P.S: I'm also a big fan of Zachtronics games: TIS-100, Shenzen I/O etc etc


It fits very comfortably into the category of "time management" game, which was a fairly popular casual genre 10-15 years ago. Cook Serve Delicious is probably the one notable example which is still going strong.

Definitely distinct from idle games.


Wilmot's Warehouse is the one it most reminds me of (maybe the graphics), which is quite fun (except for the random crashing :( that seems to get worse after it starts happening). This one needs a lot of work, though. I did it wrong it seems looking at the other comments here but nothing about this one makes me want to try again. Wilmot's Warehouse has excellent pacing. The theme of this one could be made to work well but throwing everything at the player right away and see how long they can keep going is not my idea of fun. I'd suggest automation options combined with changing the use pattern of the system over time. Plus something to give the player more customization options so it isn't just "do this repetitive task as quickly as you can". Maybe a choice of cute loading icons that you can display in certain circumstances?

Mini Metro is another well known game in the time management genera. I've seen some recent games with this design and played a demo of a not yet released game. It seems like a common small indie game genera since larger developers don't seem to touch it that I can think of (except possibly some mini games? I can't think of anything off hand but there must be some). I guess the larger developers go for RTS games instead.

Possibly the OS theme could be turned into a kind of "bot combat" game (at least I think that would be the general genera I'm thinking of, but without direct combat in this case) if the internals are automated and then compared to the market as a whole, with established OSes that are fairly good at everything but not great at anything. These established OSes could then take various anti-competitive actions along the way that force you to get better at a different specialty than you previously targeted.


Unlike cookie clicker, this game can actually teach you something.


I learned a great deal about the dangers of grandmas from cookieclicker.


I’m not contesting that, just making an analogy to quibble against “the nerdiest game ever” claim. Like I appreciate its existence but just saying there are entire genres of this stuff.


> Zachtronics

Kinda sad that the dev quitted


I selected easy and still got fed so many processes I cant possibly satisfy them all for more than a minute. What am I doing wrong?


Same. If easy is that stressful, what happens on higher levels?

I think easy makes you forget about memory-swap side of the game. Still feels unfairly hard tho


Remove any processes with an hourglass from the queue, and frequently click the I/O Events button to clear out the hourglasses.


I think I was already doing that, yet by the time 4 processes in processor turn green, 10 processes in queue turns red? Also even in the first 10 seconds I was already clicking like mad, wasnt really "easy" mode.

Maybe one of my extensions designed to skip "wait 10 sec to skip this" is messing up the timings of the game?


> Maybe one of my extensions designed to skip "wait 10 sec to skip this" is messing up the timings of the game?

Might be related to time accounting differences between browsers also... are you using firefox?


Edge (sorry)


Fine for me on edge. Maybe don't wait for processes to go totally green? If something is dark red/frozen it needs to be on the CPU immediately, regardless of what else is there.


I saw the same with no extensions. My only hope was to do custom mode and give myself more cpus and lower I/O probability.

Edit: Also, keyboard shortcuts would be really, really nice.

Edit2: Also, the "menu" button in the top right isn't clickable (unless I resize) because the "Follow drfreckles" and "add to collection" buttons overlay it.


Could be the extension. Though the logic seems to be all in wasm, not sure how the extension would modify it.


uptime 0:07:44 - 259513




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: