header general

[SUBMISSION] Automatic Crossbow

  • Kan3
  • Kan3's Avatar Topic Author
  • Chaingunner
  • Chaingunner
More
1 year 3 months ago - 8 months 2 weeks ago #1 by Kan3
[SUBMISSION] Automatic Crossbow was created by Kan3
Info
Name: Automatic Crossbow
Class: 4
Type: Projectile
Palette: Doom
Summon: AutoCBow
Ammo Type: DartAmmo(Custom)
Reload: Yes
Altfire: No
Powered Mode: No
Brightmaps: No
Actor modification: No
ACS: Yes

Credits
Submitted: Kan3
Code: Kan3
Sprites: ddzeeeeee (Model), Kan3, Medieval Doom (Hand)
Sprite Edit: Kan3
Sounds: Bethesda (TES: Skyrim)
Idea base: Van Helsing automatic crossbow

Description
The nightmare of every vampire out there,
this fully automatic crossbow will rain metal darts on your enemies
thanks to its elaborate gas powered mechanism.


 

Download
https://drive.google.com/file/d/1agejEM-fySXv_B2ZlmdOZ_TiaJjW7dRe/view?usp=sharing
Last edit: 8 months 2 weeks ago by Kan3.

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

  • Gunslahyer_Pi
  • Gunslahyer_Pi's Avatar
  • BFG Commando
  • BFG Commando
More
1 year 3 months ago #2 by Gunslahyer_Pi
Replied by Gunslahyer_Pi on topic [SUBMISSION] Automatic Crossbow
This is frikkin awesome.

However, I can't utilise ZSCRIPT. I have no idea how to add something like this to my maps. I'm a novice with ZSCRIPT. Any chance you could do one with Decorate?

All in all though. This is a really cool weapon! I'm super impressed!

Great job!

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

  • Kan3
  • Kan3's Avatar Topic Author
  • Chaingunner
  • Chaingunner
More
1 year 3 months ago #3 by Kan3
Replied by Kan3 on topic [SUBMISSION] Automatic Crossbow

This is frikkin awesome.

However, I can't utilise ZSCRIPT. I have no idea how to add something like this to my maps. I'm a novice with ZSCRIPT.
Any chance you could do one with Decorate?

 

Thank you a lot! Though I'm still a bit uncertain about the sprites, I'm glad you liked it!
Unfortunately I'm not able to convert the "WarpStuckDart" (the dart that will remain attached to the enemies) in DECORATE D:

If it might help, you should be able to quickly test it in "every" game by just inheriting from a weapon and replacing that weapon, then adding the weapon slot that you like.

For example in this case:
Class AutoCBow : Chaingun Replaces Chaingun
and de-comment" Weapon.SlotNumber 4;

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

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
1 year 3 months ago - 1 year 3 months ago #4 by Gothic
Replied by Gothic on topic [SUBMISSION] Automatic Crossbow
This is a nice weapon, but needs some polishing.
There needs to be an ammo counter for both types of ammunition, you need to add DartAmmo as its second ammo type.
When I run out of darts the weapon stays on a state that doesn't allow me to switch out until I pick up some ammo. Instead of getting stuck in the NoAmmo state, it should stay on a different Ready state that doesn't allow firing, but allows reloading, like this:
Code:
Ready:         TNT1 A 0 A_JumpIfNoAmmo("ReadyNoAmmo");         CBWA A 1 A_WeaponReady(WRF_ALLOWRELOAD);         Loop; ReadyNoAmmo:         CBWA V 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWRELOAD);         Loop; Reload:         TNT1 A 0 A_JumpIfInventory("MagDarts", 25, "WindDown");         TNT1 A 0 A_JumpIfInventory("DartAmmo", 1, "Reload1");         CBWA V 1 A_JumpIfInventory("MagDarts", 1, "Ready");         Goto NoAmmo; NoAmmo:         TNT1 A 0 A_StartSound("acrossbow/load", CHAN_WEAPON, 0, 1.0, 1.0, 1.2);         TNT1 A 0 A_Print("You run out of darts.");         Goto Ready;

Unless you figure out a better way to do it, I suggest using this.
The print function could be replaced with ACS using the HudMessage function, so it doesn't get infinitely logged on the console, like I suggested here .
For the arrows that get stuck on the walls, why do they have a chance to fail appearing? Also the game can crash if you destroy a Suit of Armor .
The dart projectiles need to inherit from FastProjectile , to avoid aiming issues.
For the sprites, the hand graphics could fit with the Cleric from Hexen, but if this is supposed to be used in Doom, it should have the same color of gloves as the marine, or use gloveless hands (like Blood or Duke's hands, or even your own)
The dart sprite names clashes with the Darts from Hexen.
Last edit: 1 year 3 months ago by Gothic.

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

  • Kan3
  • Kan3's Avatar Topic Author
  • Chaingunner
  • Chaingunner
More
1 year 3 months ago #5 by Kan3
Replied by Kan3 on topic [SUBMISSION] Automatic Crossbow

This is a nice weapon, but needs some polishing.
There needs to be an ammo counter for both types of ammunition, you need to add DartAmmo as its second ammo type.
When I run out of darts the weapon stays on a state that doesn't allow me to switch out until I pick up some ammo. Instead of getting stuck in the NoAmmo state, it should stay on a different Ready state that doesn't allow firing, but allows reloading, like this:
 
That's what I was missing! I thought that I needed something else for a reloading gun to work properly.

For the arrows that get stuck on the walls, why do they have a chance to fail appearing? 
The dart projectiles need to inherit from FastProjectile , to avoid aiming issues.

I added a chance of not spawning cause I didn't want to fill the game with hundreds of darts, since it has a quite high fire rate. "Immersion" explanation: some of them break  when crushing on walls x)
Keep forgetting the FastProjectile class.

Also the game can crash if you destroy a Suit of Armor .
For the sprites, the hand graphics could fit with the Cleric from Hexen, but if this is supposed to be used in Doom, it should have the same color of gloves as the marine, or use gloveless hands (like Blood or Duke's hands, or even your own)
The dart sprite names clashes with the Darts from Hexen.

Oh, that's really inconvenient and I don't know if I'm able to fix that since I don't have Hexen. I'll try to recreate that and see if I can fix it, by the look of it it must be due to the fact that there's no checking for breaking armor things.
Actually I don't really know what game I should aim, I dumbly converted the sprites to doom palette cause at first I wasn't thinking about releasing it here. 
Do you suggest to go for Hexen or Heretic? (I definitely don't think it would fit in Doom except for specific mods perhaps).

I'll fix the rest immediately

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

  • Kan3
  • Kan3's Avatar Topic Author
  • Chaingunner
  • Chaingunner
More
1 year 3 months ago - 1 year 3 months ago #6 by Kan3
Replied by Kan3 on topic [SUBMISSION] Automatic Crossbow
Surprisingly, I've been able to fix everything in a short time.
I got Hexen, so I could directly test the issues.
  • No more crashes on killing breakable props (armor, corpses etc.).
  • Proper warping on breakable props.
  • Now the arrows will get stuck on actors keeping the angle of impact.
  • Stuck arrows will now fall down when objects breaks/disappear or walls move.
  • Changed the palette to Hexen.
  • Fixed "NoAmmo" state loop with proper new ready state.
  • Darts projectiles now inherit from FastProjectiles

To solve the crashing issues I encounter another obstacle that I still don't clearly understand: basically the Warping arrows that should've died right after their tracer (the actor they hit, so in this case breakable armor suit etc.) died, but instead they just kept on floating in mid air until the counter run out.
I have really no clue why this happens, it looks like the actor doesn't "really" die or something.
I added more checks and fixed this issue, but then I encountered another one...
Warping arrows fell down except the one that killed the actor, because it wasn't a warping arrow that got spawned but a normal stuck arrow, like it hit a wall.
In the end I had to add another check, nothing big since it also serves as a check for moving walls, but still I don't know if it's a game/engine bug or if there's something wrong with assigning pointers to certain actors.
Last edit: 1 year 3 months ago by Kan3.

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

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
1 year 3 months ago #7 by Gothic
Replied by Gothic on topic [SUBMISSION] Automatic Crossbow
I think the fail chance of appearing should go, if performance is what worries you then you should just let them stay a long time (like 30 seconds, or maybe more) until they enter their death states:
Code:
IDRT A 1050; Goto Death;
The message should not have a fade in animation, and needs to be placed more to the lower center, so it doesn't get covered by pickup messages

Actually I don't really know what game I should aim, I dumbly converted the sprites to doom palette cause at first I wasn't thinking about releasing it here. 
Do you suggest to go for Hexen or Heretic? (I definitely don't think it would fit in Doom except for specific mods perhaps).
 
In my opinion, I don't think this could fit a game in specific, so using gloveless hands should be the best option, otherwise, use Doom hands (if you can do both, it would be even better)

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

  • Kan3
  • Kan3's Avatar Topic Author
  • Chaingunner
  • Chaingunner
More
1 year 3 months ago #8 by Kan3
Replied by Kan3 on topic [SUBMISSION] Automatic Crossbow

I think the fail chance of appearing should go, if performance is what worries you then you should just let them stay a long time (like 30 seconds, or maybe more) until they enter their death states:
Code:
IDRT A 1050; Goto Death;

The message should not have a fade in animation, and needs to be placed more to the lower center, so it doesn't get covered by pickup messages

In my opinion, I don't think this could fit a game in specific, so using gloveless hands should be the best option, otherwise, use Doom hands (if you can do both, it would be even better)
Alright, I think I will go for 1 minute before disappearing.

I'll see what I can do with the hands, cause I'm definitely not the best in making sprites nor in modifying them. Unfortunately my own hands and wrist don't look great at all when I try to get sprites out of them x)

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

  • Kan3
  • Kan3's Avatar Topic Author
  • Chaingunner
  • Chaingunner
More
1 year 3 months ago #9 by Kan3
Replied by Kan3 on topic [SUBMISSION] Automatic Crossbow
Alright, finally I've been able to update this.
  • Gloveless hands
  • Removed chance of darts not spawning after impact and after the target dies
  • Darts can now disappear after 1 minute or if the player is 1024 units away
  • Removed fade animation from "no ammo" message and positioned on the bottom left of the screen 

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

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
1 year 3 months ago #10 by Gothic
Replied by Gothic on topic [SUBMISSION] Automatic Crossbow

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