Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[CLOSED PR] Kinetics improvements & magazines
#1
Thumbs Down 
PULL REQUEST DETAILS




[INPUT][OBJECTS][FEATURE]
About the PR

This draft PR was raised to discuss the core technical changes while spriting & testing is done, and is very WIP (to save there being dozens of projectiles in the review). If there's no major issues with the changes underlined below I'll move the rest of the PR up.

Guns have a new ammo storage solution, magazine objects:
- External magazines are built around the idea of swappable magazines.
- Current ammo objects are now scoped to being 'loose bullets', they work identically for guns that don't use external magazines (Shotguns, zipgun, revolver would remain unchanged)
- Ammo objects can be loaded into compatible magazine objects (while the mag isn't loaded into a gun)
- **Magazines actually swap properly, rather than magically refilling**
- You can now have 'one in the chamber' in closed bolt kinetic weapons (so a magless gun can still fire bullets you find)

Guns can now override their projectiles' default firemode:
- Firemodes have been datumised, and are still set per-projectile (to remain compatible with existing non-firearm projectiles)
- **An optional override_firemode proc may be passed to the 'shoot' methods**
- Kinetic firearms have a default firemode override that determines burst size using bullet_number & cost (so burst fire works with 1-2 bullets in your mag)
- If your internal & external magazine don't match, kinetics now have a framework for handling more than 1 type of ammo in a burst

Why's this needed?
Gannets thought itd be neat if mags properly swapped.
Then I thought that having a bunch of magazines having 1~2 rounds in would be annoying, so fixed it.

It's also technically a lot closer to having Cooler ammo, like mixed ammo belts.


PULL REQUEST DETAILS
Reply
#2
whoops i forgot this opens a thread.

probably would need feedback though
Reply
#3
seems like good changes all around, great work! the burst fire thing was really annoying when you couldn't fire the rest of your rounds. is it possible to unload two handed weapons with a certain action or such?
Reply
#4
Seems like there's some nice QOL & cleanup being proposed here, but I'm not seeing the upshot of modeling more gun minutiae for gameplay.
Reply
#5
mag swapping & separation of concerns between mags and ammo was the core idea. the worst minutiae would be the one-in-the-barrel mechanic, which was added firstly to give loose bullets real behavior when you use them on mag-fed kinetics.

in practise the main difference between the two would be the modelling of mag-feeding (shooting your gun will fill the empty chamber as well as shoot, which lets you +1, though i can take or leave it)

i should note i've steps to make shooting remain as streamlined as possible, you don't need to do any real gun-fiddling besides putting the bullets in and clicking an idiot's face. there's no "ooer you havent typed *rack in chat!!" (though i am debating adding a *rack emote for those who want to RP a little more with their guns)
Reply
#6
Mmm, overall I don't personally see the need to de-abstract this - while the current implementation is, well, abstract and gamey, this is a video game (and even most shooters treat ammunition as just an invisible bucket of bullets that you shopvac out of corpses) and imo we're not really a game about guns to the extent that justifies realistic magazine handling etc.
Reply
#7
I still think theres value in this though, even if theres not an emphasis on guns it will make the gunplay there is more interesting even if by only a little. And there isn't really any reason not to have this since it just adds more options in future while not taking anything away, such as large boxes for individual rounds.
However I do think this could be atomised a bit.
Reply
#8
(08-15-2023, 01:12 PM)Tarmunora Wrote: Mmm, overall I don't personally see the need to de-abstract this - while the current implementation is, well, abstract and gamey, this is a video game (and even most shooters treat ammunition as just an invisible bucket of bullets that you shopvac out of corpses) and imo we're not really a game about guns to the extent that justifies realistic magazine handling etc.

fair nuff. if that's the consensus i'll rip out the mag changes & just push up the firemode stuff.

I will note there are a reasonable number of bugs owing to the weirdness/vagueness of how ammo is both magazines & loose ammo.
i could also disable the gameplay changes and keep magazines & bullet sprites, rather than a using the weird remove_on_empty bool.
Reply
#9
(08-15-2023, 01:12 PM)Tarmunora Wrote: Mmm, overall I don't personally see the need to de-abstract this - while the current implementation is, well, abstract and gamey, this is a video game (and even most shooters treat ammunition as just an invisible bucket of bullets that you shopvac out of corpses) and imo we're not really a game about guns to the extent that justifies realistic magazine handling etc.

Don't want to give TDHooligan dev opinion whiplash but I am in favor of this PR.

I agree that we shouldn't go tactical realism direction but disagree that we should leave the system as-is. We end up with some weird logic situations and bugs right now by treating everything as top up reloads.

I don't feel that this would complicate things for players that much, kinetic weapons with this change are functionally identical until you have performed partial reloads with all your fresh magazines. You both have to survive/shoot this long and be a bit reload happy to get in this situation, which I think can be adequately resolved by allowing magazines to be topped up outside the weapon.

Overall I think:
* Magazine fed weapons should reload by magazine swaps and not the current top up.
* Non magazine weapons should still be topped up like the current system (unless there are good reasons to use the same swapping).
* Partially loaded magazines should top up by clicking them together in inventory.
* There is no need for loose ammo with magazine weapons. Ammo should not be removable from magazines.
* Loose ammo is OK for non magazine weapons but should just be to avoid creating speedloaders/clips from thin air.
* No mixed ammo. Would make things more complicated and possible balance issues.
Reply
#10
(08-17-2023, 12:32 AM)Katzen Wrote: Don't want to give TDHooligan dev opinion whiplash but I am in favor of this PR.

i've shelved the magazine code til there's a consensus (IE, it still exists).

once there is consensus i can un-shelf it. right now the most debatable bit (ammo chambering & loose ammo) was a convenient add that sidesteps how projectiles are inferred from 'weapon.ammo' and technically keeps the code between magazine & non-magazine weapons closer to the original.

shelved code is in here. i haven't fixed up functionality for combining mags, nor reverse-reloading, but for testing:

Spawn "/obj/item/storage/belt/gun/pistol"

you can also emote *rack to manually rack the gun (for RP/gun nerds)

https://github.com/TDHooligan/goonstatio...netic-mags
Reply
#11
(08-15-2023, 01:12 PM)Tarmunora Wrote: Mmm, overall I don't personally see the need to de-abstract this - while the current implementation is, well, abstract and gamey, this is a video game (and even most shooters treat ammunition as just an invisible bucket of bullets that you shopvac out of corpses) and imo we're not really a game about guns to the extent that justifies realistic magazine handling etc.

I don't know, SS13 has a bunch of detail put into many areas even when they aren't what it is about. Like botany or cooking, chemistry or atmos, medical procedures.. giving guns some flavor and texture wouldn't really make the game 'about guns', as much as it would flesh out a part that has a bit less detail than it could. I feel like comparing it to say, Amnesia: The Bunker could work. That game isn't really about the guns, it's a sandbox survival horror, but it has very complex and tactile feel to most of it's mechanics(pulling and pushing doors with the mouse, turning cogs by hand..) and a similar amount of detail is given to the few guns it has, in the same vein, i don't think giving guns some more sensitive and tactile mechanics would make ss13 about guns, more so enhance the detail that the game is about.
Reply
#12
(08-19-2023, 07:42 AM)colossusqw Wrote: I don't know, SS13 has a bunch of detail put into many areas even when they aren't what it is about. Like botany or cooking, chemistry or atmos, medical procedures.. giving guns some flavor and texture wouldn't really make the game 'about guns', as much as it would flesh out a part that has a bit less detail than it could. I feel like comparing it to say, Amnesia: The Bunker could work. That game isn't really about the guns, it's a sandbox survival horror, but it has very complex and tactile feel to most of it's mechanics(pulling and pushing doors with the mouse, turning cogs by hand..) and a similar amount of detail is given to the few guns it has, in the same vein, i don't think giving guns some more sensitive and tactile mechanics would make ss13 about guns, more so enhance the detail that the game is about.

This has pushed me more in favor of the original PR overall. I dislike realism for realism's sake, but think it opens up kinetics for a lot more uniqueness besides what bullets are poured in & out. Ultimately I spent quite a lot of time streamlining it to remove stuff that'd catch players out.

What's odd is that right now, Eguns have the same mag-swapping behaviour with partial reloads, while kinetics are magic bullet vacuums. With the PR as is, I've still simplified operation to make them game-y, and a lot of modern games cover the 'one in the chamber' mechanic. With this change, you can use guns identically and not have an issue, but there's room for cooler stuff like oversized magazines etc.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)