[UPDATE] Slime Worm
- CaptainToenail
- Topic Author
- Wicked
Less
More
- Posts: 229
3 years 3 months ago - 3 years 3 months ago #1
by CaptainToenail
[UPDATE] Slime Worm was created by CaptainToenail
Slime Worm has had a glow up.
Information:
Name: Slime Worm
Difficulty: Easy
Connections: None
Summon: Slimeworm
Melee: Yes
Distance: Projectile vomit
Type: Demon, Poison
Brightmaps: No
Actor modification: No
ACS: No
Credits:
Code: Captain Toenail
GLDefs: Dreadopp
Sounds: Freedoom, freesounds.com
Sprites: Freedoom (Fredrik Johanson), Captain Toenail, Doom
Sprite Edit: Captain Toenail
Description:
A disgusting demon that lurks in toxic areas. When close it spits gobs of
acidic slime. These splatter against surfaces leaving corrosive puddles.
- Monster sprites edited to further differentiate it from Freedoom Pinkydemon
- New original graphics and sounds. No more rips.
- Code cleaned up
- New gloopy decals
- Improved behaviour - monster now blankets areas in green goo which serves as an area-denial attack. Also releases projectiles upon death.
- Decreased file size
Information:
Name: Slime Worm
Difficulty: Easy
Connections: None
Summon: Slimeworm
Melee: Yes
Distance: Projectile vomit
Type: Demon, Poison
Brightmaps: No
Actor modification: No
ACS: No
Credits:
Code: Captain Toenail
GLDefs: Dreadopp
Sounds: Freedoom, freesounds.com
Sprites: Freedoom (Fredrik Johanson), Captain Toenail, Doom
Sprite Edit: Captain Toenail
Description:
A disgusting demon that lurks in toxic areas. When close it spits gobs of
acidic slime. These splatter against surfaces leaving corrosive puddles.
Attachments:
Last edit: 3 years 3 months ago by CaptainToenail.
Please Log in or Create an account to join the conversation.
- inkoalawetrust
- Moderator
Less
More
- Posts: 254
3 years 3 months ago - 3 years 3 months ago #2
by inkoalawetrust
Replied by inkoalawetrust on topic [UPDATE] Slime Worm
It would be better to repackage the submissions to a PK3 archive, since PK3s are now allowed and are way better than WADs, if you don't know how to convert WAD archives to PK3s, then here is
a help page on the ZDoom wiki
.
As for the actor itself, the formatting seems to be pretty messy, the properties and name of the States block are all lowercase, except for the Alpha property on the slime ball projectile, they should be capitalized instead. The indentation for the states blocks is pretty weird too, it should be more like shown below:.
The projectile attack of the slime worm calls WORM F 0 five times, but you can shorten the code by just making a single line that calls the projectile firing frame 5 times like this:
Doing this for an attack that just fires the same projectile a bunch of times has the same effect, but makes the code shorter.
Also you may want to remove the A_ChangeFlag call that tries to change the SpriteFlip flag on the SlimeBall actor, because by just removing that flag change you can make this submission 100% Zandronum compatible. Currently Zandronum creates console warnings about SpriteFlip being an unknown flag every time it's called because iit doesn't have it.
However if you don't care for Zandronum compatibility, then I would suggest also replacing A_CustomMissile with A_SpawnProjectile, since the former is deprecated in L/GZDoom, and also having a single call in the slime balls' first frame that randomizes its' speed based on a set of predetermined values, instead of making several duplicate slime balls with different speeds. To do this you just need to use A_SetSpeed and RandomPick to create a set of values the projectiles' speed can change to, like shown below:
And lastly, the actor should have a predefined editor number to it, so it can just be drag and dropped to a project and used. It would also benefit from using editor keys to give it a proper name in-editor and categorize it under the monsters folder like the rest of the monsters.
Besides the code stuff, here are my "issues" with the monsters' in-game behavior:
As for the actor itself, the formatting seems to be pretty messy, the properties and name of the States block are all lowercase, except for the Alpha property on the slime ball projectile, they should be capitalized instead. The indentation for the states blocks is pretty weird too, it should be more like shown below:.
The projectile attack of the slime worm calls WORM F 0 five times, but you can shorten the code by just making a single line that calls the projectile firing frame 5 times like this:
Code:
WORM FFFFF 0 A_CustomMissile ("SlimeBall1", 40, 0, random(-10,10), 2, random(5,10))
Doing this for an attack that just fires the same projectile a bunch of times has the same effect, but makes the code shorter.
Also you may want to remove the A_ChangeFlag call that tries to change the SpriteFlip flag on the SlimeBall actor, because by just removing that flag change you can make this submission 100% Zandronum compatible. Currently Zandronum creates console warnings about SpriteFlip being an unknown flag every time it's called because iit doesn't have it.
However if you don't care for Zandronum compatibility, then I would suggest also replacing A_CustomMissile with A_SpawnProjectile, since the former is deprecated in L/GZDoom, and also having a single call in the slime balls' first frame that randomizes its' speed based on a set of predetermined values, instead of making several duplicate slime balls with different speeds. To do this you just need to use A_SetSpeed and RandomPick to create a set of values the projectiles' speed can change to, like shown below:
Code:
BOGY A 0 Bright NoDelay A_SetSpeed(RandomPick(10,12,14,16,18))
And lastly, the actor should have a predefined editor number to it, so it can just be drag and dropped to a project and used. It would also benefit from using editor keys to give it a proper name in-editor and categorize it under the monsters folder like the rest of the monsters.
Besides the code stuff, here are my "issues" with the monsters' in-game behavior:
- I think it's kind of weird that it uses the generic demon pain sound instead of a custom sound like the rest of them, the active sound is fine though since all vanilla Doom monsters use it anyway.
- The slime balls deal damage too fast, it would be better to increase how long it takes for their AcidLoop state to loop from 4 tics to 6-8 instead.
- The range on the slime balls seems a bit too low as well, increasing their speed a bit to give them a higher range would be better I think.
Last edit: 3 years 3 months ago by inkoalawetrust.
Please Log in or Create an account to join the conversation.
- CaptainToenail
- Topic Author
- Wicked
Less
More
- Posts: 229
3 years 3 months ago - 3 years 3 months ago #3
by CaptainToenail
Replied by CaptainToenail on topic [UPDATE] Slime Worm
- pk3 format
- pain sound added
- more range to projectiles
- acid puddles damage interval extended
- tidied up code
- editor number and keys added
- commented out sprite flip for Zandro
Attachments:
Last edit: 3 years 3 months ago by CaptainToenail.
Please Log in or Create an account to join the conversation.
- inkoalawetrust
- Moderator
Less
More
- Posts: 254
3 years 3 months ago #4
by inkoalawetrust
Replied by inkoalawetrust on topic [UPDATE] Slime Worm
That's weird, I myself tried to use A_SetSpeed and RandomPick to replace all the duplicate projectile actors and it worked about the same as using the duplicates did.Using A_SetSpeed does not work in this instance because the initial speed combines with the gravity and pitch to form the projectile arc. Changing the speed after it has already launched doesn't seem to make a difference because of this, so I have left that as is.
Please Log in or Create an account to join the conversation.
- CaptainToenail
- Topic Author
- Wicked
Less
More
- Posts: 229
3 years 3 months ago #5
by CaptainToenail
Replied by CaptainToenail on topic [UPDATE] Slime Worm
Strange... when I tried it I wasn't getting the projectile spread I was after - I may have been messing about with random() rather than randompick(). I'll have another look later.
Please Log in or Create an account to join the conversation.
- inkoalawetrust
- Moderator
Less
More
- Posts: 254
3 years 3 months ago #6
by inkoalawetrust
Replied by inkoalawetrust on topic [UPDATE] Slime Worm
Yeah that may be it, if you set up the function call as A_SetSpeed (Random(10,18)) it probably have picked only a certain small range of numbers between 10 and 18 most of the time.
Please Log in or Create an account to join the conversation.
- CaptainToenail
- Topic Author
- Wicked
Less
More
- Posts: 229
3 years 3 months ago #7
by CaptainToenail
Replied by CaptainToenail on topic [UPDATE] Slime Worm
The Slimeworm has now been updated. The slime attack works even better now.
Attachments:
Please Log in or Create an account to join the conversation.
- inkoalawetrust
- Moderator
Less
More
- Posts: 254
3 years 3 months ago #8
by inkoalawetrust
Replied by inkoalawetrust on topic [UPDATE] Slime Worm
Well it looks good too me, though I'm not too sure about the slime bouncing off of walls but splattering on planes like normal. Either way, is there anything else you want to add or change on the Slime Worm ? If not then I'll update it.
Please Log in or Create an account to join the conversation.
- CaptainToenail
- Topic Author
- Wicked
Less
More
- Posts: 229
3 years 3 months ago #9
by CaptainToenail
Replied by CaptainToenail on topic [UPDATE] Slime Worm
No that's everything inkoalawetrust. Thank you for taking the time to review these.
Please Log in or Create an account to join the conversation.
- inkoalawetrust
- Moderator
Less
More
- Posts: 254
3 years 3 months ago #10
by inkoalawetrust
Replied by inkoalawetrust on topic [UPDATE] Slime Worm
Please Log in or Create an account to join the conversation.