125 comments

[ 3.0 ms ] story [ 191 ms ] thread
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
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.

In what way does this game go beyond what Unity can offer?
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...

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.

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.

> 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.

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.
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.
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
This is pretty nerdy but c'mon, it's like Cookie Clicker or some other idle game when compared to Zachtronics titles.
Unlike cookie clicker, this game can actually teach you something.
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.
I learned a great deal about the dangers of grandmas from cookieclicker.
(comment deleted)
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.

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.
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.
Just started watching this, and I have no real idea what's going on :)
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.

“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/

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.

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 :).
I felt that way about PCB routing and layout when I was building electronics.
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.

But will the autorouted pcb pass EMC?
Highly doubt that, and routing is only part of the puzzle.
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.
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.
Cool proof of concept... not a fun game
I can’t scroll down to see the rest of the lines
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.
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.

Aren't we are the operating system and the main character in all the game?
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?
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?

Could be the extension. Though the logic seems to be all in wasm, not sure how the extension would modify it.
> 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.

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

In idea, this reminds of the old game Core Wars and its special "Red Code" programming language.
uptime 0:07:44 - 259513
(comment deleted)
My results: uptime: 7:44 score: 259513 mode: easy

How did yours compare?

6:15 174612 on normal mode.

Strangely fun.

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

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.

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
It needs ways to upgrade your computer to live longer.
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.
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.
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.

Garbage Collection
I'd say sleep is more analogous to GC.
Sending an email to yourself
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

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.

(comment deleted)
Give it a Tron skin and I'll play it for a whole day <3
Now, I want to write a program the play that game...