Enemy AI

  Рет қаралды 26,199

Timothy Cain

Timothy Cain

Күн бұрын

Пікірлер: 206
@Esure101
@Esure101 Ай бұрын
I can't remember the game talk unfortunately but there was a great comment from the designer of Thief I think that said "There's a difference between fair and what the player perceives to be fair". Basically for Stealth games it doesn't matter what the AI can "technically" see but what the player feels they should be able to see. Great commentary on what players say they want vs what they actually want.
@OpenGL4ever
@OpenGL4ever Ай бұрын
But it must also be said that the first Thief game came out 26 years ago. Today, I would expect from a game like Thief, which specializes in stealth, to actually calculate for the AI ​​what it really sees, and not just query the player's position and then check whether it is likely that the player would feel that the AI ​​knows where he is. Today's computers have many times the computing power of the old single core CPUs and a dozen CPU cores to boot. More realistic calculations should therefore be expected for a stealth game that takes place in a very small space. Here too, distance can be used. If the player is far away from the NPC, the classic calculation is used, but if the NPC is closer, the more technically realistic calculation can be used. Unfortunately, there were cases in the first Thief games where the player could assume that the AI ​​would never be able to detect him, but then it did so anyway.
@Glimmlampe1982
@Glimmlampe1982 Ай бұрын
@@OpenGL4ever but my, very possible faulty, observation it kind of is the other way round. with stealth I'm not sure, but especially with cover I feel its been the other way round. I relatively recently (meaning in the last 5 years) I played XCom, both the 'new' one and the one from the 90s, and I prefered the old one in a lot of things. and one was cover: while the old one had each shot "simulated", traveling in a straight line, it hit a cover if the cover was in the way. in the modern one, its more like a ttrpg, where it has a base toHit that is modified if you are "behind cover", which isnt "theres an object in the line of fire", but more "the player clicked the cover-option at a specific spot" thats less AI though, but I feel its related. you're not hiding because something blocks line-of-sight to an enemy, but you turn "hiding on" (by crouching) and theres a calculation in the background that basically roles some dice.
@danieldavis2017
@danieldavis2017 Ай бұрын
I always enjoy when developers add lore reason for what were clearly design decisions or limitations. For example, in Oxygen Not Included (a colony sim game) in the lore the colonists are supposed to be dumb imperfect clones. So when they sometimes wall themselves up in new construction (like they are reenacting "The Cask of Amontillado") there is a lore reason.
@mandisaw
@mandisaw Ай бұрын
+1 for the Cask of Amontillado reference, one of my favorites
@Jikkuryuu
@Jikkuryuu Ай бұрын
This is mostly irrelevant to the discussion. I'm just rambling about what comes to mind when I hear "enemy ai." This was a very interesting video! Super Volleyball for the Sega Genesis had some of the most transparent enemy ai I've encountered. One day I sat down and decided I'd actually seriously try to win the season. And it became abundantly clear that with every team I beat, the cpu would reduce its limiters. It would fumble inputs less and less often, and start mixing in both normal secret moves (that you can find in the manual) and cpu only special moves. This worked out mostly fine in a simplified sports game, as I eventually got quite skilled myself. But by the last match the whole strategy was for me to play perfectly for minutes at a time, fishing for the very rare mistakes the cpu team still made so I could score. Perfect play vs perfect play for more than 40 minutes until I just couldn't physically keep it up and didn't particularly want to. anymore.
@OpenGL4ever
@OpenGL4ever Ай бұрын
That's an important point. A good AI is also characterized by the fact that it makes mistakes that a human could also make. An AI that plays perfectly is crap. It would be great if Tim would make a follow-up video on how to make a human-behaving AI that makes mistakes.
@VraccasVII
@VraccasVII Ай бұрын
I noticed when I as a player think about the enemy AI that stuck with me the most, it's when enemies pretend to be smarter by communicating, and I get to listen in. One example would be F.E.A.R., where there are TONS of voice lines, such as dozens of variations on "he's behind that sofa/that desk/the plant pot/...". Which is info any AI would have, but hearing their callouts makes it feel a lot more real and personal. Another one are the cops in need for speed most wanted 2005, where again you get to tune into the police frequency and listen to them talk *about* you. They discuss tactics, try to describe what your car looks like, where you are going, and if something fails they might react frustrated; maybe a car gets stuck and apologizes and the dispatcher tells them it's alright. It humanizes the enemies without actually making it more clever than what you'd already been doing.
@MFKitten
@MFKitten Ай бұрын
Yeah, the communicating trick is really good. Half Life used that very well too. FEAR also used some very interesting and very cool systems to have the enemies choose interesting routes and actions that would also make them seem lively and intelligent, despite being very simple. Half Life had great enemy AI that would take flanking routes, relocate, retreat, throw grenades, etc.
@SpencerMagnusson
@SpencerMagnusson Ай бұрын
Totally agree. 2010 NFS: Hot Pursuit did this really well too, humanized them a lot.
@AthamAldecua
@AthamAldecua Ай бұрын
Oh man! F.E.A.R. was soooo good! (The first one)
@KryyssTV
@KryyssTV Ай бұрын
Something very important that Tim didn't mention with AI arcitecture is the need to know the scalability and scope of the AI simulations very early into the design process in order to choose the right approach to avoid problems. There's really just two arcitectures to consider and each have tgeir own advantages and disadvantages; these are GOAP or state-machine AI. You commonly see state machines being used for AI because they give designers very fine control over behaviour but trying to scale AI using this method becomes increasingly difficult and prone to bugs as you end up with behaviour trees that look like spahgetti code. An example of how advanced state machine AI can become is seen in Alien: Isolation. Goal Orientated Action Planning (GOAP) is a simulation for how living beings actually think by having weghted values that define "needs" for the AI which they attempt to satisfy by assembling plans from a catalogue of known tasks at runtime. A task is just a very simple function like "turn to face", "move to here" or "fire at a target" but each task is bookended with a cause and effect tag which allows the AI's action planner to stitch together a chain of tasks to achieve a goal like "attack the player". The advantge here is that scaling the AI is very easy because you just create new tasks but the problem is that deigners will need lots of playtesting to tune the weighting of the AI needs to get the desired results due to very life-like behaviour as GOAP is very much like a true AI . This approach can also beccome very resource intensive unless catefully optimised. An example of GOAP AI is found in the F.E,A.R games and The Sims.
@Suicidal_Chicken
@Suicidal_Chicken Ай бұрын
Hey actually Goal Oriented Action Planning is an entirely different form of game AI, what you're actually referring to is Utility AI. Those weighted values are called Utility Scores
@Suicidal_Chicken
@Suicidal_Chicken Ай бұрын
Just to add on, FEAR does use GOAP, but the Sims uses Utility AI.
@mandisaw
@mandisaw Ай бұрын
​​@Majorproblem689 That multi-task planning is the main feature of GOAP. It focuses on assembling a series of tasks to accomplish a goal, as described. Utility AI uses heuristic scoring functions to weigh each possible option. I think Kryyss (and The Sims) is kind of combining the two, where the Utility scoring functions are what the GOAP action-planner uses to determine which overall goal is most pertinent at a given time.
@InvalidationX145
@InvalidationX145 Ай бұрын
@@Suicidal_Chicken Good to know. So what is the difference between GOAP and Utility AI, then?
@OpenGL4ever
@OpenGL4ever Ай бұрын
Because of your different usage of the term, I took a look at the English WP. In the WP, a distinction is made between Behavior Trees and Utility System. There is a separate article for each of the two variants. If I have understood correctly, the former represents the way the state-machine like AI mentioned here works. While the Utility System talks about weighted values ​​and uses The Sims as an example. GOAP, on the other hand, is only mentioned in the article on FEAR and seems to be a mix of Ax (the x must be replaced by an asterisk, unfortunately I can't write that as a character here because the asterisk operator is used in YT to indicate bold) and a finite-state machine. The FSM used in FEAR only consists of 3 states. What is written in Wikipedia is not necessarily correct, the articles often need to be revised and corrected. And this topic still seems to be a work in progress there.
@HyperlightSniffer
@HyperlightSniffer Ай бұрын
Hi, Tim. It's us, everyone.
@kyoujinko
@kyoujinko Ай бұрын
Hi Everyone its Tim, us,
@PowerfulWizard
@PowerfulWizard Ай бұрын
Hi Us. Its Everyone, Tim.
@OpenGL4ever
@OpenGL4ever Ай бұрын
That never gets old.
@ares12351
@ares12351 Ай бұрын
Copied comment
@blefebvre
@blefebvre Ай бұрын
Hi hungry, I'm dad
@gdomjan83
@gdomjan83 Ай бұрын
Thank you Tim. I'm a solo indie developer (beginner), and you give so many good advices here.
@driver3899
@driver3899 Ай бұрын
Hi, Tim. Thanks for answering my questions! This is exactly the information I was after. I was worried because what I am using at the moment, the enemy will react to the player taking cover by either throwing a grenade (if they have one) or by finding cover and shooting at the player to supress them while another enemy tries to move to flank the player along the side of the level. I was concerned that it would seem too smart and the player might not enjoy it. But it sounds like what you are saying is that as long as the enemy doesn't appear to have information that they shouldn't have then using tactics like these is seen as interesting and not so much frustrating I am still not great at programming but what I have done is made a tactics manager script that looks to see what other scripts are attached to the enemy that are about specific tactics. So not all enemies will have the throw grenade/use AOE to flush player from cover script but they have the potential too if I add it to them. Not sure if that's a good approach but it seems in line with the idea of using one AI across the board. Anyway thank you for all the tips, I would like to add all of the concepts you mentioned, those were cool ideas! So many interesting things are involved in enemy AI, I could honestly listen to people talk about it for hours. I would love to pick your brain about how to make enjoyable (not annoying) AI for Companions in an RPG at some point too unless you have done a video on it already. Especially in regards to what it takes to make them feel like they are characters you actually want to bring with you on missions and experience the world / story with while you are playing through it.
@CainOnGames
@CainOnGames Ай бұрын
I have a video in the queue about making companions (and other NPCs) reactive to the player in non-combat ways
@Glimmlampe1982
@Glimmlampe1982 Ай бұрын
an additional idea (came back into my mind after reading it from someone else): steal the idea from F.E.A.E and maybe have your enemys "talk". That makes them look smarter and gives the player more inside on why they do stuff. like one enemy shouts "heads down, grenade" before throwing one while others rush to cover. or "giving cover" before spraying the area where the player is with bullets, while others dash from cover to a new location
@CaptainBrawnson
@CaptainBrawnson Ай бұрын
I really appreciate these videos being functional, practical advice on development instead of purely conceptual. People interested in this stuff already have something of a grasp on the broad concepts. It's that intermediate area of some concrete, yet not uselessly specific, examples that is really informative and that I love about these videos.
@Blurns
@Blurns Ай бұрын
I'm paraphrasing, but someone once said that good Artificial Intelligence in a game needs a degree of artificial stupidity.
@StiffAftermath
@StiffAftermath Ай бұрын
Probably Warren Spector for Deus Ex...sound like something he'd say lol
@The_Discording_Tales_RPG
@The_Discording_Tales_RPG Ай бұрын
An idea I've toyed with to solve two problems at once : Make a very complex enemy AI (still appearing as fair as possible), and then dumb them down for easier difficulties - so that you fix the complaints that AIs are "too dumb", and "lazy" difficulties (like bloating HP / Damages). I think it would feel rewarding to play on harder difficulties. - Easier said than done, most likely - But I will try.
@WickedFader
@WickedFader Ай бұрын
Thanks for some of the ai demistifying. Very smart about using the easier calculation that creates the same result. Never even thought how you could use limiting computation to create natural hesitation. And then tying to a "heartbeat" system to exponentially make that more interesting (even if you applied it to things besides distance). I would have wanted to calculate everything, then add a "hesitation timer". but this naturally does it, while better distributing compute resources, and not requiring guessing what the hesitation would be. Brilliance in simplicity! LOVE the incites, but disagree with "this is what players want". Sure, many players do. But very different of what I, and many others want. What the things are don't matter, but what does matter is for devs to not be afraid to deviate from "what players want". If we took this to the extreme, we'd never have fantastic games like Shadow Of The Colossus. A game of only substantial enemies, and no trash mobs. This has nothing to do with the trash mobs discussion in the video Cain refereed to. Just saying that when you deviate from the expectation of what players want (cause we did think there should be a game play loop of easy enemies than bosses before this, or before whatever game was the true initial inspiration for this). Great to learn the wisdom. Then great to break it! (when it makes sense). Because it's wonderful that peoples likes are so varied. And that games are so varied.
@WingLiam-l5b
@WingLiam-l5b Ай бұрын
Thanks for these videos. I've been trying to learn C as my 1st language for games, but I've never finish school let alone being able to go to school to learn coding or just needed math skills; but these videos really help me think about things and not get burned-out.
@ChippyPippy
@ChippyPippy Ай бұрын
I've been enjoying your videos, but for me personally this was one of the best. Very informative.
@MythrilZenith
@MythrilZenith Ай бұрын
"The appearance of fairness is more important than BEING fair" is a big thing to remember anytime hidden information is being used vs AI, most commonly via stuff like fog of war. The enemy in a strategy game will PROBABLY need to be able to know where you are in a fog of war map if you don't want them to become fully passive. Most players can expect the AI to seek them out and come towards them. However, letting them break normal rules and attack you through the darkness creates a very different situation that puts the AI in a new category of unfairness for many players.
@mryellow6918
@mryellow6918 Ай бұрын
I can't stand in Forza when the other car just simply catches up to you after doing 300mph glued to the ground round a hair pin
@lionart5230
@lionart5230 Ай бұрын
You can just make them scout like player would. I don't understand this point.
@joxxla
@joxxla Ай бұрын
I've tweaked sooo many things in my lil project coz of your talks, just wanted to say thank you Tim
@stuartmorley6894
@stuartmorley6894 Ай бұрын
An old example of AI working in a way that seems a lot smarter than it was was in F.E.A.R. They shouted out instructions to each other and tried to flank. It was actually a fairly dumb version of goal oriented planning. They weren't actually that "smart" but it felt like they were because it seemed like the instructions matched the actions they were taking even though they were actually doing a limited set but highlighting it to the player.
@Jereb343
@Jereb343 19 күн бұрын
That and I rarely see it mentioned that the magic trick AI came at a cost to level design. So much of it is boxed in office spaces. AI immediately starts looking much, much dumber as soon as they're put within a complex level. I think this is also why open world games get a really bad rep about their AI when it's just alright. It's hard to make it not look stupid when it's trying to respond to the large amount of space and the options it gives to the player. Verticality and player abilities also play a role in this. It's hard to make an AI that can appropriately respond to the levels of power an action RPG might give to the player without it falling into the crpg trap of feeling like bullshit
@oninomiru
@oninomiru Ай бұрын
On the topic of AI being fair or not, I remember some examples where boss is perceived unfair purely because of poor communication, not because he actually has some unique property, faster than player and such. Like when you hit a boss and he staggers. But suddenly can gain hyper armor and kill you in one counter hit. And there is 0 communication that he has hyper armor and at what moments.
@ilcorvo9559
@ilcorvo9559 Ай бұрын
One of the most interesting AI breakdowns I’ve seen was for alien isolation. So cool.
@emanate0
@emanate0 Ай бұрын
this is such an interesting topic, one that i've thought about on and off for a while. good video
@SaberVS7
@SaberVS7 Ай бұрын
Huh, some really good food for thought in this one. Also yeah the "Heartbeat" concept is something I've heard brought up a few times before for optimizing large crowds of independent-agent NPCs.
@gwentarinokripperinolkjdsf683
@gwentarinokripperinolkjdsf683 10 күн бұрын
Similar concept can be used outside of AI as well. I saw a talk that used this in networking code to updated certain objects more frequently.
@bsherman8236
@bsherman8236 Ай бұрын
Stealth games are specially hard to code, they "know" where you are all the time but need to pretend they don't, also the hive mind detection is infuriating
@OpenGL4ever
@OpenGL4ever Ай бұрын
8:35 I agree on that. In the real-time strategy game Empire Earth, I was once very annoyed by an opposing AI. If my memory serves me correctly, it went something like this. A certain resource was necessary to advance to a higher tech level. I already knew that. So my strategy was to completely cut off the opponent from this resource so that he couldn't level up. I managed that. But the AI ​​then simply cheated to get the necessary resource and suddenly had abilities that it shouldn't have. There was simply no other explanation for it. I think Empire Earth had a replay function and in that you could clearly see that the AI ​​was cut off from this resource and cheated. So that really annoyed me. 12:45 If an NPC enemy that is further away gets his heartbeat time slice and notices the player during this time, wouldn't it make sense for him to wake up the other NPC enemies in his vicinity that are also further away from the player so that he and them come to the player as a group and attack him together if necessary? Maybe you can say or write something about grouping NPC enemies so that they act as a unit for a certain time to save computing time.
@Seth9809
@Seth9809 Ай бұрын
I started up a game recently and the enemy sent like 10 rockthrowers for me before I even had a town center It's so obvious it cheated for resources.
@no1DdC
@no1DdC Ай бұрын
I thin you'd love Anno 1404 (Dawn of Discovery in the US). You can pull off legitimate naval blockades depriving AI opponents of vital resources in this game. Later games in the series have more AI cheating, at least as far as I know, but since this one has aged exceptionally well, you can just keep playing it.
@TheJakeSweede
@TheJakeSweede Ай бұрын
I think adding smart voice lines and sounds to AI can really do a lot for making the player feel like the AI is smart and human. A simple voice line, like "he's taking cover", even if the AI doesn't react in any other way to you taking the cover, just the fact that they acknowledge you are behind cover just makes it seem like they are more human. I think the AI in F.E.A.R. is quite good like that. One thing I dislike is when the enemy AI has memory loss. Like, if I kill a bandit at a camp from a stealthy position, and they see the bandit die or find his corpse, the other bandits will be like "search the area". But then after a while they will go back to their stock behavior and be like "guess it was nothing". Like, their behavior should be changed as long as the player is anywhere close to that bandit camp, they should never be like "it was the wind" when their friend died.
@Flamerule13th
@Flamerule13th Ай бұрын
You can find the sources of Jagged Alliance 2 online, and the AI there applies basically all of these principles while being pretty simple. It's well worth a read. One thing Tim didn't mention is AI agent collaboration - for example all AI soldiers on the map have a shared global "alert level". AIs soldiers interact with it both ways - hearing or seeing player and radioing in, finding corpses or blood, missing regular radio check will increase alert. In the other direction alert has an effect on them too - higher alert gives the enemy soldiers bonuses to sight/hearing; it can cause them to abandon their regular patrol routes; or trigger devices put into the map by designer, for example arm the minefield or execute the prisoners player tries to save.
@mikeuniturtle3722
@mikeuniturtle3722 Ай бұрын
I like to think that there are 3 pillars of the triangle of encounter designs. AI complexity, Player complexity, and enviromental/level design. if you change the complexity of one you change them all in relationship.
@mandisaw
@mandisaw Ай бұрын
Interesting! I would rework "player complexity" as "player motivation". Depending on the genre and the player type, more-less player-ability complexity may not actually be the axis that drives AI complexity or level design. Like for a player motivated by creative self-expression, the enemy AI & level design may be optimized towards pushing players to try out different armor / weapon / clothing choices, or feeling good about the particular combinations they've made.
@mikeuniturtle3722
@mikeuniturtle3722 Ай бұрын
@@mandisaw the only reason why I don't fully like that and why I say encounter and not combat is that the player has 2 variables. the medium of interaction which is usually a constant, and the skill/comprehension level of the person which is dynamic.
@Jereb343
@Jereb343 19 күн бұрын
I've been thinking about it like that for a while now from the perspective that prioritizing any one of them will harm the other two. Prioritizing two of them makes working on the one not being prioritised very difficult. My favourite example is cyberpunk 2077. The levels are all very geometrically dense, very vertical and have complex layouts. There are numerous interactables present in all of them to make all builds viable (explodables, distractables, cameras, turrets). The player character is given numerous abilities fitting many different playstyles and is allowed to mix and match all of them. It's not just one set of cyber hands but four. It's not one line of cyber upgrades but many different configuration. It's an entire hacking system with synergies with other guns and between hacks themselves and with gear. It's not 10 guns that all shoot raycasted bullets, but 55 ones split between different technologies that interact with the weapons base type. For example, a smart sniper only has one shot cuz otherwise it's a one hit kill precision weapon that aims for you. The player has many mobility options and can move very fast and the way in which they move fast is also dependant on their build. Shoulder charging, dashing, air dashing, crouch sprinting, charge/double jumping... So you have a game with amazing level design and amazing buildcrafting freedom. The AI just cannot keep up. How do you program an AI that has to work for stealth, combat, going into combat from stealth, going back to stealth from combat that then also has to account for players that are potentially: using melee weapons, shooting them through walls, locking onto them, richocheting bullets into them, constantly jumping and dashing around, able to engage them at any range, deflect their bullets back at them, knock them around with ground pounds...? And they have to do so navigating through dense, vertical levels in which the player can change their location very quickly. Playing it you can see the AI strain and buckle in certain moments as it tries to figure out how to engage with the player
@mandisaw
@mandisaw Ай бұрын
I'm using Utility AI for my tactical RPG (aka SRPG), since it has great support for ability diversity and party-based behaviors (e.g. pack tactics as Tim mentioned). Turn-based grid context keeps the calculation expense manageable, compared to real-time. I can cache the board state, incl characters, threatened-positions, hazards & cover, etc, and even split heavyweight calculations across multiple frames without causing any player-facing lag. Much love to Dave Mark's great GDC AI Summit talks.
@dr.kinderman5290
@dr.kinderman5290 Ай бұрын
I wish I didnt work HVAC, designing AI sounds like a lot of thought and work but it sounds like a ton of fun to make. I can only imagine the pride of seeing your little monsters tear a player to pieces for the first time, then watching the player come back to whoop ass and feel like a hero, sounds awesome!
@mandisaw
@mandisaw Ай бұрын
Nights & weekend game-dev is totally a thing! My brother's a carpenter and was tooling around with Unity a year or two back. I did smile a bit when he said he wanted to make a pixel-art Metroidvania tho :) Grab a free learning kit from the likes of Unity or Gamemaker, maybe one of their adventure game or mini-RPG types, start reading or watching tutorials, and just have some fun!
@Halloerik
@Halloerik Ай бұрын
Hello Tim, first of all great channel, i have been a lurker for a while and learned a lot. Thank you very much for sharing your knowledge and experience. So the reason I am writing this comment is because a bunch of troika's games were delisted on steam because of a new german law. Games now need to have a german age rating. So if a game doesn't have it's USK rating it can't be sold in germany. This has affected among others Arcanum and Vampire the masquerade bloodlines as they only had ESRB entered on their steam pages. Both have USK12 and USK16 respectively so it would be a shame if they were unbuyable on steam in germany because someone forgot to enter them on steam. I know you don't have access to the store pages, but maybe you have a better idea then me who should get an email about this topic.
@benedict6962
@benedict6962 Ай бұрын
Gambits are very useful as a reference to compare. What FFXII and unicorn overlord did was condense enemy AI into a set of triggers that isolates information the AI collects and connects them to actions they can take. Actual enemy AI can end up more complicated in other genres, but condensing it into bite-sized chunks like this makes the system VERY scalable and modular across several unit types.
@StiffAftermath
@StiffAftermath Ай бұрын
I think of AI like this: it has to be predictable and reliable with variety - through observation, one can learn to counter opposition. Enemy actions have to be telegraphed - through practice, mastery can be achieved. It has to be adaptive according to its rules, which it does not break, but the observant and experimental player can exploit - to adjust one's strategy.
@paulie-g
@paulie-g 29 күн бұрын
That's a very good description of one type of desirable AI, certainly for a skill-based game.
@TTV_TOMTISM
@TTV_TOMTISM Ай бұрын
i've been playing Call of Duty Zombies mode for the first time ever, and watching this video is making me appreciate it even more. even if in zombies their ai is super simple, i kinda understand why now after watching this video
@austin0_bandit05
@austin0_bandit05 Ай бұрын
The hardest thing for me is communicating to the player that it is the AI at work and not just a roll of the dice and what exactly the intention is of the movement or action. Its easy enough in the miriad of shooter games where the enemies are coordinated and their barks spell out what they're doing. A la "grenade out", "flanking left", "where did he go", etc
@iXenox
@iXenox Ай бұрын
The reason I dislike level scaling is because it sometimes feels like it doesn't account for the gear I have, so if I got unlucky with item drops (or have any other problem with my gear/didn't make an excel sheet with the stats of every item in my inventory/didn't look up meta builds) I can out-level my gear and then basic enemies feel harder to kill then when I was lower level. Also it removes a sense of progression, as I should be able to one shot the original enemies from the start of the game, but now they have like 20x of their original health (which they got from where exactly? Why did no enemies ever have it until now? This is never explained by lore, or anything really).
@OpenGL4ever
@OpenGL4ever Ай бұрын
Morrowind was very annoying in this respect. Leveling up was practically useless because the enemies leveled up with you. This is still the case in Fallout 3, but it is not as bad.
@mryellow6918
@mryellow6918 Ай бұрын
​@@OpenGL4everremember seeing a thread about a guy that got stuck on Skyrim for like 3 hours in because he only leveled lock picking and was confused why it took around 40 minutes to defeat a simple encounter.
@Ratty524
@Ratty524 Ай бұрын
Yeah, as Tim said, it’s not really level scaling itself that’s bad, so much as instances where the game is giving ludicrous advantages to opponents and being completely agnostic of where the player is actually at in terms of their build. It’s particularly bad in games like Skyrim cause the enemies level themselves as if the player has been only investing in their combat skills, when you have the option to not do so at all.
@VloskPvE
@VloskPvE Ай бұрын
@@OpenGL4ever Perhaps you're thinking of Oblivion? Morrowind's leveling is fixed; individual NPC's & enemy types will have identical stats whether you're level 5 or 60. I'd prefer if Elder Scrolls split off non-combat skills into their own separate leveling hierarchy to help avoid situations like the one folks mentioned above. Such a system would create it's own problems (a hybrid system would be more versatile), and you'd have to rebalance enemy leveling around it, but you'd mitigate the extreme combat disadvantage players can encounter by focusing on utility skills early.
@OpenGL4ever
@OpenGL4ever Ай бұрын
@@VloskPvE Definitely not. Morrowind's leveling isn't fixed.
@MonoGrinded
@MonoGrinded Ай бұрын
This reminded me of the Max Payne 3 AI. In the boat level you could literally see the enemy tracking you through the walls in places
@greenya84
@greenya84 Ай бұрын
Great talk as always!
@mightyn8
@mightyn8 Ай бұрын
I really like how Dragon Age: Origins made enemies have certain behaviors in combat based on their "tactics" presets. Now unless you look in the toolset or else observe the enemy AI extremely closely, I don't think it makes them feel too predictable since there's enough enemy variety and abilities that it still feels interesting to fight. And more importantly, the player also has access to tactics, being able to set up behaviors for their party members during combat based on different variables/triggers. It's not the most robust AI system and it can feel clunky in some parts - especially when ranged enemies are kind of forced to switch to melee weapons if they're attacked in melee which means they'll be far less powerful. And it does also have a bit of the trash mob problem in some places, too. But I do think it's a good base system that had a lot of potential, especially for a real-time with pause kind of RPG. Still trying to figure out how to do something similar myself, so always glad to hear your thoughts on these things!
@mandisaw
@mandisaw Ай бұрын
You might want to check out the various GDC talks on AI. Bioware has done a bunch, but there are also a lot from tactical / strategy games like XCom and the Mimimi guys. The AI Summit panel track is a goldmine of info as well.
@mightyn8
@mightyn8 Ай бұрын
@@mandisaw Thank you, I'll check them out!
@madisons2117
@madisons2117 28 күн бұрын
when I was in 1st grade, I played 007 Golden Eye with all the cheats unlocked from a family friend. I will never forget the fear and fascination I felt when all the enemies started charging towards my invisible and invincible character. It was like a virtual swimming with the sharks where you get all spooked and then realize they are just simple creatures. they didnt technically see me, but the game wanted me to feel pressured to move on from the open snowy tundra rather then exploring every inch. So, these enemies were just swarming the space I shouldve been like mosquitos.
@a.m.7438
@a.m.7438 Ай бұрын
One thing I learned when using an engine like RPGMaker is to test everything. Even when the system shows you the data. Don't assume it is going to work as it is shown. Test the math. It might show you 20% of X, but the engine might not function as intended and that 20% might not even occur at all. When I was working on ai mechanics in game, I gave it 4 commands, but noticed it only registering 2 of them. Despite the engine providing me space to add further inputs, the engine would not read the input and my other commands would never trigger despite all conditions being met. So whatever you are using, test it! Make sure it will function as intended. A small note about challenging ai: You want to make the challenge as close to difficult as possible, because it encourages the player to seek new things to use in order to succeed. Difficulty encourages player journey when finding skills thwt were underused, or an item that was underused that could help change the odds. And that helps ensure the items and skills you add to your game don't feel like wasted space.
@thedude7319
@thedude7319 Ай бұрын
This was a great interesting perspective, not really cutting corners but be effective with the tools at hand. Care to elaborate about the change of AI throughout the years, what people not in the industry may not know. A major change which reduce the compute costs of complex logic trains with 30% by something dumb
@lloyd011721
@lloyd011721 Ай бұрын
also, when telling an AI to use where the player's last known position is, you can add variance to that to turn that into a circle, so that the enemy doesnt always go to the exact place the player was.
@Dailyfiber_98
@Dailyfiber_98 7 күн бұрын
I laughed when you said “are we calculating a multiplication/division every second?” Because I finally fixed a temporary solution today to my “mouse sensitivity” settings. I had it check for a mouse sensitivity change every frame at first, but now I have it update upon closing the pause menu lol. Definitely a lot cheaper to do it that way.
@EB-cz4te
@EB-cz4te Ай бұрын
Level scaling is so funny in some games, Elderscrolls Oblivion bandits suddenly wearing glass armor because it's now in fashion. The main character is a trend setter.
@hylabrookbooks
@hylabrookbooks Ай бұрын
Hi Tim! Many thanks for your insight in the videos...I am here because I am working on modding the new S.T.A.L.K.E.R. 2. If youre not familiar, its often compared to Fallout. A fictional take on the Chornobyl disaster, supernatural, anomalous, and radioactive. The exclusion zone filled with untold danger and rewards. A difficult fps game for sure. The game is quite good in its launch but some of the AI and finer points still need work. There is a massive surge in modding activity around this goal and tweaking it to better reflect or commend its previous iterations. A truly satisfying and unique razor's edge implementation of realistic/fair difficulty in game world that can be harsh and miserable. Looking forward your future thoughts, thanks!
@andreww7564
@andreww7564 24 күн бұрын
A random thought that's stuck in my head from an indie dev blog (I unfortunately can't remember the game or the developer these days) is that if you want an AI in a strategy game to be less predictable and more difficult to entrap, the AI should not always pick the 'best' choice, but should instead randomly pick from several 'good' choices instead. The 'best' choice becomes the predictable choice, and thus, often the worst choice in a strategy game.
@zurfey
@zurfey Ай бұрын
This video has amazing timing along with the release of Stalker 2. Seems like it has really good enemy AI
@AthamAldecua
@AthamAldecua Ай бұрын
I loved it when in Helldivers 2 patrols ALWAYS knew where I was, and I had 3 or 4 different enemy groups all converging towards me even tho I had been stealthy up until they "discovered" me. That problem was fixed later on, but it made me rage so much lmao.
@LeetHaxington
@LeetHaxington Ай бұрын
I remember the Perfect Sims in Perfect Dark on n64 being my first understanding of how stats need to be randomized to be fun on bot AI. The super easy Meat Sims obviously have pretty delayed response times and bad accuracy but the Perfect Sims in comparison must have everything at nearly ideal values. The shots they can do is pretty crazy. I always get mad in games like StarCraft 1 when watching a replay of a bot. You can come up with strategies sometimes and the bot just gets to cheat and know where you are and you can actually see them cheating in replays because they start with a ton of money. It’s pretty unfair as a complete noob at first but it’s also bad when you learn how the AI works and you can just send 1 worker to attack which causes them to stop mining and use their workers to defend. Or know how they’re going to get and defend a base. It’s probably technically amazing the AI can play at all but I always wish it could learn a bit better or be improved on. Actually it’d be pretty fun to try to create an AI bot if it were easier to do which I guess is the big problem for games like diablo / WoW.
@memeslich
@memeslich Ай бұрын
The real ai was the friends we made along the way.
@a_grin_without_a_cat
@a_grin_without_a_cat Ай бұрын
Hi, Tim. Unrelated to the video but I just wanted you to know: your videos convinced me and cemented that gamedev is not just an unfair meat grinder, but a very nuanced place with a lot of fun challenges to take. And because of this I considered and accepted a job offer in a big game company that makes tank games and now i'm a lead game logic programmer :) so thank you. I have a question though: have you ever worked on a game that you don't __like__? I'm finding myself in a situation that I work with great people, and we all are burning to produce a deliver a great product, and my company branch's tasks and goals are really fun and challenging, but the overall product is just so.. meh so i'm finding ways to cope with it.
@peter.bacinsky
@peter.bacinsky 13 күн бұрын
Thank you it helps a lot, I think you named it all.
@filiformis
@filiformis Ай бұрын
6:12 The GURPS player in Tim peeking out momentarily.
@Seth9809
@Seth9809 Ай бұрын
Fallout has DR
@adognamedsally
@adognamedsally Ай бұрын
One thing I've noticed about enemy Ai is that, to the player, it seems more complex than it is. If all an enemy does is switch to a Fireball spell when the player is low on HP, even that nuance might escape the player unless they are actively trying to figure out what the enemy is doing. I think you have to be pretty explicit to the player if you do anything fancy with the Ai.
@rubinelli7404
@rubinelli7404 Ай бұрын
One way you could make low level enemy scaling more organic is through loot. For example, when the player leaves an area, check all the equipment from defeated enemies left behind and move it to another enemy's inventory if it is better than what they have. Now, when a random bandit attacks with a magic sword, it's because he looted it from the imperial assassin's corpse. Maybe loot the player sells moves to the town guard, a neat piece of interactivity that doesn't take a lot of computation.
@paulie-g
@paulie-g 29 күн бұрын
The problem with that is telegraphing to the player that this is what happened. I do agree that a consistent loot economy would increase immersion when done well.
@wesss9353
@wesss9353 Ай бұрын
I remember exploiting the AI goalie on Sega Right Side of the screen cross his path right, left on the controller and shoot... And a NASCAR game the bots would pit, but I had enough gas to finish
@cammobus
@cammobus Ай бұрын
Great Topic Tim, Lazy Scaling is making the enemies bullet sponges .... I like smart enemies, but I want to be rewarded if I sneak up and get a back stab or snipe at range Sneak Attack + Head Shot Bonuses ....
@Minronis
@Minronis Ай бұрын
I love how some of the bad design choices are stuff Bethesda's directly done. I can have a bear in Skyrim that knows my location from half a hold away and will not give up, even when I'm sneaking or the bandits in Oblivion spawning with glass or daedric armor.
@blacksage81
@blacksage81 Ай бұрын
True, and that trend continued in Skyrim and Fallout 4. That because of the leveled lists that only took player's level into account of what was spawned in containers/inventories.
@byteyourownteeth2100
@byteyourownteeth2100 Ай бұрын
How do Tim! Love to hear your preferences on AI structure, Pro and Cons, which systems complement one another etc, essentially State machines vs Behaviour trees vs Utility AI vs GOAP vs HTN planning.
@byteyourownteeth2100
@byteyourownteeth2100 Ай бұрын
For example I'm currently exploring State machines for perception handling, Utility AI for decision making and Behaviour trees for task execution.
@SianaGearz
@SianaGearz Ай бұрын
In some games raycast load has become a problem and required substantial optimisation. If you have kitbashed type of world with a lot of static entities some dynamic obstacles that search can take a while, especially if raycasts are immediate and cache-thrash as opposed to being scheduled for batch processing later.
@UlissesSampaio
@UlissesSampaio Ай бұрын
15:04 "Who hurt you?"
@EleusiusBlack
@EleusiusBlack Ай бұрын
I know that STALKER 2 just came out, but I would love your thoughts on the original STALKER's A-life system, as I believe it to be the golden standard of enemy/entity AI in games. There are multiple levels of the AI depending upon their distance to the player, which become more active as you enter a level. The AI was advanced enough in capability that it could solve missions and complete the campaign without player intervention- it had to be held back so that the player was necessary. (Also, the AI became great at precision grenade spam, so they had to change the combat configuration as well.) I don't know if you have any interest in STALKER, but I feel your commentary on it as a series would be highly valuable from a technical perspective. Cheers! EDIT: Traps are also an excellent point. There's nothing I love more than seeing an enemy AI either baiting you, or naturally falling into a trap themselves. Both STALKER and Dark Souls are great at this.
@KenTWOu
@KenTWOu Ай бұрын
I wish A-life was a golden standard... unfortunately just like in case of Bethesda's Radiant AI what was promised by developers in promotional interviews and what was later delivered in the actual game was so different from one another, some people still don't understand what A-life really was/is, including people playing Stalker 2 right now. Meanwhile we have games like Space Rangers where on lower difficulty settings friendly AI units could actually complete certain high level campaign objectives without waiting for the player's help. I know it's a turn based game of a different genre, but still what was promised was delivered. Meanwhile modders are still trying to bring A-Life back to life in modifications.
@EleusiusBlack
@EleusiusBlack Ай бұрын
@@KenTWOu As someone who plays GAMMA daily, this rings true. I am almost certainly playing the most edited/cutting edge version that's been honed for well over 2 decades of modding efforts. Kudos, and great point.
@benl2140
@benl2140 Ай бұрын
Wait, so devs also hate trash mobs? Then why do they keep including them?
@guilhermeriosribeiro6687
@guilhermeriosribeiro6687 12 күн бұрын
What I absolutely HATE in games AI is when, in stealth sections, they find/pursue you by the sound of your footsteps. Like, in a military base with 50+ soldiers patrolling, they can tell I'm an intruder just by my footsteps?!
@ares12351
@ares12351 Ай бұрын
Tim is my hero and everything I strive to one day be
@The_Discording_Tales_RPG
@The_Discording_Tales_RPG Ай бұрын
Another idea I've toyed with, to create "emergent" quests via NPC AIs : Utility + GOAP AI (somewhat), where AIs have a plan for each competing motivation, and when there are no solutions available, it creates a NEED (like a quest). - Ex: If you have Feeding, Sleeping, and Warmth as competing motivations at all time, and then when it is so cold, it looks for Warmth. It would like to make a fire, IF it has Wood, or if not would look at an Axe to make wood, etc. If there are no Axes, it might be looking for a merchant or axes, as quest - but maybe at some point hunger (Feeding) becomes more important. Now imagine this, but with many more steps. This isn't for "enemies", but rather NPCs. Of course CPU overload should be kept in mind throughout this design - I'm working on it.
@gruntaxeman3740
@gruntaxeman3740 Ай бұрын
I've toyed same idea. That can be also fail.. To situation where all NPCs seems to disappeared and found from single map area where algorithm drives them. Also there is risk for combinatorial explosion so loops and search space need to limited. And that may lead to similar situation where AI that doesn't see more than two steps to future and NPC fail to accomplish anything. But I still like idea, just need to run simulations and understand limitations.
@The_Discording_Tales_RPG
@The_Discording_Tales_RPG Ай бұрын
Interesting ! Is there any way to see what you've done ? I sadly really don't have anything impressive to show.
@gruntaxeman3740
@gruntaxeman3740 Ай бұрын
@@The_Discording_Tales_RPG Sorry, I don't have anything to show. But I understand how algorithms work so combinatorial explosion is something that can happen. Also I've watch videos where NPCs got AI where they wander around game world doing own tasks, like finding food and some funny things happens when they all found from same spot. So at least that should be planned that combinatorial explosion don't happen, and AI doesn't go useless if some loop is cut, and need to run simulations computer running game ticks 1000x speed or something , to see what actually happen. But, I possible understand wrong what you mean GOAP. I understand that as NPC is hungry, it moves to state eat or find wood, and then it start to solve that problem figuring out steps to do, like "open kitchen door, move to kitchen, open fridge, pick up food, eat". Or, if food is somewhere high, out of reach, it takes chair and use it to pick up food. And that kind of AI is fun but work only on very limited search space.
@The_Discording_Tales_RPG
@The_Discording_Tales_RPG Ай бұрын
@@gruntaxeman3740 I do agree with this, but I do think there aren't many people trying as well (maybe just because there are no financial reasons to do so). I also remember how Stalker AI was really innovative in a similar manner and managed quite well to have faction AI wandering around in the background and doing quests. It reminds me of Dave Mark's - a quite important guy in game AIs - question for developers to answer (in 2008 !) : "We can only cite limited technological resources for so long. ... Perhaps, from a non-business standpoint... that of simply an AI developer, we should be asking ourselves what the challenges are in bringing all the top AI techniques together into the massive game environments that are so en vogue. What is the bottleneck? Is it money? Time? Hardware? Technology? Unwillingness? Unimaginativeness? A belief that those features are not wanted by the gamer? Or is it simply fear on the part of AI programmers to undertake those steps necessary to put that much life into such a massive world?"
@gruntaxeman3740
@gruntaxeman3740 Ай бұрын
@@The_Discording_Tales_RPG Probably unimaginativeness. I have a theory, that really smart and talented people often don't use their capacity because of self-criticism. They can do things, but they are not creative because they think their own work is garbage. Some of the best pieces of music is composed by teenagers, when the people are not so self-critical. I can imagine many ways to put AI on games, like game where NPCs share information communicating to each other or signaling, they can have memory where the stuff is located. Or communication between player and NPCs. They can be done, it is different thing to make good game.
@neonsamurai1348
@neonsamurai1348 Ай бұрын
Couple of things I always hated about enemy scaling, is 1) it takes away feeling of progression and power fantasy, those bandits in the first area you killed at level 1 are still as challenging at level 20. And 2) It hurts immersion rather badly, as why are these same dirt sucking bandits suddenly so well equipped and extremely wealthy. I remember both 1 and 2 were a big problem in Elder Scrolls 4 Oblivion, and it was really irritating and not very fun as all the bandits were running around with daedric/elven armor and weapons.
@Eras907
@Eras907 13 күн бұрын
i play conservatively, saving my powers and limited use abilities for times of needs. something i've always noticed is that trash mobs and elites normally employ alpha-strike tactics with unlimited capacity.
@PerfectAlibi1
@PerfectAlibi1 Ай бұрын
AI's losing agro, oh it must have been the wind. But their AI buddy they were just talking to, still lies in a crumpled mess. XD
@brianviktor8212
@brianviktor8212 Ай бұрын
How to do enemy AI is indeed complicated. The bad way is an AI that you shoot, turns around and immediately fires at you and hits. This is unrealistic. The AI is not supposed to be like an android with omnipotence. What would a person do? Get down, shout something about being attacked, get to the nearest cover, ready the weapon, look around. It's fair to give them varying behavior, maybe some orc/mutant types would be reckless. Maybe even give more individual personalities to enemy soldiers - some may be cowards, some may be sneaky, some may be shouting information about you to others ("he is right there!"), some may be bold, and others careful (although most would be normal). That doesn't automatically makes them worse or better, you can make a good AI and make it easy or difficult to handle. But this allows the player to handle them in multiple ways, and be endangered in varying ways as well. It provides variety and makes it more reasonable. I am looking forward for the time I will work on enemy AI for my game (space combat/exploration + organically/strategically acting factions). General combat encounters will have multiple enemy ships in multiple waves, and potentially multiple friendly ships... so enemies might retreat just to group up with another incoming wave. And general morale could also be a factor... like fighting a highly powerful/large player ship in low numbers, or seeing their mates get popped too quickly.
@nsmetroid3403
@nsmetroid3403 Ай бұрын
Timothy Cain is the Bob Ross, Bill Nye, Steve Irwine and Fred Rogers of Game Development.
@davidblanc458
@davidblanc458 Ай бұрын
Playing Fallout 3 I guess an AI that would have the raiders wait around the corner to ambush you would be great. I do it to them all the time. I only was "ambushed" by mean placing of traps in this game
@WastelandChef
@WastelandChef Ай бұрын
Hello! Have you seen how they use ChatGPT to run in the AI in some mods on Skyrim? Could this be one of the directions of RPG AI in the future? 😅
@jesperburns
@jesperburns Ай бұрын
More of this please
@twotamatos
@twotamatos Күн бұрын
I’m gonna try to code a co op mode like cod zombies into my horror game. There will be 3 stories in single player 3 co op round based survival maps from each story. Some practical things I need to code I’m thinking of I may make a random mini boss enemy spawn in 1-4 rooms u can get open first few rounds. They may have one really unlucky time where they are sitting near where u can get random weapons if it’s solo u may have to wait a few rounds before u can take em on or co op maybe having to make a friend run it out of the room to get into the weapon room u may have to have him go down, n then have the enemy walk around the corridors as a mini boss that will throw off training mobs where you’d have to get really lucky or get a upgraded gun early to take care of them n train efficiently maybe even get a key or something that opens up more of the map until you can beat them. Having different animations play for different armor upgrades when you get hit, how you will make the enemies once they spawn how they chase the player will they crawl through walls, will they crawl on all fours, will they pursue u fast or stalk you maybe even require you to turn off all lights and be more stealthy, the animations they will use and random spawn points in these are all gonna be essential. Rounds, currencies, perks, classes, a sanity meter for each map will all be fun to make fairly simple. Although Hit detection and good physics for bullets and combat stuff seems hard but with how many shooters are out there I’m sure we can get nice physics down through a bit of play testing and tutorials.
@twotamatos
@twotamatos Күн бұрын
I think it’ll be really fun to make the sanity meter linked to some unique jump scare Easter eggs. Where u can choose to take off a gas mask or your air filter even choose to not use a cure vial and then it can trigger some really cool little moments if your in some almost out of bounds secret rooms while avoiding some really close to death scenarios. I think it’ll be so funny too that you will be able to get players that aren’t expecting it just trying to survive in those harsh scenarios that’ll be really funny to see on camera. Adding in heart monitors or having to tag the boss because they can just one tap u out of no where if u don’t have enough gear or the right fire power. So needing escape plans or to know when they’ll enter the room early rounds is also really interesting to think of!
@nikolaysikovoy8378
@nikolaysikovoy8378 Ай бұрын
Skynet is busy taking notes
@shaneo2296
@shaneo2296 Ай бұрын
Heartbeats? My god, Tim.
@Yourname942
@Yourname942 Ай бұрын
How do you know/learn what the general threshold is in terms of calculation frequency/complexity?
@CainOnGames
@CainOnGames Ай бұрын
It depends on the platform. Don't worry, QA will let you know! :)
@Yourname942
@Yourname942 Ай бұрын
@@CainOnGames hey, thanks for the fast response! I am more referring to if you are a solo dev for an indie game
@mandisaw
@mandisaw Ай бұрын
@@Yourname942 Then you are your own QA 😄If you're using an engine, it'll have its own profilers to check performance, draw times, which calculations are heavy, etc. Most hardware platforms also offer their own profilers (Google-Android & Apple-iOS, Intel, NVidia & AMD for their chipsets, and I believe the consoles do as well). Most older CompSci texts will also give some insight around which sorts of algorithms or calculations are more or less heavyweight. For instance basic arithmetic (cheap) vs trigonometric functions (expensive).
@Skiad-OpsGash
@Skiad-OpsGash Ай бұрын
Just a short comment to say: That's really an interesting topic! :)
@cryora
@cryora Ай бұрын
Maybe now we could use machine learning to train an AI how to behave to make them fun. It will need lots of playtesters though, to play against the AI over and over again, and rate them on various scales, like fun, difficulty, smart, immersive. Finding people to train machine learning algorithms is actually one expensive component of building ML applications.
@JokeryEU
@JokeryEU Ай бұрын
is it possible to use machine learning to train the AI ingame just for the player game, learning more from the player which adapts to him so same tactic dont always work. Of course its to give a challenge not to kill the player all the time
@bonebard6178
@bonebard6178 Ай бұрын
Hey Tim question. How often do you guys go back and forth between placeholder attacks for testing and refined ideas. Do you try to get good looking attacks in early even as placeholders or really rough animations or no animations for the guns and melee just having a projectile coming out with no recoil
@allluckyseven
@allluckyseven Ай бұрын
Would you like to write a pen-and-paper RPG? If so, considering your knowledge of computer game design, how would you approach it? What do you think you would make differently from someone who's never done a CRPG?
@CainOnGames
@CainOnGames Ай бұрын
I have thought about it, but never seriously. I will chew on a longer video answer.
@allluckyseven
@allluckyseven Ай бұрын
@@CainOnGames Awesome, thank you!
@CanadianChick811
@CanadianChick811 Ай бұрын
I'm playing Arkham Asylum for the first time and for a game from 09' the enemy AI is great. Playing on Normal and it's a great fair challenge.
@SideshowFras
@SideshowFras Ай бұрын
Hey Tim, just to pick up on one of your tangents: you mentioned that, back in the day, you'd spend much more time on optimising runtime routines (because, as those of us over a certain age well remember, hardware limits really were hard), but that it's less of a concern now. Do you think that, across the industry (both in gaming and in wider software development), this relative relaxation of technical constraints has made devs too blasé about code (and other resource) optimisation?
@Osiris02
@Osiris02 Ай бұрын
As a middle aged game enthusiast, damn do I ever miss optimization. Game devs now just use their suped up work machines to brute force a game and it runs like shit on 80% of the machines out there.
@mattomwit
@mattomwit Ай бұрын
I would love to hear how you programmed those AI actions or scripts. How to make them reusable. When I was programming a reusable AI for my hobby I had little to no knowledge about it. But I basically used a componen system. You drag and drop AI behavoiurs on to the enemy. Each action can have a different priority. For example healing is more important than attack or if distance from target too big move has higher priority than attack. During the game if enemy got activated the scripts that were attached were sorted according to priority by the AI manager script. Then each action was guarded by a rule if the rule evaluation was successful the action was performed and the AI manager went on to loop through the actions again. Sure it worked but I had my own set of new problems to figure out afterwards. If anyone reads my comment and knows any system like that that is open source please let me know. I was planning to build a system similar to Dragon Age AI for companions or FF12 gambit system.
@GKCanman
@GKCanman Ай бұрын
In defense of trash mobs, sometimes its not if you can defeat the trash mob but how quickly you can defeat them. Lets say you enter the dungeon and there's 3 goblins standing separate. The normal way would be to take them out 1 encounter at a time. That is typical generic trash mobs that repeat and simply slow the player down. However, if the player is skilled and impatient they might go agro the 3 goblins to finish the fight quicker. This scales difficulty to preference, it introduces new ways to think about encounters and unfortunately most players don't do this. Personally i would add some kind of achievement just to flag saying "yes you can do this." Another use for trash mobs is to introduce or reintroduce upcoming game mechanics. Its less stressful to try out things on trash mobs. "I got this boomerang but why would i use it on that giant boss? Well it worked really well against all of the trash mobs so i'll try it." Good trash mob design is out there.
@Hjorth87
@Hjorth87 Ай бұрын
Hi Tim, do you think we will see a CIV 7 AI that does not need cheats/gameboosts to be challenging?
@henseltbrumbleburg3752
@henseltbrumbleburg3752 Ай бұрын
I don't know why but there's something funny about a bot using a sword as a ranged weapon because you haven't coded logic to tell it, it can use it as a melee weapon.
@ferinzz
@ferinzz Ай бұрын
"There should be some kind of skill involved in killing enemies" After playing Soulframe Alpha, so true. That game is missing so much that it feels bleh. enemies are only kind of dangerous, so running through a dungeon is just going through three sets of rooms repeatedly with some things you stab at every once in a while.
@Blackfatrat
@Blackfatrat Ай бұрын
For some reason I find the soldier AI in Half life 1 to still be better than many modern games lol. Whatever they did, it works.
@MrLarsKoch01
@MrLarsKoch01 Ай бұрын
Hi Tim!
@nebeskisrb7765
@nebeskisrb7765 Ай бұрын
In action games without lock on, like Outer Worlds, how the hell does AI aim? Is it "shoot in player direction, hit 80% of the time"? Or is the AI smart enough to aim the way a human would?
@John04700
@John04700 Ай бұрын
Speaking of AI, can AGI exist in the video game world? The answer is probably complicated, but if yes, I'm interested in seeing a game that gives me a different experience every time I play. For example, in Red Dead Redemption 2, the story core could have hundreds of possibilities
@CainOnGames
@CainOnGames Ай бұрын
I think it would be a great tool, with the caveat that all tools can be misused. kzbin.info/www/bejne/bX61qZKfbsypjdk
@hermitage6439
@hermitage6439 Ай бұрын
The infamous case of enemy ai has been the subject of two decades of invstigation in the total war community --- only to realise from former insider that leaked they forced the ai to be stupid so as to attract more constancy in playing the game from players, to drive the fantasy because they thought that the best way is the only good way, ignoring the fact that it was a strategy game and an RTT, which, emcourages a certain sense of diversity. Total war nlw shares the same fate as Doom and Dishonored, and will forever demarcate what developers should stick to, and what a director of a companu should be decent at -- listening, and for the former, working. Edit: nobody, and the most veteran of players who, in the class of gamers, stick the most. From childhood to adulthood, and remain healthy players since---, but perhapses im being too serious? Games are less like games and more like boxes of control methods.
@arw000
@arw000 Ай бұрын
Monte Carlo simulation over all possible targets and actions for every enemy action. 😤
@evoltaocao5078
@evoltaocao5078 Ай бұрын
for realism we gotta make character and combat a.i. as human as possible.
@ghostridergunship
@ghostridergunship Ай бұрын
Maybe for lower level AI, they can have a delayed reaction, where the higher levels react much faster.
@gruntaxeman3740
@gruntaxeman3740 Ай бұрын
Or if AI has some memory, it can be made more dumb limiting AI working memory/perceived objects, or how long to keep things in memory.
@Kiyuja
@Kiyuja Ай бұрын
Not every game can use them but I personally think dynamic AIs are the most "believable". Do I catch someone without a weapon maybe that NPC tries to run to the closest weapon before attacking (instead of magically pulling it out). maybe I wear fire resistance and the mage prefers fire, so he tries that first and after seeing I am immune tries something else.I am not an expert but with an ECS approach even more complex AI should be feasible
@nodrogkram
@nodrogkram Ай бұрын
Doom Eternal did AI so so well.
@GhostLyricist
@GhostLyricist Ай бұрын
Hi Tim, what are your thoughts about adding in modding support from a developer perspective? Skyrim and Minecraft that have continued to dominate over 10 years due to the thousands of mods players have developed for them since they have boundless restrictions for modding. Why are there so many games today that still don't prioritize player modding support despite spending millions to develop the game, it essentially seems like free development?
@CainOnGames
@CainOnGames Ай бұрын
Modding kzbin.info/www/bejne/gnmXnZ-DhtJ9Z6c
@CainOnGames
@CainOnGames Ай бұрын
Also in a few weeks I have a video on the costs associated with making a game moddable
Why I Left Carbine's WildStar
22:55
Timothy Cain
Рет қаралды 73 М.
Fast Travel
14:17
Timothy Cain
Рет қаралды 26 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
ON God, A.I., and the Problem of Evil
13:46
IMBeggar
Рет қаралды 575 М.
Do Gamers Know What They Like?
14:26
Timothy Cain
Рет қаралды 29 М.
Dominic Williams - Run AI Models as Smart contracts ONLY on ICP
12:36
My Slice Info
Рет қаралды 1,6 М.
Nvidia's New Plan Will Lock You In.
20:32
Bellular News
Рет қаралды 160 М.
How To Make A Good Game Setting
16:49
Timothy Cain
Рет қаралды 49 М.
Solo vs. Party
12:53
Timothy Cain
Рет қаралды 10 М.
An Engineering Fairy Tale: Cascade Failure at the Super Kamiokande
22:21
Alexander the ok
Рет қаралды 603 М.
Would I Work On Fallout Again?
17:14
Timothy Cain
Рет қаралды 117 М.
The Cost Of Moddability
14:54
Timothy Cain
Рет қаралды 41 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН