Jump to content
The Dark Mod Forums

STRUNK

Member
  • Posts

    479
  • Joined

  • Last visited

  • Days Won

    14

Everything posted by STRUNK

  1. You are more then welcome experiment with that wous : ) I think in combination with a blinding effect , then spawning a vampire at the bats location, this shouldn't be that difficult. You could also have vampires turn into bats when you shoot them I guess.
  2. No. In my own tests it didn't.
  3. Lets test some bats! You'll need at least version 2.10b5 for testing (Dragofer added "animal_patrol_wait" which is needed properly behaving bats). I've tested the bats in my testmap and now they are ready to be let loose and tested in your maps to see if everything works as it should. Think about free roaming in (very) large spaces and small spaces. Also maybe have them follow paths, I didn't test that, and other things you can think of. The bat can by default be killed but has no ragdoll, instead it has a deathScript that makes the bat disappear with a visual effect. Maybe someone wants to make a ragdoll for it? Set spawnarg "noDamage" to "1" to have invincible bats. The blender files can be downloaded here: https://cdn.discordapp.com/attachments/815315205483397142/936191315845206046/Bat2.0_Blender_Files.rar The files needed to have bats in your map are in the attachment. There are 2 different sized bats and there is also a red test skin for both. I added the original tdm_mage_effects.fx file in the fx folder as an example how it works so you can easely make your own visual effect for the bats deathScript, if you wish. Update 2.01: Fixed aas,size,mins,maxs in the .def. Should work fine now, I hope. Bat2.01.rar
  4. environmental After that there wil be giraffess ... lol. No there won't be : P Dragofer made a change in the AnimalPatrolTask.cpp that is already available in the latest source code, but not yet as a normal upate via the installer, as far as I understand. It will be a new feature in 2.10, where the wait time between destination reached and going to a new destination, in animal patrol mode, can be altert. The bats 2.0 (Bat AI) need this feature "animal_patrol_wait" set to "0" otherwise they go into a pause in mid air. When this update is available for everyone the bats will go into beta. For the owl I need to make different wings because they need to be able to be folded and unfolded like (real) bird wings, so owls can idle on rooftops and such, but can also fly away, and land. Owls should be just idle or "patrol" via paths, unlike bats (so not in animal patrol). Also the texturing/texture map/UV map for the owl will be quite a challenge, for I have never really done that before and it should look fairly detailed, unlike bats, because people will take their monoculars to look at them, and maybe mappers want to have owls deliver messages or use them in intro/cut/outro scenes. so they must look good upclose. That said, I also have an idea for a flying AI, mainly targeted at flying animal patrol, that is a simple as can be, and has no visual aspects but wil be an AI/bone where you van bind an entity to. This can be used for just environmental "decoration", like fireflies and moths and whatever one can think of, that doesn't need to engage in fighting and searching and such, but basically just flies around as slow or fast, as nervous or relaxed, as you want, set by spawnargs. Bat 1 was just a func_static with 2 flapping "doors" bound to it, and could theoretically fly around like bat 2.0 when bound to that AI ... at least, when it all works as I think (hope) it does ...
  5. Congrats and thanx for the mission thebig! Can someone point me to what these new techniques are?
  6. I'm thinking to also make a very simple flying AI that is actually only a origin bone, and, if needed a body bone, and if needed some other minimal requirements so mappers can bind things to it, like fireflies ... I saw someone made a bunch of different colored firefly stuff already but I haven't found an AI for it. Is someone working on such a thing already?
  7. I only added "death_script" "batDeath" but I had to also make the scriptobject "ai_bat" instead of "ai_darkmod_base". Finally it all makes sense to me. I really didn't totally understand what you meant by the cleanest way etc : D Btw. did I ever tell you that I really appreciate your help? You should get a statue for that or something!
  8. It has been a long time since I've been scripting anything and I'm doing something wrong I guess .. for my script doesn't work/exist. I included it in the tdm_custom_scripts.script and so far it goes well: the game starts : ) It's a very little testscript for now only to verify if it works. object ai_bat : ai_darkmod_base { void batDeath(); }; void ai_bat::batDeath() { sys.println(" a bat has been killed"); } I also set up a trigger timer targeting a target callScriptFunction with "call" "batDeath" .. but it prints in the console that batDeath does not exist .. I looked at requiem's scripts and I cant find anything obviously wrong with my setup ... Great!
  9. Here a video of fly_seek_scale 1, 4 and 10 1 https://cdn.discordapp.com/attachments/815315205483397142/934550666058285076/2022-01-22_21-39-13.mp4 4 https://cdn.discordapp.com/attachments/815315205483397142/934550792365564004/2022-01-22_21-41-20.mp4 10 https://cdn.discordapp.com/attachments/815315205483397142/934550925014614047/2022-01-22_21-43-17.mp4 I think it will be a welcome addition : ) (Beta) Bats will be released ofc. I tried "burnaway" "0" and "burnaway" "1" with no result. I think Bats might just burn away in green flames, but I don't know how to do that yet.
  10. Video: https://cdn.discordapp.com/attachments/815315205483397142/934193869099245680/2022-01-21_22-09-22.mp4 https://cdn.discordapp.com/attachments/815315205483397142/934204639363096627/2022-01-21_22-51-30.mp4
  11. I think you are right Dragofer. I'm playing with the the wander_radius and the fly_seek_scale, and it looks to be the fly_seek_scale is the only thing that influences the (chance for?) vertical movement. (Not vertical bobbing but this seek scale was influencing vertical movement in my map/settings, that's why we got different results I guess) A fly_seek_scale above 1 seems to result in no significant vertical movement at all, under 1 it's occuring more often. The latest video was with a value of 0.1 I think. These bats are really using the vertical space, as they should, but fly long "straight" streches, bumping their heads against the walls a lot. With a value of 10, they won't go significantly up or down, fly too short streches and look really nervous. fly_seek_scale 0.5 looks quite good btw, but I'm still wondering what fly_seek_scale actually does? That said, if your "animal_patrol_wait" could be added to 2.10, animal_patrol bats can be an option for mappers. Bats don't like small spaces anyway, only to sleep in; these bats don't sleep. (fly_seek_scale works good enough?) Making the bats not damageable is a good solution to not deal with ragdolls and such. Making the bats without senses (all acuity is set at 0 (for bats don't care)), for me, seems a good solution for an AI that is basically meant for decorative purposes, like cricket sounds and flies in toilets.
  12. @Dragofer I found a way to not have these bats "freezing" : setting all acuity spawnargs to 0. So I guess the freeze is caused by going into some sort of alert state? It feels to me that, although this can be a solution, there is something else wrong with the bats, for they just shouldn't care about anything. Rats seemingly don't care if they see, hear or touch an other AI ...
  13. No, for the time the bat is frozen nothing is printed to the console, though it could be I did not have the debug line of code placed for all different "states". First I'm gonna look at the spawnargs I put in for trying to make the bats nonsolid/fly through the player. That might have been a bad Idea for they would also fly through other AI, and it didn't work anyway : )
  14. Things are getting better: the bats now only " freeze" when they hit "me", something you can also see in the latest video, but there they were freezing in other places also. if (owner->AI_MOVE_DONE) { // We've reached the destination, wait a bit switchToState(statePreMovingToNextSpot,owner); //This was: sswitchToState(stateWaiting, owner); gameLocal.Printf( "currently in state: MovingToNextSpot-REACHED\n" ); This way it affects the rats too but i'll try to figure out how to put it in the script where it only optionally affects animal patrol by a spawnarg. (animal_patrol_wait as a boolian probably, and get rid of your original animal_patrol_wait). The "states" where the bat is in most of the time is: // grayman #2356 - if you're far from the goal, run. This keeps rats from slow-hopping great distances. And: // Still moving, maybe turn a bit (These are part of the AnimalPatrolTask::movingToNextSpot) I also changed the code for the turning a bit, to have more turning vertically, and that seems to work for more vertical movement of the bat: // Still moving, maybe turn a bit owner->Event_SaveMove(); float xDelta = gameLocal.random.RandomFloat()*20 - 10; float yDelta = gameLocal.random.RandomFloat()*20 - 10; float zDelta = owner->spawnArgs.GetBool("animal_patrol_fly", "0") ? gameLocal.random.RandomFloat() * 40 - 20 : 1; //Was also 20 - 10 //EDITED gameLocal.Printf( "currently in state: MovingToNextSpot-still moving, maybe turn\n" ); Conclusion: Although getting rid of going to stateWaiting seems to be a little improvement, THAT was not the problem of the freezing: The other AI in the map; the rats, and I tested with some other AI, cause the freezing of the bats. Somehow the bats "freeze" when they hit an other AI, but not when they hit eachother ..
  15. I really don't know much lol : D Where does it print to/where can I see the states/tasks? I thought I could see it in the console but nothing happens there .. Ok I got something printing to the console now. Think somehow my setting in Virtual Studio were wrong.
  16. Made a test setup with different hights, and the bats are looking good and making use of the vertical space, but still there is this idle problem. I'm thinking maybe, if a bat goes into idle, it gets deleted and a new bat spawns at that location .. or the bat just goes invisible until it goes out of idle? Video: https://cdn.discordapp.com/attachments/815315205483397142/933467525935673445/2022-01-19_22-03-24.mp4
  17. @Dragofer I put your original files back and compiled again and set the wander_radius_vertical to 480 and to me it seems they are using more vertical movement in combination with the animal_patrol_fly then without these changes. The existing fly_seek_scale spawnarg also seems to have influence. I think set to 1 or 2 has a good result. So the only significant bad bat behaviour is the long idle they go into sometimes.
  18. Well maybe it doesn't work better then but could be I saw more significant movement at times with bats going down : ) In that case, the wanderRadiusV and H should be there and V should be twice H ... I guess.
  19. I got the newest SVN, but its newer than the latest available update via th installer, but it seems not to matter in this case.
  20. No I got rid of the bobbing completely and I still got them schoosing new positions in all axis, so it works it seems. I changed some things though: // Choose a goal position, somewhere near ourselves float xDelta = gameLocal.random.RandomFloat()*wanderRadius - wanderRadius*0.5f; float yDelta = gameLocal.random.RandomFloat()*wanderRadius - wanderRadius*0.5f; float zDelta = owner->spawnArgs.GetBool("animal_patrol_fly", "0") ? gameLocal.random.RandomFloat()*wanderRadius - wanderRadius*1 : 1; Also I found that the wanderRadius was just fine so I got rid of the wanderRadiusH and V and just used the default 240. The wait does work but doesn't do very much, but it does enough I think. It could be a boolian I think, so normal wait or no wait. The big thing is that in animal patrol mode they go into idle for like 15 seconds some times, and just stay hovering too long. I tested that by setting anim idle to the AF pose., and clearly see them going into idle for much too long. Also this idle state stops movement (only plays the anim). With anim idle ste to the AF pose I see that the wait does work, otherwise they go into idle for a short time. Latest cpp and map I used: (Didn't change the .def but used the spawnargs in the entity inspector) AnimalPatrolTask.cpp Bat.map
×
×
  • Create New...