header general

Devil Worms Pack

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Pain Elemental
  • Pain Elemental
More
8 years 6 months ago #31 by doomedarchviledemon
Replied by doomedarchviledemon on topic Worm Pack
It was due to the pain state calling a previously deleted 'Chase' state I implemented before I re-uploaded this pack. I missed this little issue but now it has been fixed. Thank you.

Please Log in or Create an account to join the conversation.

  • DBJ87
  • DBJ87's Avatar
  • Wicked
  • Wicked
More
8 years 6 months ago #32 by DBJ87
Replied by DBJ87 on topic Worm Pack
Tested all the worms out, this is brilliant :D. I Especially like the ambush style, with the older worms, it really keeps you on your toes and gives you an itchy trigger-finger. Great job :)

Please Log in or Create an account to join the conversation.

  • MagicWazard
  • MagicWazard's Avatar
  • Moderator
  • Moderator
More
8 years 6 months ago #33 by MagicWazard
Replied by MagicWazard on topic Worm Pack

DBJ87 wrote: Tested all the worms out, this is brilliant :D. I Especially like the ambush style, with the older worms, it really keeps you on your toes and gives you an itchy trigger-finger. Great job :)


I second this enthusiastically. I literally only have one more suggestion to make, and it's one of the same I made for the Fire Serpents--is it possible to have the worms' tails appear while they're in their Spawn/Idle state? To me the only blemish with these creatures is having the tail suddenly appear as they start moving.

Please Log in or Create an account to join the conversation.

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Pain Elemental
  • Pain Elemental
More
8 years 6 months ago #34 by doomedarchviledemon
Replied by doomedarchviledemon on topic Worm Pack

I literally only have one more suggestion to make, and it's one of the same I made for the Fire Serpents--is it possible to have the worms' tails appear while they're in their Spawn/Idle state?


Unfortunately with the worms I do not think it will work as well as it did with the fire serpents. The reason being is that since each worm is a different size and their tail segments shrink down behind them as they move around, having an idle tail segment would cause one of two issues.

One being that if I were to only spawn in segments of one size for each worm they will not shrink along with the other segments when they start moving. Spawning segments behind the worms and having them smaller each time will also result in the same thing.

Two being that if I were to spawn a tail segment that does shrink down like how it's suppose to it will create a mess of body segments spawning on top of each other making it look very messy.

So in this case it isn't something that wouldn't work unless I simply took out the shrinking factor and had their bodies always be one size as they moved along and disappear out of nowhere when it comes time to despawn them. Which leaves three options now. One being to leave it as is. Two is to remove the worms being able to spawn on top of the ground and only have them spawn via jumping out of the ground which will have the worm's tails spawn as they breach and then go straight into moving around. Three is to remove the shrinking tails and instead keep the tails one size for each worm.

Please Log in or Create an account to join the conversation.

  • MagicWazard
  • MagicWazard's Avatar
  • Moderator
  • Moderator
More
8 years 5 months ago #35 by MagicWazard
Replied by MagicWazard on topic Worm Pack
I dunno, can't you just create new static tail elements that inherit the size and properties of the existing tail elements, and then just change the parameters of SpawnItemEx to have them spawn at the appropriate offsets while the worms are idle? Don't forget that SpawnItemEx does allow for a spawn offset, so it's not like spawning a shrinking, non-moving tail necessarily means that the segments have to spawn on top of each other.

Please Log in or Create an account to join the conversation.

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Pain Elemental
  • Pain Elemental
More
8 years 5 months ago #36 by doomedarchviledemon
Replied by doomedarchviledemon on topic Worm Pack
I could, yes, but that would still create the first issue already mentioned. Once the worms start moving the idle tails will still be there and not shrink down along with the worm. The first segment that spawns once the worms start to move will shrink down, but the segment right before that, the first segment that is idle, will stay the same size and simply vanish. This will make it look like the worm detached itself from the idle tail and grew back a new one as the idle segments are left behind until they vanish.

If you wish I can go ahead and make these edits to one of the worms so that we can have a visual understanding of the situation, rather than trying to visualize it in our heads. :P

Please Log in or Create an account to join the conversation.

  • MagicWazard
  • MagicWazard's Avatar
  • Moderator
  • Moderator
More
8 years 5 months ago #37 by MagicWazard
Replied by MagicWazard on topic Worm Pack

doomedarchviledemon wrote: I could, yes, but that would still create the first issue already mentioned. Once the worms start moving the idle tails will still be there and not shrink down along with the worm. The first segment that spawns once the worms start to move will shrink down, but the segment right before that, the first segment that is idle, will stay the same size and simply vanish. This will make it look like the worm detached itself from the idle tail and grew back a new one as the idle segments are left behind until they vanish.


Not necessarily. I've actually thought of a couple of possible workarounds for this, varying in terms of feasibility and effectiveness. I'm going to list them from worst to best:

*At the beginning of the monster's See state, you can call "TNT1 A 0 A_RemoveChildren ", which should, in theory, immediately destroy the idle tail. If you go this method, you'll then want to make sure that any time you return to See, you should instead go to See +1 in order to ensure it doesn't re-call "A_RemoveChildren" and delete its "real" tail. The downside of this approach is that this assumes the worm is to be "awoken" via sight or sound; if, instead, it goes straight to its Pain state (say, the player sneaks up on it), then "A_RemoveChildren" won't get called, and the idle tail will remain for a moment as described. So this is the least foolproof method.

*Shorten the lifespan of each idle tail segment to something very low (say, 1 or 2 tics), so that when the monster starts moving, they will disappear nearly instantly. The downside of this is that you'll have to spawn the segments much more frequently than before,, and I don't know how much effect that may have on performance. Odds are that unless you have dozens of these idling around the map, it probably won't impact performance noticeably.

*The last idea, which came to me as I was driving home from work, is to simply make new idle frames for each worm that have the tail "baked" into it, rather than trying to spawn the tail dynamically. Open up the idle frame in your paint program, drop the appropriate number and size of tail segments behind it, save it out as a flat sprite, and make sure the offsets are good in SLADE3. Maybe "curl" the tail behind it, instead of having the tail come straight out behind it, so that if it's placed close to a wall, it won't be mostly clipping into it. I think this is the best way to go. Yes, there'll be a little bit of a momentary visual disconnect as the tail goes from "flat" to "dynamic", but I think it's an understandable concession considering how sophisticated the monster's behavior is.

In any event, please don't think I'm being too hard on you. This is really quite a spectacular effort, and I just think that the worms' idle appearance is really the only thing holding it back from immediate approval. :)

Please Log in or Create an account to join the conversation.

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Pain Elemental
  • Pain Elemental
More
8 years 5 months ago #38 by doomedarchviledemon
Replied by doomedarchviledemon on topic Worm Pack

In any event, please don't think I'm being too hard on you.


Not at all! I did not take any of your feedback as such. I welcome constructive feedback as it is really the only way to make things better and improve my own skills in the process. Not to mention others will see mistakes or oversights that the creator may not have spotted before, which is important. I was actually worried that my replies were coming off as passive aggressive, which is not at all my intention at all. ^_^;

Anyway, I will try the A_RemoveChildren but I personally still do not think it will look good for the reasons I mentioned before. Either way I will go ahead and try this out as well as try a few other things, then we will be able to actually see everything in action and might be able to get a better understanding of this whole mess.

Please Log in or Create an account to join the conversation.

  • MagicWazard
  • MagicWazard's Avatar
  • Moderator
  • Moderator
More
8 years 5 months ago #39 by MagicWazard
Replied by MagicWazard on topic Worm Pack

doomedarchviledemon wrote:

In any event, please don't think I'm being too hard on you.


Not at all! I did not take any of your feedback as such. I welcome constructive feedback as it is really the only way to make things better and improve my own skills in the process. Not to mention others will see mistakes or oversights that the creator may not have spotted before, which is important. I was actually worried that my replies were coming off as passive aggressive, which is not at all my intention at all. ^_^;

Oh, I wasn't getting any passive-aggression from you at all. I was just kind of apologizing in advance, since I tend to have no shortage of nitpicky feedback. My last two jobs have been software QA and game design, so it's in my nature to get really bitchy about even the smallest of details. :)

Please Log in or Create an account to join the conversation.

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Pain Elemental
  • Pain Elemental
More
8 years 5 months ago #40 by doomedarchviledemon
Replied by doomedarchviledemon on topic Worm Pack

My last two jobs have been software QA and game design, so it's in my nature to get really bitchy about even the smallest of details. :)


Horray! Another QA tester in the house! That's been the last four or so years of my life at Nintendo, so I know all about getting bitchy at small details. Now-days I do UGC Moderation but still with Nintendo as an associate.


Alright! I got it! I updated the download link and it includes multiple edits to the elder worm which I used to experiment on, but don't even bother with any of the others besides Elderworm3. I got this shit down with number three! AAAAAHHH so excited!!!

Elderworm3: With this one I went ahead and spawned in the different sized segments behind the worm so they all look like they are getting smaller. Then, once it enters the first See state it will spawn in each of those segments that are apart of the shrinking tail. This way each segment will begin shrinking starting at that size. This means that once the worm starts moving around the idle tail and the 'real' tail will sync up perfectly! EEEEEEEEEEEE!!!!!
I can't remember how I got the idea of simply swapping them out like this, which is actually a pretty simple idea now that I think about it, but it was when I was first writing this reply.

However, there is still one issue that you already mentioned in your first example where if it enters its Pain state first it will skip the first See state and cause a visual disconnect. If there is a way to get around that then it would be perfect! Also I know there is a bunch of errors and the whole See states aren't organized and everything but I'll deal with that later. This was just experimenting around until I got something working and then I'll go ahead and polish it up again.

Also, I didn't do the "baked" tails idea because I could instead manipulate where the tails will spawn and face by messing with the parameters instead, making it look more three dimensional and less... well flat. I plan on doing that to make it either coil around the worm or maybe have a wave pattern or something. I'll also do this for the Fire Serpents.

Please Log in or Create an account to join the conversation.