Jump to content
The Dark Mod Forums

demagogue

Development Role
  • Posts

    5905
  • Joined

  • Last visited

  • Days Won

    95

Posts posted by demagogue

  1. 9 hours ago, SeriousToni said:

    @demagogue is there a way to make sure that both, the ai and the player are inside the same room? Otherwise the boundary trigger triggers once and if the player isn't there he / she can't hear the bark.

    This is the first idea that comes to me. The easiest thing you can getkey from the AI is the literal xyz coordinate location. So you could have a script make a simple distance check from that to the player's position via good old Pythagoras's Theorem. If you trigger a "nearby" state at a distance that's close enough, that will probably put them in the same room or anyway nearby. And you can get the player's location, so you can still modulate the barks based on that.

    In the background of what you're talking about is that with the new text-to-voice AI they have now, we can make new barks that sound exactly like the original voice actor. That makes it possible to add to existing AI barks, so we can make convo barks in the same voice as the system barks, or we can make new system barks, etc. I think there's a lot of good potential with that for unique and more interesting AI interactions in FMs.

    • Like 2
  2. I've been watching too many quantum physics videos. I thought you were gonna talk about the collapse of quantum wave functions.

    But anyway, Tels made an algorithm that made a procedural dungeon for his own TDM branch. I don't know what the relationship was to this algorithm, but the result sort of looked like this.

    • Like 1
  3. The value is that authors can make their own dialog instantly, listen to it, change it instantly, and go through 20 iterations in a half hour, and do it all night long.  In particular, you can keep doing takes of the same line until it gets the prosody how you like it.

    You also only need about 1 minute of a sound clip to make a perfect rendition of a person's voice.

    And it doesn't even have to really be a good voice actor. You can use your own voice or family members, etc. The system makes it sound good as far as voice acting. Using a real person is great, but it can't really compete.

    • Like 4
  4. I remember reading about Spar talking about the S/R system in the dev forum, which was interesting for me. (This would probably have been years after it all happened because I was a latecomer too, although IIRC he was still around then, but I was really absorbed with reading old threads anyway.) Unlike many of us, he'd never made FMs for Thief. So his knowledge of Thief's S/R system came from the reports of people that had come from Thief mapping, and he did his best to reproduce what they were saying. He was a bit worried about if it would meet mappers' expectations.

    But the system he made was pretty cool, and I think even a bit more intuitive than Thief's system. (They ended up not too far apart anyway.) But it made me think sometimes not knowing exactly what a thing is, but having a vision for it can be liberating... because you can follow the vision without being bound to the past.

    I guess that's not such a big insight into him. He had a thoughtful leadership style, and I guess no more or less human than any of us. The lesson I got from that story kind of stuck with me though.

    • Like 3
    • Thanks 1
  5. Yes, if we did this we'd just have our own voice actors contribute their voice. The old way was concatenation. You have the voice actors say literally every possible phoneme and transition in English, and if possible in multiple ways apiece, and then the program knits them together. I think I read that can take more than 6 hours of recording. But I believe newer systems can take a good stretch of recorded speech from a person and generate the phonemes itself. That would be a great project for us if someone wants to take it on.

    There may also be some open source voice models out there at this point, but you'd have to make very sure they're consistent with our CC license.

    • Like 1
  6. Some people have been asking about my FM, so I wanted them to have access to a version without the glitch mentioned above (i.e., the pagan woman model that clipped so it looks like she's laying in the sky above Harlan's house). This and it's time that that glitch was fixed anyway.

    So I made a really quick fix. Basically I opened the .map file and just deleted the pagan woman reference directly. I renamed the file to end with "np" (for "no pagan"). Is it possible for someone to replace the previous version with this one on the download mirrors so it's available in the in-game downloader, etc.? Cheers. (I tested it to confirm the fix.) And this post can also be a general announcement that the glitch was fixed.

    Here's the link to the new file: https://drive.google.com/file/d/1-tgN1gyUoYd8qACZ61bd7qHcZAxpAwCN/view?usp=sharing

    • Like 2
  7. This is an irrelevant aside but...

    That wiki article had one of the most enlightening things I've been wanting to know about for a long time in it an almost throwaway little aside in the 2nd paragraph of https://en.wikipedia.org/wiki/Euler_angle s#properties ... which after a little following up through some of the linked wiki pages is (I think; it's nuanced math, so I'm never entirely sure) that the quantum spin of a particle is a feature of a 3D rotations in a 4D rotation space, which (again if I understand it) is very close to our Euclidian intuitions that contiguous bodies rotate together (in S^3 space), except the rotation space it actually fills up (RP^3) has these isolated 0D points that also "have rotation".

    I'd been trying to figure out since forever what quantum spin really was because it's crazy at face value. But seeing it as just a natural & necessary property of rotation symmetry, which is all a particle is (Poincare symmetries), somehow makes me feel better about it. It isn't so unintuitive and arbitrary seeming now. I mean imagining how space really works is still odd, but it fits the math of everything else happening in a particle like a champ, and word on the street is that spatial relations are a property of symmetry relations & not the other way around anyway.

    It's just funny that I'd find it in a thread following up on a game coding question of all things, after trying to understand it through so many other routes after countless direct searches and reading tutorials.

    Okay, sorry for the aside. I felt moved to say something to someone about it.

    • Like 3
  8. 54 minutes ago, Obsttorte said:

    Besides the fact that an uniform scoring system does neither take the missions size nor the overall setting into account, which is very individual among missions and can make the difficulty in reaching a specific score differ vastly. You notice whether or not you cause a mess when playing a mission and how often you get spotted. Do you really need a piece of code to tell you how well you've done?

    That's a fair reason for a person to not pay attention to the Stealth Score, but I think it still has value.

    Regarding the FM-size issue, we moved it to an additive system so it goes up forever for that reason. It's like golf. Big FMs can have big par values, and small FMs can have a small par value. I even tried to get the community to come up with par values for every FM to standardize it, and I still think that's a fun idea.

    The value of having the code tell you something you probably already know is because then the game is officially registering your victory, which for some people gives a nice feeling of recognition for their effort, and for others, it allows them to post a screenshot of the Score to verify their accomplishment, e.g., in a ghosting run tread.

    But it's a small part of the stat screen, so no real bother to anyone anyway.

    54 minutes ago, Obsttorte said:

    But if the player understands what you wanted to achieve and can give reasonable arguments on why he thinks a different approach would work better, it is worth thinking that through and see if there are ideas worth adopting.

    I agreed with all of that. I'm all for more discussion of issues an author might not have thought about. In that respect it's a kind of extended beta-testing, which is a really important part of the process making a map, and no reason in principle it can't continue even after it's been released. It's just changing something without their input that crosses the line.

  9. The problem is alert attribution. A mere alert state elevation, e.g., the guard seeing non-player enemy, should NOT count towards the player's Stealth Score! Don't do that!

    If the stealth score registration applies only to guards seeing absence markers, then I think there are good arguments on both sides whether a guard alert should register against the player. It's in a similar category as AI seeing blood, bodies, and weapons. But in this case I think it's okay to count to the stealth score because other AI can kill other AI, but other AI do not steal, so unlike the other examples, the absence marker is uniquely the player's fault in the game. So making only that count to the stealth score is fair I think. But yes, some bark or other indication would also be fair.

    Re: the proposal for the spawnarg for guard's noticing loot being removed, I think it should not be removed IMO because now you're directly contradiction a design decision made by an author. You can criticize the author and say that's a stupid mechanic, sure, or there are cases where there are bugs and the design intention isn't be followed that should be fixed to meet the intention, but I think intentional design decisions that work as intended should never be changed because authors should have absolute autonomy over their own design.

    Edit: Informing authors that that mechanic can ruin ghosting runs, which many players value, and then leaving it up to them to decide whether or not to change it for that reason, that's a valid thing to try to do IMO, as long as its the author's final decision what to do.

    Edit2: There is an argument there to leave it alone too. It punishes the player by putting the guard on alert to create more challenge, but it doesn't count to the stealth score so people can still do ghosting runs & be validated for them according to traditional ghosting rules, which have never counted stolen loot to a ghosting bust. So that's the argument to tolerate guards going on alert seeing stolen loot but it not counting to the stealth score. And it's a good argument IMO, since the stealth score has always been linked to people caring about ghosting attempts, or how close they can get to it, and it follows the rules better. Don't fix what isn't broken.

  10. I guess I'll put this here for the record for now. There's a console command to turn on text on the screen that shows the AI state, including stims, their current alert state, the ramp down, etc.

    If we were trying to properly debug this, one of the first things we'd do is turn that on and make a video reproducing the bug. There's also a debugging way to turn on the stealth score as well, so you can see what it's doing at the same time. Then it's just a matter of paying close attention the values in line with the events in the video, and that often gives enough clues about what's happening in the code to track the problem down.

    If you wanted to track it down, you'd look up the commands to do that. Short of that, you could just make a regular video reproducing the bug and we could go from there.

  11. Oh I left out a part I was going to mention that might explain that.

    The alert has to be attributable to the player. Stims carry an attribution tag. Obviously the player shouldn't be penalized for a guard seeing another enemy. But part of that IIRC is if there's something like a body or a blood stain or a weapon, etc., that the AI sees, there's nothing tagged to the object that's connected to the player. And it's not something you can even easily hack as an attribution system is, well, an attribution system.

    This may explain what you were seeing. It could be something else, but that's what occurs to me. (The cascade effect was solved by clever coding, and it definitely counts towards stealth score. So that wouldn't be the source of that problem at least.)

  12. In the stats screen, there is a little arrow at the bottom and if you click it, it takes you to a new page that actually breaks down your stealth score into exactly which alerts were added. It's what thebigh said. The AI have a 5-state alert system, so there's just a multiplier for each level.

    Level 1 was left off because it's just too sensitive. In some FMs it's already busted right when the FM starts, and it kind of defeats the purpose of a score if a perfect is impossible just because of the mission design. And it's also following traditional ghosting rules. The basic rule is, you're busted if someone "knows a person was there", which only starts from level 2. One of the goals was to allow players to say they ghosted a mission when they get a 0 stealth score.

    One interesting tidbit behind the scenes was that it's actually pretty complex to design the system because alerts usually don't occur once. It's usually a cascade of dozens of alerts as an AI in pursuit keeps seeing you in front of him. So we (I say we but grayman did most of the heavy lifting, but we had a lot of back and forth discussion about how to make it work) had to design it so an alert was like a discrete event.

    An alert only counts the highest peak. So it doesn't add the progression through levels 1, 2, 3 if it hits 4. It just counts "4" as the highest hit. And AI have to completely ramp down and stay ramped down for some time period, and then be retriggered from an unalerted state for it to count as a new alert, otherwise it's treated as the "same alert". I learned a lot about designing real world systems for code to handle it in a sensible and satisfying way from grayman for this project. What a hero. I can't say enough good things about him.

    • Like 3
  13. What you described is standard practice in the industry. You're supposed to start with rough brushwork first, laying out the entire level in a rough block form, see if it works, change what you need to, and then you take progressive passes developing and later detailing each area with modular set piece meshes or more detailed brushwork absent that.

  14. Just in terms of the raw tech, human brains still have ~8 orders of magnitude more nodes or multiplications (10K vs 1Q synapses I think it was), even assuming you equated nodes between neural nets, which is misleading, but it still handwaves at the distance artificial neural nets lag behind in pure information terms. We're still in earthworm territory and need high end graphics cards to crunch that much.

    That's not a mysterian argument, but it has a similar punchline. When your model lags that far behind, it may as well be magic what the brain can do in comparison.

    It's interesting that you can do (what seem to us like) really high level things, like this procedural art, chess engines, and probably music and other forms soon, with an earthworm sized brain; but really (what seem to us like) simple things, like ordering lunch at a fast food  joint or other open ended things, run into the AI Complete problem, i.e., you can't even do the most simple operation unless you have full human-level cognition and world knowledge.

  15. From what I've been reading in the AI lit, the next step is rapidly integrating new information into the network weights with some tricks to avoid the so-called catastrophic forgetting problem, more in the Grossbergian version of neural nets to get a little technical about it, more in the way human memory actually works. Humans also don't save visual images verbatim either, but they're procedurally recreated in memory on demand.

    Basically what it means is you can get your local AI to look at a work of art or music and it'll recalibrate its weights so it can "recall" it later based on some lightweight cue like "that painting I uploaded on (date & time)". I mean the user doesn't even have to know it's not a direct save and it got embedded in AI weights.

    -------

    I remember in high school and college reading the claptrap from some futurists about the coming Singularity, and laughing it off, not even whether we were actually approaching it, but that the very idea itself felt kind of too outlandish to buy.

    But now I'm starting to get a sense of what it might actually be like to reach that point, when AI have integrated knowledge way beyond what humans can follow, and humans having direct and instant access to it, they just take it for granted like it was an extension of themselves. Or something like that. I'm still not sure how it may play out if at all.

  16. 2 hours ago, jaxa said:

    Gaming could be hit hard.

    I can imagine when this tech goes into the third dimension it'll be a big sea change.

    I can even imagine in the future the tech procedurally generating the gameplay along with it, so you can just generate a whole game world, characters, & gameplay. I don't know if the tech for storytelling will be up to scratch on the large scale, it's lagging so far, but on the small scale I could see it convincing enough.

    -----

    What's been striking me most is that there's just such a flood of it. I have my folders of AI art... Actually I started them like 10 years ago, but I only ever collected a few things more for the gimmick of it than it actually looking good. But now I've already got masses of really interesting works in them and find masses more every day.

    But I think there's a point where there's just too much. That's what I think is going to be the big issue on the social and economic level. There's so much that one can only take so much in, and what does that do for anyone or anything else that wants to squeeze into that space.

    • Like 1
  17. Y'all should visit the MidJourney discord channel if you haven't already. The other big thing, the FOSS one, is Stable Diffusion. That's what I've been using (via the hugging space demo, which doesn't use a credit system), and it's typically awesome once you know what you're doing. But I don't know where people are posting it in a single place.

    It's coming fast and thick now. I'd say half of it is awesome, and the other near half is awesome but there's some little screwy bit you could fix up in a half hour. Then maybe 10% are duds. Of course the posts are going to be biased on the awesome end just because they've been filtered.

    The other thing I've noticed is suddenly a ton of art on Twitter and FB is AI art, and again it's typically great. Yeah, art belongs to the computers now. You can be in denial about it, and it'll take the next year or two to really settle in. But I think the die has been cast now.

    • Like 1
    • Thanks 1
  18. There's always two relevant versions of the source code, the version for the latest release and the WIP version. If you're in it for learning early on, if you want to do small little experiments where you just swap new source code in and out without changing assets, or if you have space issues or want to keep things compact, or if it's on some really niche or independent part of the game that updates probably won't touch it, etc., then the release version may be fine for your purposes.

    But if you want to get into it seriously, at some point you'll want the WIP version as an independent install, anyway, because it's kind of self-defeating to work on code that's already been made incompatible, and once you do it, it frees you up to do lots of different things without worrying about what it's doing to the game you also want to play sometimes.

    As an aside, I really encourage people to play with the source code. You learn a lot about coding generally, since it's always best to learn by doing, and by doing something you're interested in instead of boring textbook problems. And the kinds of experiments you can run on TDM tend to be fun because, as an immersive sim, there are just a lot of fun things you can do with the game and the world.

    I think a good way to start, after reading through the code a bit to get a feel for where things are, is to give yourself some random small assignments, like putting in little features or gimmicks, and then search the code for the elements that seem like they'd be most relevant for that thing. And then as you start tweaking things, the problems you run into are going to be teaching you how things fit together. It's a fun way to learn though.

×
×
  • Create New...