Well - I played both and I quite enjoyed Heaven's Vault as well.
I played HV through twice - once for the story and then a second time to see how far I could alter that story with different choices. My wife even played a third time to try for a really particular set of events.
The translation game in HV goes much harder than Chants'. After the first playthrough, you get longer and more challenging texts to decipher.
Also - there's no backtracking really required. The game is pretty strict about telling you where you can and cannot go and reacting to what you found or didn't find. You can cut whole plot lines in HV and it's no problem.
Which makes it one of the better games for replayablity in my mind.
I loved it. The mechanics of The Scene is still one of the most amazing bits of storytelling I've seen in a video game. I think about it frequently when I'm considering how video games can tell stories in ways that movies or books just can't.
The game as a whole is good, but a little uneven IMO. But I'd put that scene up there with Braid for the sheer impact of storytelling-via-videogame-mechanics.
If you don't already know.. the "corrupt" text in the terminals is where a lot of the semi-secret story clues are - especially in the beginning. If you want to know how to read it, lemme know and I'll tell you what you need. Otherwise, no spoilers.
That said, the puzzles in the game are pretty consistent throughout, so if solving 3d spatial arrangements of laser beams isn't fun for you - it's not gonna get any better.
Also... A big part of playing Death Loop was figuring out the proper order to kill everybody. ... and sadly, there's only one order that will work. So once you know the order, a big part of the challenge is eliminated.
It would have been really cool if the game selected a random ordering for your character at new game start and each target's vulnerable timing changes accordingly. Something similar to how some of Dishonored's missions could have multiple solutions.
... but I get why they didn't. Dishonored had mission variants just switch up some text which is relatively cheap compared to having fully different behaviors and speech and so on that would need to be created just for the tiny set of players that not only finish but replay a game.
As someone who played through Dishonored 1,2 and all their respective DLCs multiple times, I was sad that Death Loop didn't have the same level of repayablity baked into the overarching structure, but I still quite enjoyed the game itself. I just finished it once and moved on.
Nah. AI-generated content doesn't "ruin" the internet any more than Disney can "ruin" Star Wars.
The good stuff is still there. Always has been. Low effort Sora vids don't reduce the entertainment value of - say - Tom Scott's oeuvre.
What AI spam does its the same thing all spam has ever done - increases the amount of noise we have to filter.
Noise is always cheaper to manufacture than signal so it always appears to dominate. ... but any given noise has no lasting commercial value, while high quality signal always does. That's why the old newspaper companies are still around even when you can just read Twitter to get the gist of world events.
Intelligence and thoughtful design matter.
We're gonna see a lot of AI spam for a couple years. But I promise you someone is already working hard to figure out how to identify it.
When I first joined the internet it was considered virtually impossible to detect and block spam reliably. Now, email spam is a rare annoyance that only impacts us occasionally.
Someone will crack AI-detection, or better yet, solve "this is noise" detection once and for all.
OK, so we should all just start prefixing every comment with marker meme text for the bots to learn (and humans to filter out). The bots pick up some truly weird patterns and go insane.
More insidiously, have an LLM rephrase all comments between posting and display. Looks human-enough, should still contain our salient points - and plays merry hell with future training efforts.
(This is not an idiom, just something I realized as a parent.) Sometimes, being an adult means "reaching into the shit."
Shit has to be dealt with. My kids - as babies - could not deal with their own shit. It was my job and responsibility as their parent to clean up that shit. And sometimes something would get dropped in the shit. And you gotta reach in.
Nobody likes dealing with shit. Everyone tries to take as little shit as they can. But some days, no matter how I feel - it's on me to reach into the shit.
Classes are Data plus the code required to modify that Data. The idea is to encapsulate data modifications into one thing (a Class) that knows how to modify all the Data as a single unit. This lets us write some code to describe, say, a Scrollbar widget. The Class for the widget combines all the Data for a Scrollbar (position, orientation, bar size, total size, etc) with the methods that read or modify that data (scroll up/down, change size, draw, etc).
That's the first Big Idea of OOP - that data should be grouped with the functions that modify it. If you don't have that - as in C - you have to write functions that only work on a given data type but which are namespaced separately. You get functions like void set_scrollbar_pos(void* scrollbar, word pos) which become verbose in a large project. (I'm not saying this is the worst thing in the world, just a different style.)
The second Big Idea of OOP is message passing. Now that we have code and Data bundled together, it would be nice if Objects that share functions of the same essential type and intention could be swapped out interchangeably. So instead of directly invoking a function on an Object, we send a 'message' that says something like 'if you know how, please draw yourself on screen, relative to X,Y'.
Of course, since plain English is hella verbose, the actual message is going be something like "draw, X,Y" and the Object receiving the message then sorts out if it has a method called "draw" that can use the provided X and Y. If so, it runs the code to do so. If not, you get an error.
Messages like this mean that you can swap out compatible Classes for one another. E.g. you can ask any collection of widgets to .draw themselves with a single method and let the compiler/interpreter generate the machine code as needed. That reduces the amount of boilerplate for engineers by a lot! Otherwise, trying to work with any collection of heterogeneous Objects (like a List of every Widget contained in a Window) would need to have essentially the same code rewritten for every different Type needed - a combinatorial explosion of code!
Tl;Dr -
Classes help organize code and simplify state management by combining data with the functions that manipulate that data.
Classes reduce the amount of boilerplate code needed by allowing methods with the same "shape" to be called interchangeably.
Everything else about OOP is essentially built off these two ideas. I hope that helps.
This - and don't worry that this is somehow "cheating". It's how a ton of programmers got their start. Old farts like me learned a lot by messing around with GORILLA.BAS
I'm a hobbyist game dev and when I was playing with large map generation I ended up breaking the world into a hierarchy of map sections. Tiles in a chunk were locally mapped using floats within comfortable boundaries. But when addressing portions of the map, my global coordinates included the chunk coords as an extra pair.
So an object's location in the 2D world map might be ((122, 45), (12.522, 66.992)), where the first elements are the map chunk location and the last two are the precise "offset" coordinates within that chunk.
It wasn't the most elegant to work with, but I was still able to generate an essentially limitless map without floating point errors poking holes in my tiling.
I've always been curious how that gets done in real game dev though. if you don't mind sharing, I'd love to learn!
Once upon a time, I was fairly strong but I couldn't touch my toes. That full deep stretch was just a little beyond me. It always had been, as long as I could remember in my adult life. Throughout years of martial arts and parkour that moderately normal level of flexibility eluded me.
Then I quit my job at Amazon. I was so burned out I ended up taking 6 months off. During that time I mostly hung out around the house. Played with my kid. ... played a ton of Minecraft.
The point is, I wasn't doing any new exercise. I was just doing things other than hunching in a chair all day. And just before I started a new job I discovered that I could touch my toes again!
I asked my new job for a standing desk - and I've kept that practice up at every job since. I alternate between standing and sitting on a tall office chair. I estimate that I stand a little more than half the day all in, but being able to transition has made a huge difference for me.
I'm in my forties now and I can grab my feets no problem. I don't do any dedicated stretching - I'm just not hunching all day.
Yep. And it was great. My wife and I married young - only in our early twenties. Because of reasons both us had grown up a little too fast and as young adults we mourned the fact that we'd never really gotten to enjoy our childhoods.
So we decided to hunt down all the crap we wanted as kids. We hit antique shops and thrift stores, eBay and garage sales. We found a ton of the things we'd always wanted.
Popples and Rainbow Bright dolls.Kenner Star Wars action figures.Video game consoles.Transformers.
We bought the crap our inner children still wanted and gave ourselves permission to enjoy it - and then let it go.
Ultimately, we didn't keep much of it - though we've still got a box of a few favorite dolls, games and action figures somewhere. A few toys even got passed down to our own kids.
I don't regret a moment of it. Giving ourselves a belated childhood was fun - and it helped us move on and say goodbye to that part of our lives.
Well - I played both and I quite enjoyed Heaven's Vault as well.
I played HV through twice - once for the story and then a second time to see how far I could alter that story with different choices. My wife even played a third time to try for a really particular set of events.
The translation game in HV goes much harder than Chants'. After the first playthrough, you get longer and more challenging texts to decipher.
Also - there's no backtracking really required. The game is pretty strict about telling you where you can and cannot go and reacting to what you found or didn't find. You can cut whole plot lines in HV and it's no problem.
Which makes it one of the better games for replayablity in my mind.
It is - for sure - slow paced. Almost meditative.