forums | blogs | polls | tutorials | downloads | rules | help

Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in remember_me_form_alter() (line 78 of /var/www/siegetheday.org/sites/all/modules/contrib/remember_me/remember_me.module).

Chasing Chickens, How I Meant To Do That...

Araknuum's picture

Well, there's this Phrak, see, and he's special. He likes to chase chickens, and he doesn't like water. I showed up at my neighbors Krug farm, after old Norick died on my bridge (eww), and there was this special Phrak, pursuing that poor hen all around the property. The chase stopped suddenly, when the chicken dove under water. I don't have a clue why this happened, and I don't know if it'll ever happen again, but I hope so! Smile I didn't screenshot, mostly because they were both moving so fast, and there were still mobs hanging about, like normal, everyday evildoers. Phrak Gump just ignored me and followed the chicken around for a while... It was fascinating, Nat/Geo, Animal Planet type stuff. It made me wonder, just how much interactivity can mobs have? Can a survival style game with Minecraft like mob activity be made using Dungeon Siege? Or would the interactions be more like my Phrak bro, an amusing and unexpected vignette, with no gameplay value?

I think a middle ground may exist. Perhaps somewhere in the templates and job skrits are the building blocks of a systems driven tactical real time strategy survival adventure horror dating simulator. It could happen, and so could Wands, with the right amount of persistent innovation and patience, and of course coffee, which I heard metabolizes directly into code.
:spider:

blogs: 

Comments

Phraks and Krug attacking each other, Stuff in cages not engaging (particularly when 2 phraks in one cage, a Gremal in a cage attacking Mobs and getting killed are all thing that have cropped up

I am quit familiar with small (Dwarves that is) no longer being seen when under water :jawdrop: :silly:

Iryan and KillerGremal are far more familiar with the mechanics of how this happens. It has to do with view height settings and attack/attitude properties (I do miss having a bunch of little green frogs pop out of a broken barrel :goofy: Laughing out loud )

Dwarf

Araknuum wrote:
Well, there's this Phrak, see, and he's special. It was fascinating, Nat/Geo, Animal Planet type stuff. It made me wonder, just how much interactivity can mobs have? Can a survival style game with Minecraft like mob activity be made using Dungeon Siege? Or would the interactions be more like my Phrak bro, an amusing and unexpected vignette, with no gameplay value?

I totally agree and for me this is like some sort of holy grail. How to get more interactivity into the game without resorting to scripting. A similar example was reported by bare_elf a couple of months ago when a npc decided to follow her party for quite a while. We couldn't figure out why.

I've been trying to add more of this type of interactivity into my mod for DS2 (the DS1 Legendary Mod). Unfortunately GPG actually downgraded the ai in DS2 compared to DS1. One example, it is no longer possible to resurrect npcs. Poor Lagreth now remains dead permanently, as does that poor soul in LOA who died in the prison under Jerkhal's Crown and could be resurrected and talked to in LOA.

I haven't been able to solve that issue in DS2 but I have started adding some more random interactivity into the mobs. For example bears now are almost as likely to go into a rage and attack other monsters as they are to attack you. Of course this is still scripted but randomized with a trigger check to revert the bear to evil if you approach it too closely. So the bear starts out evil until the player gets into range, then randomly turns good and so starts attacking other monsters. If you get inside its comfort zone, it will then turn evil again and start attacking you.

So far only certain monsters will do this as I don't have a method at the moment to tune mobs like this, for example wolves - which would be a good choice for randomly attacking other monsters. It would also be good for different humanoid races to also attack each other as well as the hero. We sort of need an alignment midway between good and evil, which will attack and be attacked by both.

Still such behaviour needs to be scripted to some degree as otherwise it wouldn't mean anything to the player if it happens outside of their view - for example when the world frustrum is loaded into play. Otherwise the player would just see bodies lying about without any clue to what happened (this actually happened with a quirk in the Legendary Mod which caused krug and bandits to have a small chance to attack objects. In DS1 it works as intended but in DS2 it actually causes them to also attack other members of their race, without retaliation - not realistic).

Araknuum's picture

iryan wrote:
We sort of need an alignment midway between good and evil, which will attack and be attacked by both.

Still such behaviour needs to be scripted to some degree as otherwise it wouldn't mean anything to the player if it happens outside of their view -.

I call NPC's with such alignment "Ambient Attackable", and they come in aggressive and cautious variations. I made the Snapper in DS1 act close to my intended result for this alignment, but the player will face them and auto attack them if able. Snappers are tuned to be aggressive but disinterested, which only took drastically shortening their engage range. I haven't put together an exact profile for these kinds of mobs yet, but I like what you said about a proximity triggered alignment change, being central to how both aggressive and cautious Ambient Attackable mobs function. Like, aggressive attacks anything and cautious runs from and can be attacked by anything, but only within the player's actual view.

Wolves are a great example of what is possible with [mind] components in DS1, especially what was scripted into certain encounters. The "patrol" right after the burnt bridge, that waits for you to trigger some am-bushes before attacking... How they'll sometimes run and get more wolves and then come back... The behaviors are mostly scripted in the region that wolf was placed, but it seems the scripting could be referenced for broader template changes.

I'm building a lab in Siege Editor, and I intend to test DS1 and LoA AI to it's many breaking points there. I am realizing that what I want to see happen with Ehb isn't entirely possible without scripting, but often that scripting is already done, and something I changed is what breaks the originally intended encounter.

The holy grail, a world alive and lethal, where the inhabitants decide what you'll find, and the forces of nature are keening for your blood! Wink I know, right? If DS1 can support something like it, I'm likely to make the attempt.

Araknuum's picture

:gangster:

So changing a chicken's alignment to good "reproduced" the chase scene. As did making my Lab Phrak attack friends in it's comfort zone, and making the chicken a "Monster" friend. The second is crazy, because Phrancis would attack every other monster I put near him, including other Phrak. The first is more suited, and can be exploited in fun ways, but can also break immersion in not fun ways. Since any evil aligned actor will now attack chickens, Krug in the farmlands are in a lot of different spots. This was surprising, but ultimately not desirable. The problem is that Skrubbs, Wolves, Snappers, and A few Krug are all scripted to activate when they sense good, and chickens are fairly prevalent on farms. So, triggers get triggered, and chickens get slaughtered, all before you get close enough to witness anything save the aftermath.

I'm not yet operating under this assumption, but I have it, that trying to make mobs hostile to baddies AND goodies in a believable and gameplay effecting way will require the type of triggered alignment change that Iryan mentioned. I hope that I can create an instanced chicken and add the trigger skrit to it, then copy/paste my template into ambient_chicken.gas, over the original chicken template. I need the skrit, and I'm totally willing to figure out how to make it work, whether in Siege Editor or Skritpad, but if anyone knows the mechanics of making an actor change alignment when you see them, I would appreciate some help, or a point in the right direction. I'm looking at alignment_switcher.skrit and I can tell I'm not yet equipped to decipher what I'm looking at...
:spider: