Sure, if you put it like that...
Sure, if you put it like that...
Sure, if you put it like that...
I've joked with coworkers that our entire job as programmers is to find ways to light up pixels on someone's screen in patterns that they find pleasing.
Well. I mean. Both release dopamine for me anyway.
In the engine I've worked on it's even less dramatic than deleting a row. It changing a single boolean from 1 to 0.
"Single bit state CHANGED!!!”
Hah! Joke's on you, player! I pooled my game objects and you're endlessly killing the same bad guys with the same bullets over and over.
And spectator sports are watching people exercise and reading is staring at a tree while hallucinating
staring at a tree while hallucinating
Same with taking shrooms
Fantasising based on looking at ink blots on a butchered tree.
Staring at a tree while hallucinating. I love this.
I've been working on a survival/RTS game and it's funny that even though the game development framework I'm using (Unity) tends to push you to put most of the code on the visual objects level and that was my original approach, over time I've figured out the whole code is way cleaner and works better (in other words, the best architeture for that software) when almost all of the game is really just a Data layer being manipulated by the player and a separated View layer for the players to visualized it in a nice way - basically a Model-View Controller Architecture, same as you'll find in systems were a server-side application has web and/or smart app UIs.
That said, I have the impression that something like an FPS is a lot less data-driven than an RTS because things like the 3D models that make up the world are a lot more important for data decisions (has the bullet hit an object, can the player move to this position). You can still say that stuff is data (3D models are data, specifically collections of vertices in 3D space with some additional information attached), but model data is generally way more visualization-oriented than what one could metaphorically call a "database".
Admittedly I haven't worked on any games, but if I were to do so, I always believed ECS to be the way to go: https://en.m.wikipedia.org/wiki/Entity_component_system.
Whilst composition over inheritance is indeed the way to go (and if you read the original Design Patterns book, it's part of the things they talk about in the beginning well before they go into patterns), ECS just distributes the data all over the place which tends to create bugs due to implicit dependencies that are not very visible because things are distributed (so when you change something, other stuff elsewhere might break).
The point of ECS is performance with large numbers of similar entities, rather than being a good architecture in software engineering terms (i.e. resilent to bugs, not brittle when changed, easy to understand as whole and so on).
My impression, having come from totally different areas of software development (server-side, web, smartphone apps, desktop apps) is that Game Development isn't all that sophisticated in the terms of Software Architectures, maybe because it's too close to the metal, too concerned with performance and mainly the playground of young devs who, frankly, lack the experience to have reached the level of being aware of software development as a process and how to design and develop software in such a way as to improve the outcomes of that process.
What is a smart app?
I meant it as an iOS or Android app.
The opposite actually - rows are dramatically added to a database. In most games save files grow the longer you play.
and even if some idiot put every zombie npc in a database (or if you want to think of it that way), you wouldn't just delete the rows! the bodies would disappear, so instead you would update that row like (npcState = KIL, bodyLocation =
<some coords>
) or something. Especially if you wanted to keep player statsI want the rows deleted. I'm going to market it as the first game with true AI/enemy permadeath. Dibs on the idea!
Maybe you would have an array of active enemies in RAM, and when enemies are killed they are removed from that array for example?
In a game like Minecraft for example, you definitely wouldn't want to store every single dead entity and its location when there can easily be thousands created and destroyed in a single second
It obviously depends on the game though.
Noita file save on the 7th parallel world intensifies
This is why Breathe of the Wild did the blood moon thing, periodically they'd just bring all the dead enemies back so file size didn't get too large.
Also, it's an unreasonably fast database. That makes lots of trade-offs that normal ones aren't willing to do.
I was looking at the savegames from the game control recently, it's kinda funny because you open them in notepad, you see a bunch of random gibberish from bad decoding (the game uses a proprietary save format) with the words "collected" "Collected" "unlocked" "available" "VariableRestoreHack" (??) "STATE_B_PUZZLE_SOLVED" "Powercore_Not_Attached" randomly interspersed
Like, surely there is a better way to store 2 state data other than an english word?
It does generally get longer as you play, but also "locked" just switches to "unlocked" for example when you unlock something
There for a minute when Dyson Sphere Program first went into open pre-release, something was wrong with their save file compression, and very quickly people were reporting multiple GB saves.
Me in the matrix (so irl basically), holding a gun: "Don't worry, I'm not deleting you!"
No, I'm not playing. In reality, I'm just bumping atoms in a galactic billiards game with the biggest chain reactions.
Reductionism when "it isn't murder I just deleted your row from the national health government database"
Anyone else remember mysqlgame?
I don't remember it, because I am learning of this for the first time, which I am very glad to do. Thanks!
Eve Online, basically.
(rofl!)
\
Or you know, monetary & financial systems we humans trust in.
Pretty much them zombies would be in active memory
Incidentally, just decided my new band name, active memory zombies
I'm going to name mine "Random Access Zombies"
The Zombie Cache
Hard to kill zombie process
After hours of trial and error, I finally changed the integer on the BossKill parameter from 0 to 1!
I like to dramatically DELETE rows FROM slow_database
I would play a database management roguelike.
Intensity comes from keeping up and fixing the bullshit your coworkers cause while attempting to build in idiot guardrails to stop further damage.
MDR in severance?
I feel like most IT people are actually playing a roguelike with the work UI ever (Jira)
Must know Jira, Python, Snowflake, dbt, how to find the will to live.
ON ⬆️➡️⬇️⬇️⬇️ CASCADE;
LittleJohnnyTables > Get rekt
This reminds me of when I found a project combining Quake and SNMP, you walked around on a map with the routers and switches on the network and you have different guns representing different tools, you could shoot a router/switch with one gun and it would ping it, another gun with run a traceroute, a third would reboot it and so on.
Reminds me of the VR from Community https://youtu.be/z4FGzE4endQ
Jesus wept!!
What if killing the zombies is actually alleviating processing power where the server and database are able to function better because you are eradicating the zombies. Technically, that's world conservation