• funkless_eck@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    edit-2
    9 months ago

    I remain politely skeptical. I’m not the least technical person- but also not a dev - but this AI has to create multiple NPCs that say sensical things, in a narrative form, in a reachable location, in a playable architecture and geography, using themed assets, realistic and not over-/under- powered rewards… draw, plot and arrange said assets, actors, cues, generate speech-to-text and assign the correct asset to the correct cue/trigger — all of which seem to me to be beyond the reach of AI/ML models at the current point in time, or else subject to multi-hour loading and generation times.

    Then there’s the issue of if you’re generating assets for the engine, and it needs a filesystem to store those assets, is it not incredibly easy to create massive security holes? An attacker looks at the program, see it generates and FBX or OBJ and can use that as a security hole to inject malicious code.

    Also, doesn’t engines like Unity, Godot, need to compile these assets and process them? It’s beyond my technical knowledge but you can’t edit game assets on the fly, right? Like I can’t just open up MYGUN.TEXTURE and paint it blue and now I have a blue gun without closing the game, right? How do you work around that?

    • Mako_Bunny@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      You can change assets on the fly, yeah. Usually with stuff like making a gun blue you’d just load another texture and apply it to the material. It really depends on what the game is designed to do. For example a game where all the lighting is baked would have issues if certain parts of the level were changed in real time because you’d need to rebake the lighting (or add some dynamic lights specifically for certain objects)

      Stuff like creating a quest in real time to the extent of hand crafted quests doesn’t sound like it’s quite there yet but there doesn’t seem to be a technical limitation there other than what AI can do and how to refine it to do that in an interesting way. You never know but it still feels a bit early considering how little has been done so far.

      • funkless_eck@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        9 months ago

        other than what AI can do

        Not to belabor the point here, but in a discussion of “can AI do this” [now/soon] - saying “if AI could do this… then it could do this - but it cant - but it might” doesn’t seem to really counter my point that the next 5 years being full of empty promises about the potential (but not actualization) of AI.

    • Adalast@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      On your first point, no, an individual AI is not, and never will be, capable of doing all of those things. What is will be is an analog to how the human brain works. You don’t see, hear, move, and process the words of a conversation you have while walking down the street with a friend using the same pieces of the brain. The occipital lobe, auditory and locomotive sections of the somatosensory cortex, and language center of the prefrontal lobe handle the parts independently of each other, then the information is brought together and presented to your conscious mind. An AI-driven questing system would have multiple specialized AIs that worked together to generate it. So a model which analyzes the current state of the player to determine valid reward thresholds and quest objective difficulties, another one which maps the current world lore to make sure that the quest fits into the world state, another which fills in all of the dialog based on NPC background variables, then a final AI which is trained to look at the outputs of the others to resolve conflicts. Finally, an AI voice synthesis can round out the experience for players. All of those can run in parallel and can use quite a few metrics from player interaction as feedback for refining the training.

      To your second point, most of the aspects of a quest are rather small and can be stored in memory. The rewards can get interesting. If they are a world object, procedural modeling can go a long way to making it so asset generation is not necessary. If it is perks or traits of some variety, this could be something generational which uses keyword detailing to create the parameters for the trait. Generation and storage of details and items are not really much of an issue.

      As for the engine questions, all of them can process geometry, textures, and text from memory or new files on disk. If something needs to be compiled, then it can be compiled on the fly. Again, individual assets are pretty lightweight and would not require a lot of processessing.

      Another speed-up would be to pregenerate details of the quests rather than attempting to do it all using a just-in-time implementation. The game could generate the parameters for the world for NPC’s in town when you load in, starting with the ones closest to the player position and progressively iterating over them in the direction of travel. All you need to do is have details ready for the “chat bot” portion of the interaction by the time the player is capable of reaching any given NPC. These are the boundaries of what is possible so not as heavy as generating the whole thing. Then the rest can be filled in while the player talks with them.

      The biggest issue I see is continuity error hardening. Making sure that all of the NPC’s worlds are consistent with each other and nobody makes changes that break the world for other NPC’s. That is specifically what I am trying to work on.

      • funkless_eck@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        I’ve been hearing promises of the human brain being replicated by a PC since the 1980s, so again, politely, I consider that hyperbole/marketing gumpf until we see a working model.

        I don’t particularly care if “AI” means a single model, multiple models, or multiple models banded together to appear as a single model or vice versa.

        I didn’t realize you can just chop and change models on the fly, but taking those and similar issues as read (or at least probably solvable with modern day tech) — that leaves us with your multiple-AIs with specific functions.

        Now I’m not saying it’s theoretically impossible, but i am asking: will you have a working prototype that can be run on a consumer home pc in the next 5 years? Or, are you, as I am very keenly aware of, simply doing what I stated in my first post: being a tech start up promising eventual, incremental process as product features?

        Because my experience is, to generate a flat image from a model takes at least 20 seconds, not to mention 3D models with collision, mesh, animations etc. And 20 seconds is considered a long loading screen by modern standards. Gamers expect entire cities/planets to load in their game in under a minute.

        Are we even close to generating even an untextured room with a single untextured T-pose NPC with no cues, triggers or animations from AI? Or, would it simply be using a language model to obfuscate the current and standard process for generating those assets to the user, when actually it’s just loading them from RNG.

        • Adalast@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          9 months ago

          Are we close to generating an untextured room with a single untextured T-pose NPC?

          This is unnecessary. The environment and characters can all still be built and rigged using modern hand modeling and set design techniques. The get here would be the animations. All animations, and I mean all, are just a bunch of splines and interpolations in the engine. Curve fitting is something that AI’s have been getting trained to do for 50 years. It is a solved problem. What is not solved, and the reason we don’t see a ton of AI animation tools already is a lack of sufficiently large sample sets of good animations attached to a variety of rigs and a method of training the AI to be environmentally aware. I imagine the latter could be solved using computer vision techniques with virtual sensors like what is used for Crowds. It is actually a hypothetical problem that I am planning on tackling after my current project.

          Or would it be using a language model to obfuscate using an RNG?

          This is almost insulting to the entire field of AI development, not to mention the mathematical fields of Probability Theory and Statistics. While AI models do function on Game Theory and Probability Theory models and are probabilistic, they are most definitely not any form of RNG. If you have that mindset, I suggest you do some more reading on the topics in scholarly publications or textbooks. Skip the pop-sci articles and blog posts.

          As to your questions on timing, it may be this year, it may be 20 years. 2 years ago the idea of making photoreal images with AI was a pipe dream, then along comes Stable Diffusion and in less than 18 months we have gone from making passable images of a cat to an almost fully art-directable toolset capable of creating coherent videos. This is an amazing progressive leap and AIs in general have become more diverse because of it. It is a testament to just how fast something like this can grow given the right FOSS architecture and public interest. My guess is that it is closer to the 2 to 3-year range for a coherent world-building AI. That is not modeling, rigging, or animating, just the textual stuff. Story, relationships, lore, history, etc. My first tool I am trying to build is a world-building assistant for TTRPG GMs if that gives you a clearer picture of what I’m talking about.

          Finally, the geometry generation times. You mention your experience, but I am struggling to pin down exactly what that entails for you. I mentioned using procedural modeling and having an AI that decides the parameters of the procedural when doing the modeling. In this setup the modeling is all mathematics and is done instantly. It can even include procedurally defined animations and affects that are able to be generated on the fly in microseconds. If you have 3D experience, I would suggest checking out Houdini ( https://www.sidefx.com ) to get a better grip on what is possible with proceduralism. They also have tools for doing rigging and animation that an AI could directly interface with, which can be utilized in game development realms as well as VFX.