• PieMePlenty@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    5 hours ago

    No problem, just mention it in the requirements - early on. Not when everything is built to work this one specific way.

  • AdrianTheFrog@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    ·
    20 hours ago

    The giant is easy. The ground is easy. The lava though… Do you want the particles to stick together? To visually connect? To collide with each other? To interact with dynamic objects?

  • milicent_bystandr@lemm.ee
    link
    fedilink
    arrow-up
    40
    ·
    edit-2
    1 day ago

    https://xkcd.com/1425

    Alt text: In the 60s, Marvin Minsky assigned a couple of undergrads to spend the summer programming a computer to use a camera to identify objects in a scene. He figured they’d have the problem solved by the end of the summer. Half a century later, we’re still working on it.


    Edit: seems I’m the third person to comment this! :')

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    17
    ·
    1 day ago

    Only in 3D. In 2D, you slap some pixels on top and there’s your scarf:

    • Charzard4261@programming.dev
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      1 day ago

      I tend to find it’s the other way around. Once you’ve got a scarf modelled and rigged, it’ll work* for all animations, but for animated 2D sprites you have a lot more things to do.

      * May have visual artifacts like clipping

  • LillyPip@lemmy.ca
    link
    fedilink
    arrow-up
    25
    ·
    2 days ago

    There’s already a codebase for bursting from the ground in an explosion of lava. Everyone wants that.

    You’re the first person asking for a scarf, and our system doesn’t even know what a neck is.

  • Lovable Sidekick@lemmy.world
    link
    fedilink
    English
    arrow-up
    43
    ·
    edit-2
    2 days ago

    Way back in the 90s I did a contract job at MS Research on a project called “V-Worlds” - a world simulator similar to the Doom or Quake engine, but it was browser-based and everything was a script, so changing how the world worked didn’t mean you had to restart a server, just change the scripts and new stuff would appear right in front of you.

    Anyway the concept of adding accessories to the player’s avatar and even having a pet follow you around came up, and I remember there was an involved discussion of how difficult/impossible that would be. The player’s avatar was a special object class that represented a user, and didn’t have the same capabilities as ordinary objects in the world. I remember asking, “Why isn’t the avatar just a world object the player happens to control? Then you could do all kinds of cool stuff like let the player transform into something else just by switching objects, or let another player run your character.” Dead silence. I was just a contractor, what did I know?

      • Lovable Sidekick@lemmy.world
        link
        fedilink
        English
        arrow-up
        12
        ·
        edit-2
        1 day ago

        I wouldn’t mind seeing that! After V-Worlds was declared “completed” MSR tried to find a product group to fold it into, but nobody wanted to own it. I don’t remember if XBox existed then, but the code just sat there for a few years, then I heard they opensourced it. When my kids were playing ToonTown I found a bug that let you slide behind the background and move around, like you could see that a clerk behind a counter was just a legless floating torso. The method of getting there seemed to be exactly like a V-Worlds bug, so I wondered if Disney might have been using the code. But it could have just been a common graphics bug, I dunno.

        I remember finding another bug while creating a demo with a snaky sea creature swimming around. To animate a multi-segmented object you had to animate each segment separately. After the animation ran for a minute or two, enough unrelated interrupts would happen in the computer that would throw the body parts out of sync, making body parts either merge into each other or move apart, and the whole thing would look like crap. Same thing if you had somebody ride in a car or on a train - the car and character were animated separately and you’d end up with the character floating along behind the car.

        I asked the dev about making the animation itself an abstract object whose position would be moved around, and attaching in-world objects to it, with position offsets. Each animation step would be computed just once instead of for each body part (or for the person and the car), and all the parts would be rendered with offsets from that one position, guaranteeing them to stay in sync visually. He said yeah that’s a good idea, but we’re not working on that code anymore. Oh well.

        Another bug involved moving from room to room. The engine only loaded graphics for the current room, so when you went through a doorway it would load the new room and dump the previous one, causing a very unnatural visual delay that looked like a glitch in the matrix. The way we coped with this was by putting an entire world in a single room, so all the world’s graphics were loaded all at once. But this not only limited the world size, it meant we had to create our own version of the room system in script. To keep track of where players and objects were, we put invisible barriers in doorways and used event handlers when things passed through them. Then we used this to enforce which players could talk to each other or hear sounds made in a given “room”.

        I suggested loading a cluster of rooms at once - the current one and those that were one connection away. Then when an avatar passed into a doorway the new room’s graphics would already be there, no glitch, and the graphics for nearby rooms could be loaded and unloaded in the background. Again, nice idea but we’re done working on that code. Sigh. I really wish I had joined that project about 6 months sooner. Not like I’m a genius or anything but these seemed like really fundamental things that should have been addressed up front.

        Okay, rant over. I haven’t thought about this stuff in quite a while - I’m kind of amazed so many details are still in my head. I must have agonized over it a lot at the time lol.

  • tiredofsametab@fedia.io
    link
    fedilink
    arrow-up
    16
    ·
    2 days ago

    Player? Easy. Scarf? Easy. Wearing a scarf? That depends on a lot of factors such as which part of the body, how the models were made and rigged, etc.

    • Baggie@lemmy.zip
      link
      fedilink
      arrow-up
      4
      ·
      1 day ago

      And if it like blows in the wind that’s a whole jigglebone system and wind simulation that’s a lot of stuff going on

  • SkunkWorkz@lemmy.world
    link
    fedilink
    arrow-up
    31
    ·
    2 days ago

    Game director : we’re gonna add interact-able doors with proper door opening animations for the characters

    The game designers:

    The programmers and artists:

    The producers:

    • MonkeMischief@lemmy.today
      link
      fedilink
      arrow-up
      27
      ·
      edit-2
      2 days ago

      Now we need to decide in the case of collisions if:

      • Doors violently push anyone out of the way, possibly “crushing” them into walls or
      • Force themselves back closed, turning any random NPC / obstacle on the other side into an unbeatable lock or
      • Just trap an unfortunate NPC in a corner on the other side, or
      • If they use the physics system to swing open, in which case they’ll look smooth but possibly bonk the player/actor going through them a few times and could potentially (and comically) insta-kill them if physics is feeling grumpy.

      The frustratingly comedic unintended results of any choice makes for great organic marketing though.

      Gamedev is magical.

      Aside: Know what did this really well though? Resident Evil games after RE:4.

      The ability to “slowly quietly open”, and then at any time decide to violently action-hero kick it open to send a zombie on the other side flying, was genius.

      • Revan343@lemmy.ca
        link
        fedilink
        arrow-up
        5
        ·
        2 days ago

        Have you ever played ATV Offroad Fury on the PS2? When you reached the edge of the map, it would just fling you back towards the center.

        I propose that is how we deal with NPCs blocking doors. With negated fall damage, of course

        • chellomere@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          1 day ago

          Wow, memory unlocked! Motocross Madness did this too, if you managed to drive up the giant wall surrounding the world. I checked, and it turns out both these games were developed by the same company, Rainbow Studios, so probably they used the same engine.

        • MonkeMischief@lemmy.today
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          8 hours ago

          Haha that does sound slightly familiar! Like Mario Kart’s Lakatu on steroids. 😂

          Lol okay solved! Colliding with an opening door just yeets an NPC (safely) out of the way.

          Haha there needs to be a “monkey’s paw” community but around what new bugs pop up when someone proposes a fix for a mechanic.


          New bug report: Essential NPC unable to be interacted with because they walk toward the door to greet the player and get clipped through the opposite wall at high speed.

          Sometimes they fall through the map and the game crashes when they reach -9999 meters, other times they die intersecting the wall and it soft locks the main quest.


          Fun story rq: Deus Ex: Human Revolution had the most bizarre bug where, if you talked to a gang before getting the quest to go clear them out, on the second visit one of them would just spawn… like…on the moon, apparently? (A ridiculous distance upwards, not even visible except by objective marker) Made the quest unbeatable until they patched it hahaha.

    • propitiouspanda@lemmy.cafe
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 day ago

      Legend of Zelda did it well.

      Honestly, I think a major issue with doors is that they just slow down gameplay.

      It’s like coming across a ladder only every building has one.

  • tetris11@feddit.uk
    link
    fedilink
    English
    arrow-up
    36
    ·
    edit-2
    2 days ago

    Well yeah, we have a character model for the giant demon and the giant demon has a huge use case.

    A scarf? That’s a model extension. Either you’re asking me to create a whole new character with a scarf baked into the mesh that will deform weirdly as the character moves, or you’re asking me to implement an accessory-anchor system all for the sake of a scarf (albeit other accessories might use this new framework) which will then need a physics/cloth sim to even look half good.

    • Natanael@infosec.pub
      link
      fedilink
      arrow-up
      14
      ·
      2 days ago

      You could import fabric physics and just have it lie there, but that’s going to be a bigger hit on performance than you possibly can imagine and it will move weirdly (in large part becomes we’re not modeling wind, just fabric in a vacuum) and the model features it will lie on top of won’t deform accurately from the simulated weight, etc…

    • HubertManne@piefed.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 days ago

      my thoughts. system has to be made for costuming from the get go and you bring in a wierd new character race and everything breaks for them.

    • propitiouspanda@lemmy.cafe
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      2
      ·
      1 day ago

      or you’re asking me to implement an accessory-anchor system all for the sake of a scarf

      It… shouldn’t be that difficult?

      It’s literally adding another piece of gear, like gloves, breastplate, helmet, etc. Now just repeat the process for a scarf.

      • Bimfred@lemmy.world
        link
        fedilink
        arrow-up
        5
        arrow-down
        1
        ·
        1 day ago

        A character model is made up of “slots”. The head slot, the chest slot, the legs slot and so on. When you equip a piece of gear, it replaced the body mesh in that slot. So a helmet model replaces the head, a cuirass replaces the chest, I think you follow. If you want a piece of gear to only partially cover the character, you need to create a new slot. But gear is easy to implement, since it conforms to the character’s “body” and uses the same animations.

        Now add a scarf. First, you need to create a new slot, so that equipping the scarf doesn’t replace the head or chest. And then comes the question of animations. Are you going to have the scarf just lay flat against the character? That’s the easiest approach, but it’ll be completely static, look like ass and probably clip through at least some of your armors. You could use a cloth sim. If your scarf mesh has enough polygons, it’ll look the best. But it’s also computationally expensive, especially if you go with mesh-based collisions for maximum eye candy. And what types of objects can the scarf collide with? Just the character, or world objects as well? Every object the scarf collides with will create a whole new slew of physics calculations, all the time, dropping your performance in the gutter like a mob snitch. Or you could create a bespoke rig for the scarf. It’ll look better than a static object and won’t have a notable performance hit, but won’t look as good as the cloth sim, especially since it won’t collide properly with whatever else your character is wearing. And you’d need to create matching animations for literally every animation the character can possibly do. Every. Single. One. Your animators would want to murder you. And they will, when you come back to them a little later and say “Okay, real impressed with the scarf, now let’s make 5 different ones. And I want capes.”

        TL;DR: It’s not just another piece of gear.

        • propitiouspanda@lemmy.cafe
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          6
          ·
          1 day ago

          TL;DR: It’s not just another piece of gear.

          Yes it is. It’s identical to adding a cape.

          TL;DR: skill issue

          • Bimfred@lemmy.world
            link
            fedilink
            arrow-up
            3
            ·
            1 day ago

            I didn’t think I’d have to point out that adding a cape is a similar pain in the ass. Dynamic objects like scarves and capes are not the same as a shirt. If your character framework isn’t set up for them from the start, implementing them is not as simple as “just plop it in there bruh”.

            • propitiouspanda@lemmy.cafe
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              5
              ·
              1 day ago

              I didn’t think I’d have to point out that adding a cape is a similar pain in the ass.

              Yeah, skill issue.

              • Bimfred@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                1 day ago

                Right. Go add capes that aren’t just rigged to the existing skeleton to Jedi Outcast or Morrowind, then come back and tell me how easy it was.

                • propitiouspanda@lemmy.cafe
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  arrow-down
                  3
                  ·
                  edit-2
                  1 day ago

                  Already done.

                  Soft-body physics aren’t hard.

                  In fact, I challenge you to do it yourself so you can see exactly how easy it is.

        • propitiouspanda@lemmy.cafe
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          I mean, if it doesn’t then it’s just adding to the model.

          Django from Boktai had a scarf. I doubt it was difficult to add.

          Even then, it becomes a problem of adding a gear system at all and a scarf is pretty irrelevant.

    • psud@aussie.zone
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      1 day ago

      My bg3 character is female. She was in slacks until act 3 where she could finally have a dress

      We looted everything. I feel like there are two dresses in the game: the robe Gale wears and a white dress you find in a Balders Gate house near the end of the game

  • frezik@midwest.social
    link
    fedilink
    arrow-up
    13
    ·
    edit-2
    2 days ago

    Always have to remind myself of this when managers ask me if something could be done. If it’s easy, I naturally get a little annoyed that they’re even asking. But knowing that is my job, not theirs, and it’s good that they ask. There’s lots of places where they assume and things go badly.