>be me
>all i know is my name is "HitObject", from what I've gathered, I have been cursed to spend my manufactured life inside of something called a "rhythm game", crafted in this arcane biological language, called "c#"
>sitting around, not doing much of anything, simply a husk in storage
>suddenly, I am lifted from my comfy storage area, lifted by needle
>as i'm being transported, I hear a loud shouting
>"500 OBJECTS INSTANTIATE FUCKING NOW"
>my empty shell is thrown onto a platform
>"DEPENDENCY INJECTION"
>oh_god.o
>this faggot called the clr forces into my body this a reference to the faggot who yelled dependency injection
>in succession, I am raped and filled with values, "Vector3 Position", "Timestamp", "Id", oh god it fucking hurts the fucking numbers
>"COMPLETED, INTO THE FUCKING LINKED LIST HURRY"
>it's not over
>i am manhandled, crammed into a box, with threads of string connecting my box to 500 other boxes
>every .000001 milliseconds another HitOjbect is crammed in, my twins, brothers
>the list is completed
>the dependency injection shouting guy is back
>"I AM BeatmapManager, I WILL FORCEFULLY CALL RENDER() ON YOU GUYS WHEN NEEDED, THEN THROW YOU OUT OF YOUR FUCKING BOX WHERE YOU WILL NEVER BE SEEN AGAIN. JUST DO YOUR JOB."
>thank fuck, this excruciating pain of my pointless birth will soon be forgotten
>BeatmapManager fucks off somewhere else, looks like he's talking to some faggot called UiManager. lot of manager assholes around.
>suddenly, loud sounds starts blaring, piercing ears
>"KANNASHI UREEESHII KANNAAASHI UREEESHI"
>please make it stop
>BeatmapManager is back, stands at the first box
>BeatmapManager takes his giant hand, sticking it directly into a HitObject comrade's body
>BeatmapManager shouts "CLR!!!!!!!", handing the binary chunks to CLR to fuck around with
>literally, he's fucking the chunks
>BeatmapManager throws the HitObject out of his box, and rewires the strings
Be me
>as HitObject falls through the black, bottomless abyss, a giant, abnormal entity swallows him hole
>CLR shouts "THANKS GARBAGE COLLECTOR"
>this same process, in pattern with the blaring sounds, occurs regularly
>BeatmapManager is three boxes away from me, fuck yes
>suddenly, CLR comes to face all of us, expanding in size
>"UNSAFE MODE SECTION"
>what
>suddenly, the next HitObject sacrifice occurs, but all is not well
>somehow, that faggot's method fucked up those strings connection our boxes
>the boxes de-attach, and fly around in memory
>i have no mouth but I must scream
>around me, the void glows red, characters display "EXCEPTION OCCURED"
>no one takes care of whatever an exception is
>i'm stuck, floating endlessly, hearing "FUTATSU NO KANJOU NI"
>i don't know when I'll die, but i wish for it to happen soon, it's all I wish for
this is your brain on oop
KANASHIIII in peace you poor object. Just hope to be reborn in a fully functional timeline
what the fuck am I reading
This was a good post
Is this a reference to a particular game
Osu! is pretty based
Hybrid ECS > OOP
at least in gamedev
OP dreamt he was Unity.
bumping because this is a great shitpost
Thomas was alone sucked. The 'show don't tell' method means too many easy filler levels even near the end
arigatou
>tfw ppy will never release F# osu
why live
I don't even know anything about programming but I like this post a lot. More please!
sure! had another idea from the perspective of the BeatmapManager (sorry it took a bit to write):
>be me, BeatmapManager
>I'm called into action pretty often, I'm kinda an important guy around these parts, whatever they may actually be, I just follow the orders I know.
>So this faggot I absolutely loathe, StateManager, comes up to me with a request.
>He's always giving me the most fucking inane parameters (Last week, he wanted me to load up "Dicks are for my friends", what the fuck)
>But anyway, StateManager tells CLR (The boss man around here, you REALLY don't wanna fuck with him, like christ you'll be in for a ride) to tell me to hand over my Load method. CLR is the guy who can run my methods, but I'm the one who actually keeps them, I'm the real fucking winner. He's just some cuck who takes the balls of others and looks really closely at them. Pussy.
>I've actually heard that CLR is too fucking lazy to even do anything with what he looked at himself, he'll just convert what he looked at into something for ANOTHER random fucking entity to work with. Called it JITing or some other faggot made-up term.
>Enough about the CLR, he takes my run method and makes sure it executes.
>Alright, to load I've gotta get these fucking HitObjects read, first off
>God working with these fucking little pricks makes me want to put my head directly into one of the SpinnerObjects I instantiate and end it all
>I do an assembly line 500 of these little shits, and put them in the List, as per orders. They always make a fuss, squirming and shit. Although I probably would too if my only purpose was to be "Displayed" for 2 seconds and destroyed
>These fuckers are ready, I pass off some of the work to AudioManager. AudioManager is a fucking bro, makes chill as fuck tunes, just does the job, cleans up nicely. But I give him this weird string of text, he always does some fucking witchcraft with it that makes music play.
>With that done, oh god, time to fucking talk to RenderManager.
>Have you ever had to talk to someone you completely fucking despise, 60+ times a second, for an average of 3 minutes a session? No, probably not you lucky prick.
>This fucking douche RenderManager is some hippie, druggie, degenerate asshat. Every time I talk to him, WITHOUT FAIL, he's talking all this nonsense about "Mannnnnn..... like.... you just gotta appreciate, the arrrttt maaaaann, really puts things in a different perspectiveeeee........ so preeeettyyyy mannnn", I don't even know what the fuck art is
>And of course, this douche always take the longest to do his job. BeatmapManager and I are pretty speedy, but RenderManager takes his sweet fucking time, apparently "My work takes like,,, some time dedication,,,,,,,,,,,,, man..."
>Why don't you dedicate some time to figuring how to throw yourself in the garbage collector?
>But, after much time has passed waiting on him to get some inital stuff with UiManager done, I return back to my HitObjects list. It's fucking go time.
>"KANASHIIII UREEESHII" Sometimes the sounds I hear are decent. These are an exception to that.
>I have a constant timer ticking in me, has something to do with the sounds we hear, time up to that, but on that timer, I tell RenderManager to "Render" the HitNotes, then I "get rid" of the hitnotes.
>The greatest part of my job is throwing out the hitnotes from the list. They fall like fucking lemmings, it's hilarious.
>garbage collector is the world's greatest fatass thanks to them too!
>CLR is watching this whole time. He pretty much watches everything, he has to after all, but CLR is being a bit too probing right now...
>Is some shit gonna happen?
>CLR decides to shout "UNSAFE BLOCK ENABLED"
>oh fucking no
>unsafe block essentially makes it so whoever the incompetent creator faggot of all of us is, they get to mess with us extremely directly. They bypass garbage collector. They can simply poof us out of existence. But, I have never witnessed it myself to this point, only now. Jesus fuck.
>Suddenly, I'm forced to fuck up the linking of this list. OH GOD
>tfw null pointer access exception
>The place turns fucking red
>I don't know what to do...
>Help? It's the one time I'll ask for it, whoever might read this, somehow.
I think you're on to something writing from that perspective. Keep it up!
Thanks! Will write more when I have some more free time
What do you mean by Hybrid ECS? Sauce?
I know well both of ECS and OOP, but I'm clueless about the Hybrid ECS.
Looking forward to it!
I don't know what he's talking about, but in my experience the "EC" part of ECS is great for game development. The S not so much.
I play Osu and those were some good reads
Hybrid ECS can be a few things, but most commonly, I think it's having entities and components as they are in general ECS, but leaving the actual usage of the data to regular manager classes, instead of the pure ECS systems, like Unity does.
bump, would read