Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)S
Posts
4
Comments
262
Joined
3 yr. ago

  • Oh man - I loved WRoEF, but the bathtub segment has ensured I can never play it again.

  • Ugh - this game!

    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.

  • To be horribly pedantic... Not necessarily!

    It could be Apple users -> Windows users -> Linux users -- with larger numbers of Apple -> Windows conversions than Windows -> Linux conversions...

    You know.

    Maybe.

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

  • Listen here, you little shit--

    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.

  • "Fun" is in the eye of the beholder.

    If OP is having fun with Java, that's awesome.

  • 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

  • How do y'all solve that, out of curiosity?

    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!

  • Clearly they took off every Zig.

  • Today - Smashing Pumpkins

  • Yeah. Some basic tables showing how a json object would be encoded in CBOR would go a long way.

    RFCs make for dry reading.

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

  • Ha ha - thank you! I love that story too.