header general

UACG-12

  • Oxin
  • Oxin's Avatar Topic Author
  • Shotgunner
  • Shotgunner
More
2 years 11 months ago #1 by Oxin
[SUBMISSION] UACG-12 was created by Oxin
Info:
Name: UACG - 12
Class: 6
Type: Hitscan/Projectile
Palette: Doom
Summon: UACG12
Ammo Type: UACGEnergy (Custom)
Altfire: Yes
Powered Mode: No
Brightmaps: Yes
Added States: Yes
ACS: No
ZScript: Yes
Description:
UAC has made new type of plasmagun, the UACG-12. This weapon have 3 different
firing modes, and regenerating ammo.

Credits:
Submitted: Oxin
ZScript: Oxin
Sounds: ID Software
Sprites: ID Software, Oxin
Gldefs: Oxin

 

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

  • inkoalawetrust
  • inkoalawetrust's Avatar
  • Moderator
  • Moderator
More
2 years 11 months ago - 2 years 11 months ago #2 by inkoalawetrust
Replied by inkoalawetrust on topic <span class=
Alright, here are the issues I'm currently seeing with this:

The code is written with way too many lowercase characters and it makes it kind of confusing to read it, for one the sprite names and frames are in lowercase, even though most people write them in uppercase, function names are also usually capitalized too, so for example this snippet from the code:

Code:
        altfire:         tnt1 a 0 a_jumpif(invoker.UACGMode == 3, "SelectChain");         tnt1 a 0 a_jumpif(invoker.UACGMode == 2, "SelectRail");         uacg a 7 {             invoker.UACGMode = 2;             a_print("Shotgun mode selected");             a_startsound("weapons/uacg_changemode",CHAN_WEAPON,CHANF_OVERLAP);             a_giveinventory("UACGEnergy",1);         }         goto ready;


Should be written more like this:

Code:
        AltFire:         TNT1 A 0 A_Jumpif(invoker.UACGMode == 3, "SelectChain");         TNT1 A 0 A_Jumpif(invoker.UACGMode == 2, "SelectRail");         UACG A 7 {             invoker.UACGMode = 2;             A_Print("Shotgun mode selected");             A_StartSound("weapons/uacg_changemode",CHAN_WEAPON,CHANF_OVERLAP);             A_GiveInventory("UACGEnergy",1);         }         Goto Ready;


The formatting is weird too, for example why is the weapon class itself at the bottom of the file and every other class above it ? Usually it's the other way around. It's also weird how in the Fire state, the UACGMode value of 2 goes to the shotgun, and 3 goes to the railgun, but on the AltFire state it is the other way around. And also, maybe it would be best if the shotgun mode was split off to another state instead of being on AltFire.

Also this is more just my personal preference, but capitalizing the names of pointers and special keywords e.g Invoker, and using Allman indentation instead of K&R would be better IMO.

Using an enum to name each value of UACGMode to its' corresponding firing mode like shown below and using the names assigned to those values instead of the values themselves, could also make the code more easily readable, though it's more of a nitpick and just more of a way to make the code "prettier":

Code:
    enum FireModes     {         1 = Mode_Chaingun,         2 = Mode_Shotgun,         3 = Mode_Railgun     }


And one last thing about the code which isn't really a criticism of any kind, how does the firing mode switch work ? The way the UACGMode variable is changed seems like a black box, I can't find where in the code it is changed.

Anyways all the code issues aside, why does the gun also fire hitscan/bullet shotgun slugs and chaingun rounds ? It would be more fitting if it fired spread out and rapid energy blasts instead. Especially since even when it fires bullets, you see the blue plasma muzzle flashes.
Another weird choice is that the gun regenerates energy WAY too quickly, it should regenerate maybe 1-2 plasma rounds per second, not 1 round per tic/35 per second like it currently does, that makes it so overpowered that it gives no reason for the player to use anything else. Also why have it fire plasma balls after firing a railgun blast ?

Code, stylistic and gameplay choices aside, here are the two bugs I've encountered with the gun so far:
  • The gun does not need ammo to work, when it runs out of ammo, you can still fire bullets or railgun rounds with no issue, only difference is that the plasma ball stream from the latter stops.
  • The recoil effects are odd, they look more like the player gets teleported a few inches back from their current position, and a few inches above the ground before quickly snapping back to their previous position from before they fired a round. This is particularly noticable with the railgun and shotgun modes, that make it look like you were teleported one meter back and one meter in the air before snapping back every time you fire.
Last edit: 2 years 11 months ago by inkoalawetrust.

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

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
2 years 10 months ago - 2 years 10 months ago #3 by Gothic
Replied by Gothic on topic [SUBMISSION] UACG-12
Besides the visual presentation, I could also add the sound effects, the shotgun and chaingun modes should have more fitting sounds for an energy weapon.
Also don't add a custom bobbing style, that should be left to the modder to apply.
Last edit: 2 years 10 months ago by Gothic.

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

  • inkoalawetrust
  • inkoalawetrust's Avatar
  • Moderator
  • Moderator
More
2 years 10 months ago - 2 years 10 months ago #4 by inkoalawetrust
Replied by inkoalawetrust on topic <span class=
I don't see the bobbing style as an issue, it's fine the way it is, and if anyone savvy enough to know how to change it wants to do so, then they can just change the property. While mappers or people not as knowledgeable in DECORATE/ZScript can just keep it the way it is.
Last edit: 2 years 10 months ago by inkoalawetrust.

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

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
1 year 2 months ago #5 by Gothic
Replied by Gothic on topic [SUBMISSION] UACG-12
Any progress on this? It's been almost 2 years since the last post

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

  • Gunslahyer_Pi
  • Gunslahyer_Pi's Avatar
  • BFG Commando
  • BFG Commando
More
1 year 2 months ago #6 by Gunslahyer_Pi
Replied by Gunslahyer_Pi on topic [SUBMISSION] UACG-12
I could recode this, however with all the shotgun variants already existing, it's kinda like beating a dead horse at this point.

Gothic back me up.

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

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
1 year 2 months ago #7 by Gothic
Replied by Gothic on topic [SUBMISSION] UACG-12

I could recode this, however with all the shotgun variants already existing, it's kinda like beating a dead horse at this point.

Gothic back me up.
 
I'm inclined to agree, making a weapon that's just a railgun, a chaingun and a shotgun all in one isn't exactly innovative. The presentation is fancy with all the screen shaking and whatnot, and the code is well made for the most part, but ultimately nothing too exiting.

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

  • BFG Major Mike
  • BFG Major Mike's Avatar
  • BFG Commando
  • BFG Commando
More
1 year 2 months ago #8 by BFG Major Mike
Replied by BFG Major Mike on topic UACG-12
I may not be a mod be this shit looks like fire, you have impressed me enough to download it

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

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
9 months 3 weeks ago #9 by Gothic
Replied by Gothic on topic UACG-12
No activity so far here, closing.

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