#general-modding

1 messages ยท Page 38 of 1

edgy cedar
#

@celest lichen

#

@west haven smite the gif

obtuse fossil
#

@floral stirrup

west haven
#

bruh

obtuse fossil
dusky pivot
dusky pivot
floral stirrup
obtuse fossil
hazy sky
stiff thorn
#

been there, mostly depends on your sense of responsibility I'd say. If you're not usually ghosting people once you can't get something done or experience delays and do feel the need to complete, at the very least, small promises, then it can be a good way to push past that "I don't really feel like doing that today...", since there's another person depending on your progress

#

just my two cents on the matter, may not work the same for you

solid cedar
#

any mods that turn me into minos prime?

#

wrong channel

ocean tusk
#

Hello

sharp vortex
#

Straight up Jakeing it
2

fleet fulcrum
spare lantern
#

CHAT

#

do u guys recomend any mods on r2modman

#

for ultrapeak

#

bro this server has to many channels

#

๐Ÿ˜ญ

pure jackal
maiden juniper
#

Nice

polar jasper
hazy sky
muted stirrup
earnest lily
blissful arch
past flint
#

what do you think?

sharp vortex
# past flint what do you think?

(Feedback based on screenshots, haven't played it)
I think the colors used are pretty nice. The hedge-maze look with a blue-purple night sky is pretty cool, and I'm fond of the red drenched hallway.
I think the use of more vivid colored lighting like that is great.

I do think there's much to be desired with the level design itself.
It's very blocky and square... I think a lot of it needs some extra visual flair and some scaling adjustment (let alone actual level design adjustment, but this is something that kind of needs to be learned over time).

"Visual" verticality can go a long way, I think adding indents into floors and ceilings where applicable is a good start.
Simple stuff like adding pillars/supports along walls is another easy win. Trims along stone walls/ ceilings.
Easy "brush props" like wood barrels, small and large crates, caskets, tombstones (I'm just throwing stuff out based on the vibe I'm getting).
Changing up some of the scaling too. It looks like this was created with like a 32/64 unit lock/snap? I think playing much further down into the 4-8-16 realm (but trying to keep it uniform still i.e. not just placing random varying thickness brushes willynilly) can add some variety.
"Beveling" some surfaces by using the clipping tool on some corners (but dont go too ham with it).

#

Regardless of my criticism, good job. Despite my knowledge of this stuff I still have yet to really make anything "longform" of any variety and commend the effort something like this takes

waxen plover
earnest lily
pure jackal
#

Oh sticks

past flint
crimson lion
dusky pivot
#

Thanks!

inner prawn
desert shard
waxen plover
inner prawn
runic widget
#

@misty gale its not ai generated, I made it based off of this thing I got from a molecule website

#

it's just a different angle of that molecule

misty gale
#

OH I see the angle now, yeah that was a pretty weird angle in the original pic

runic widget
#

sorry for that lol

misty gale
#

And uhh.. yeah I'd say it tastes good

#

That's glycine

hazy sky
#

@earnest lily why does this guy look like your thugs

muted stirrup
#

๐Ÿ‘€

#

(Still need to tweak some of the weapon/hand positions but its getting there)

polar jasper
#

too much dual wielding it looks like a gronf video thumbnail

muted stirrup
inner prawn
#

Alot of akimbo indeed

solemn pendant
#

anyone know any good ultrakill mods

polar jasper
#

this is the game Drv channel Buddy...

hazy sky
muted stirrup
kind echo
#

Currently translanting Gloomwood in french but nothing changes in game
idk why ๐Ÿ™
Do i need special software to port in the game ? I just made a copy of the english translantiopn, delete the one in the localization folder justo keep the french one but notyhing happen

pulsar hazel
#

does anyone want to help me

#

never mind

pulsar hazel
#

can someone help me

austere wave
#

Who's saw blood moon?

#

Who*

thick lantern
#

R2modman work on TF2?

pure jackal
#

took me 2 and a half hours but I got this bastard UV'd properly

earnest lily
hazy sky
#

that would look dope

pure jackal
#

good abyssal line updates coming soon >:]

hazy sky
#

what's abyssal line

toxic hemlock
#

if u replace the second S with an M its everything u have ever written

earnest lily
pulsar hazel
spare scarab
#

from the trenchbroom git page

pulsar hazel
pure jackal
hazy sky
#

which train game

pure jackal
azure flume
#

Is it even a game if there's no train?

dusky pivot
#

Game some friends and I are making

hazy sky
#

at this point im just thinking about open sourcing and releasing ALL of my projects on github or itch for download

pure jackal
hazy sky
#

I'm giving this some time to think through, but I feel like it's gonna happen if i don't touch the project

#

because at that point it's just a waste of potential

pure jackal
#

Touch the project bro

#

Touch itttttt

waxen plover
past flint
lost swallow
lost swallow
#

thank

pure jackal
#

Bobby enemy texture is done

lusty gazelle
#

My Jaket mod is fucked up, won't show up any multiplayer lobbies EVEN AFTER 3 HOURS

pure jackal
flat imp
pure jackal
#

a little :]

hazy sky
flat imp
#

cap

pure jackal
dusky pivot
#

Car model/textures I made for videogame

#

Still have to improve some stuff

pale raft
dusky pivot
#

Very good improvements to glass

hazy sky
#

you have this nice coat but no sounds with it

earnest lily
hazy sky
#

the boys are back in town

#

the HUD is in complete shambles i need to reconstruct the whole thing from page one, however most things are now in working order, the weapon system will get some extra glazing to avoid edge cases, implement proper melee akin to L4D2/CS2 where swings happen in arcs etc, but the system now works as following: there now exists weapon sets, they can be either chapter based or level based. levels can override weapon sets and it's limits as this allows me to make item zoos where i can test shit out. you basically add weapons to slots, and the game is only allowed to ever load weapons and it's ammo from these slots

#

this also makes development easier because this will later allow me to create custom loadouts or overrides which will help me make adjustments easier down the line

#

so let's say enemies are supposed to drop slot_1's ammo then i can make it so slot 1 is occupied by pistols, and so ammo distribution will be handled like so, no need to hand pick and program every enemy to drop specific weapons or their ammo

#

by default each mission allows up to 4 weapons, this is also subject to change so idk man, maybe we'll get 5, or maybe i'll allow 9 but only set 4 or less

pure jackal
# hazy sky you need to add some foley sounds

Noh there will be noh coat foley
The actual flanel coat the textures based off of literally doesn't make enough sound unless I really flail around with it on and it doesn't sound good no matter how many times I tried to capture it

hazy sky
#

okay this is so funny

#

so by adding in the weapon switching sounds, i revealed an issue at hand that made weapons switch like 55234 times under the hood

#

becuase the sound was basically killing my ears

#

so i imported my debug tools from the other project to debunk stuff and turns out, i was correct

#

so after some hours now i finally can say that the weapon handler system is up to par and allows animation canceling and procedural animations if a gun is missing dedicated animations

#

and NO @slender knoll you can ABSOLUTELY never switch while reloading to break the revolver anymore, it is NOT possible this time around

slender knoll
#

this looks really good so far

#

also that sniper scope will never get old ๐Ÿ‘Œ

hazy sky
#

the hud is not working yet but i'm working on it

#

but this code is like, taccos level code so i'm taking my time to tidy shit up because i was so inexperienced while writing it initially that it hurts

hazy sky
#

totally not a hint

#

oh and i also made a pass on the PBR materials so that they look good

#

even though those are not my textures

#

also generalized the interact() calls so i don't have to write cases for behavior

#

because it was awful

#

i made everything have nodes that said interactible inside the interative object, and checked for doors, mounted nests, objectives etc, now i made a interaction area (the thing i wrote for Vestige) that allows me to just pop the area in and assign an interaction target and calls interact() on them if needed, or just display a message like the locked door message. i needed this because raycast interactions can be weird in godot and i needed a middleman that does the job for me

#

the area also has a secondary function if i want it to also display a prompt when looking at it, which will be good for prompts

stiff thorn
hazy sky
#

yea because otherwise it kinda feels too empty

#

you need that satisfying sliding of the clothes

hazy sky
#

age old shit but it's nice to see it again

hazy sky
#

reworked the objectives, now they are handled on a sort of global level so things can actually reference them, and it is overall easier to access, works more reliably etc etc

#

might also change the bullet trails

#

noticed they're made out of tubes in medal of honor and i think it does look much nicer

#

plus bullets travel way faster as well so idk what i was on when i designed the bullets to be so slow

#

in MOH it took like 2-3 frames for a bullet to reach it's destination to a 10-15 meters length, that's super fast considering my bullets like to take their fucking time on a 60 frames per sec thing

#

it takes like 3 to 4 physics frames to cover the same area which is like roughly 25% slower on a general basis

#

i also removed any semblance of multiplayer for now

#

the most that i'll include for the initial launch is split screen, because it's piss easy to pull off

#

today was a huge milestone compared to what i had going on for half a year

stiff thorn
#

I love Godot keeping shared resources as a default for animation trees

#

really enhances my beat 'em up when the guy getting knocked into others suddenly plays a stumbling animation

#

this shit sucks ass

hazy sky
#

actually you know what

#

since human ai is sort of harder, I'll start with making tanks

#

or vehicles in general like cars or motorcycles with soldiers in them

#

or military supply trucks

#

they generally behave more linearly so it could be a good starting point for both animations AND ai

waxen plover
#

Ai is not really hard tbh

#

It's justa bunch of coroutines and deltatimes and conditions to do stuff

stiff thorn
hazy sky
hazy sky
#

looked at my old build with the console and this caught me off guard

#

i don't remember what exactly produced this graceful print

waxen plover
hazy sky
#

we'll see

#

didn't get to model shit for it because my mouse sucks and keeps clicking all faulty

#

i literally can't navigate the viewport, pan the camera or zoom around, or select verts etc without clicking 4213 times

waxen plover
#

my mouse double clicks, the scroll wheel click is broken and it jitters in the most crucial moments

hazy sky
#

damn

waxen plover
#

you can imagine the dread of having to use the little top right ui to navigate in blender

hazy sky
#

yea i can sadly

#

yesterday i restructured my entire godot project by an accidental double click and drag

#

since the files were too much godot just shat itself and crashed

#

i was filled with joy because i didn't even know what got moved to where

stiff thorn
#

oh yes

#

immense joy I imagine

hazy sky
#

this happens even without the faulty mouse tbh

waxen plover
#

jumping and clapping his soles together

hazy sky
#

godot has this messy thing where something in the file viewer stays selected even if you search something in the search bar

stiff thorn
#

oh yep

waxen plover
#

i use unity unfortunately

hazy sky
#

and just clicking and dragging anywhere, don't have to even select anything will just drag the previously selected file

#

anyways

#

should i make like a vehicle class and use extensions to differentiate tanks and path based vehicles?

#

or should i just make separate stuff

stiff thorn
#

hate to say this but I dunno

waxen plover
#

wdym

#

if i were to make a vehicle i just make 1 monobehavior script and make it customizable

stiff thorn
#

tho probably a tank is a type of vehicle and is probs gonna need similar variables and stuff

#

so yeah a extendable class is what I would start with

hazy sky
#

obviously the tank would try to follow the player, whereas other vehicles might be path based

#

like a convoy moving from point A to point B

#

it's gonna be an interesting topic

waxen plover
#

oh you mean ai

hazy sky
#

ya

stiff thorn
#

ah

hazy sky
#

well that too

waxen plover
#

you're gonna have to make a custom navmesh for that

hazy sky
#

this is why i asked, although i think i will add regular vehicles as ai as well like bikes, armored cars or just regular cars with enemies shooting you from it

waxen plover
#

or use no navmesh at all

hazy sky
#

but i digress for now, tanks are more important than bikes

#

bikes can be a problem for future me

waxen plover
#

hell yeah brother

hazy sky
#

oh yeah i reworked the objective system as well

#

i no longer rely on groups, i can just assign a nodepath or separate nodes as an array, and groups are fallbacks now

#

so i can for example make a bucket of objective critical stuff and the system will check for the children within it, and if i feel like that's too tedious i can just add them to the groups

#

which will come in handy for enemies and the likes

#

i made a handy little entity spawner that allows me to set player or enemy spawns, and the selected entity will show up neatly in the editor as well

#

so yea things are busy once again

hazy sky
#

remind me to do an in-depth rework of the recoil system

hazy sky
#

made a whole ass audio player helper function that allows me to play sounds without making dedicated audio streams in each scene for 3432 things

#

i can paste the audio's file path into the function and it plays the sound

#

if i give it a coordinate, it will play a 3D spatial version of it

#

AND, it has pooling

#

8 sounds for 3D and 8 sounds for global non-spatial

#

i can also specify buses, random pitch etc

hazy sky
#

holy shit i don't think i've ever cranked the framerate over 60 before

#

why is it so SMOOOOOOOOOTHHHHHHHHHH

#

damn thats good

hazy sky
hazy sky
pure jackal
#

Unending gluttony.

hazy sky
#

๐Ÿคค

pure jackal
#

No

pure jackal
#

Yes thats my model

night roost
#

Layer 8 tomorrow guys

signal lance
#

tomorrow..

hazy sky
hazy sky
hazy sky
#

I was brainstorming all day on a method to offload all of the ammo handling to the game and not have to hand tune everything when designing maps

#

I made a formula that takes the weapon's max ammo cap, its magazine size and a randomness factor plus a weapon type bias

#

you roughly get a magazine's worth of ammo plus minus some randomness, so lets say the smg's or ar's have 300 max ammo cap, you'd get around 30 to 60 ammo, while pistols usually equal out to the magazine's size, shotguns are less generous so the math basically gives 4 to 7-8 ammo per pickup etc

#

plus I made it take the player's current ammo into account so if you're likely to run out, you get 5 to 10% more ammo than usual

#

I just have to properly implement this

#

that being said i can still leave some ammo drops on the map if I feel like the player needs some extra, and I can also tie their spawn to difficulty

#

shit I keep dumping walls of texts here

stiff thorn
#

It's aight, I like reading them

hazy sky
#

sometimes the cogs turn way too fast and I need to write down the memo before I overcomplicate it or forget it altogether

#

I was also thinking about some branching routes tied to difficulty similar to how timesplitters or goldeneye 64 does it

#

higher difficulties would have more objectives and some levels could have extra content or paths to take

#

and also while on the topic of difficulty I think I'd make it limit some of the pickups on the map so the harder the difficulty, the more reactive the enemies are, the more accurate they are, slight damage boost and less ammo and health pickups

waxen plover
#

fuck this i'm switching to godot

#

unity can kiss my ass

#

i just found a list of all my projects on unity cloud, uploaded without my permission too???

spare scarab
#

it says whether you project is on the cloud right here

#

and you can disconnect it by clicking the three dots on the right

waxen plover
#

the fact it's cloud connected by default is shady on it's own

#

who's to say they won't pull some new licensing shtick again

hazy sky
#

holy fucking shit

#

now i know the reason why my muzzle flashes were so off

#

bruh i was calling them in fire_bullet which is fine

#

except for shotguns

#

where muzzle flashes were called x times

#

the only real reason i realized this is because i put the sound into the muzzle flash method as well so the shotguns were eargesplitten loudenboomen

#

now they sound pretty pleasant for some reasn

#

this also fixes high RPM stuff

dusky pivot
#

๐Ÿ‘€

hazy sky
dusky pivot
#

Never played it

pure jackal
#

you should :]

slate python
#

Did you know that they're making a second left 4 dead?

dusky pivot
#

Just kinda busy coding procedural gen..

hazy sky
slate python
#

huh...

#

Maybe make it a little bit larger?

#

Like, right now it looks like something 3 people are able to push over.

#

Which tank is it based on anyways?

hazy sky
slate python
#

what

hazy sky
#

i guess it's kinda like a panzer III or panzer IV

slate python
# hazy sky idk man

well I've seen some tanks in my lifetime and your tank (seems pretty light) needs to be a tad bit biiger.

hazy sky
slate python
#

Well here's a photo of one with a person nearby.

hazy sky
#

i think the tower needs to be higher

slate python
#

It needs to be bigger in general.

#

Its a tank for god's sake.

#

It's BIG. It's INTIMIDATING.

#

It's COOL AND AWESOME too.

#

Take that into account.

#

Otherwise you'll end up modeling a Volkswagen beetle.

hazy sky
hazy sky
#

gave the tracks a bit of GIRTH and the tower some HEIGHT

slate python
#

But as you can guess one of the main points of tanks is that they didn't really need roads to traverse cities.

hazy sky
slate python
#

I don't know what I was trying to prove with this.

hazy sky
#

those cars are SMALL

hazy sky
stiff thorn
#

it's average-sized

#

๐Ÿ˜„

tame prawn
#

is anyone familiar with javascripttttttt

hazy sky
pure jackal
#

AN ENEMY IS IN THE GAME

#

๐Ÿฅณ

#

AND IT'S A TAAAAAAAANK

#

๐Ÿฅณ ๐Ÿฅณ ๐Ÿฅณ

hazy sky
#

wouldn't call it enemy just yet

pure jackal
hazy sky
#

i can't even do a simple thing like this properly

pure jackal
#

Can it shoot

hazy sky
#

not yet

#

i only got down the movement so far and the turret aiming

#

the barrel still needs to tilt otherwise it just shoots above you

#

my biggest issue is that it doesn't check for clearance

#

lil bro tries to squeeze through everywhere

#

and it has no health either

#

the bullet mechanics are getting the pass next time i'm on the project

#

gonna add tags to them like armor piercing, etc so i can safely tag the machine gun and other anti-tank ordnances

toxic hemlock
#

does it know how to make a grilled cheese

pure jackal
#

He knows how to make a pancake

hazy sky
gleaming owl
#

tank size is fine just turrent and track proportions little off, looks good catsup

hazy sky
#

i do think it should be a VERY little taller, considering the player is at a 1.7-1.8~ meter height and the panzer iv was almost 3 meters tall

hazy sky
gleaming owl
#

yes you are right and model already look fine in game. dont bother with little nitpicks

hazy sky
#

okay it looks comically small like this

gleaming owl
#

there is also the fact that its specific characteristics constantly change according to the battlefield and conditions in which it is in service

hazy sky
#

i think i'll try my hand with using real world photography and reference to texture the model

#

it it doesn't work then i'll just do a high poly and return to pixel8r

brave snow
#

Hello

pure jackal
#

DRILL ARM OUTTA DRILL ARM

#

๐Ÿ‘ˆ sunglasses3dverycool ๐Ÿ‘ˆ

hazy sky
#

you know what that means

earnest lily
#

Yo man you got a dollar?

pale raft
hazy sky
#

sorry for the flickering debug display

hazy sky
hazy sky
dusky pivot
#

Pretty cool

#

๐Ÿฑ

hazy sky
#

it can also finally fight back but I forgot to showcase that

#

the vehicle class is now done. they can patrol, chase it's enemy, engage them (this is different behavior on a per-class basis), it also has signals to emit when destroyed that can be linked up to mission completion or failure (escort or destroy), they can also just drive on a set path as well so yeah

#

only time will tell how good this will function

#

the tanks gun is a bit finicky though because it either aims above or below the player and I don't know why the clamping is so aggressive

#

tomorrow I'll try to create weapon animations finally and create a base animation for every weapon

#

gonna also retexture the arms and merge the pistol hand model with the two arms and unwrap it so it uses the same texture appropriately

#

after making the arm armature it's own thing finally, I could just remove the arms themselves from the models and use the guns as the weapon drops themselves finally

#

it's gonna be so fucking good

#

finally progress is realizing

#

thank you @pure jackal for reigniting the flames

pure jackal
#

๐Ÿซก

toxic hemlock
#

god i fucking love skeuomorphism

#

that looks so sexy

pure jackal
#

new word learned today!

#

I just really like the ammo counter from Dead N Furious on the DS >:]

toxic hemlock
#

the best style of ammo counter

#

taking inspiration from obscure ass DS games like 10 ppl have heard of is likely the most based thing imagineable

dusky pivot
#

World gen fully working now, terrain no longer flat

hazy sky
#

i really had no room to shit on pirate software's code when i had like three different classes for pickups of ammo, health and mission objectives

#

so anyways i deleted the two other class, made a super class that all of the sub classes can extend from so they share logic

hazy sky
#

like directly setting the player's values instead of using the designated helpers etc

#

now the pickups properly assign themselves to the correct collision layer, with 3 pre-set size variants (small, medium, large) that they can pick from, a mesh so you can assign a mesh if you haven't already, you can also change the mesh on demand so you can finally just separate the weapons and pickups from the actual weapons and pickups and create world models

#

they can also respawn etc so yeah it's pretty cool

#

there is also customizability if you enable it in the menu that allows you to use shorter messages (SMG rounds instead of Voll Feuerschutz 42 Rounds, display ammo/health next to the pickup, etc)

hollow drum
#

what

hazy sky
#

fuck yeah

#

also made the engine generate a missing model with a missing texture as well if something isn't set correctly

#

that's the armor model

#

neatly tied these areas to the debug layer so you can toggle it and see the bounding boxes

#

same with the objective areas and context message areas

dusky pivot
#

Nice raindrop texture

#

Mines are much more comic looking

#

When you take ss they look a bit strange xD

hazy sky
#

they look like literal drops

#

but i'll be honest i have no idea where signals come from anymore so i'll have to rewrite the entire process of how the ui interacts with both the player and the weapons

#

i've been searching for the keyword emit everywhere and i literally can't find where half of these signals are emitting from

pure jackal
#

it had sovl

#

where is it

brave kayak
#

is titanfall 2 modding allowed

oh, you need to be actually active in the server to post vids that makes sense actually

hazy sky
pure jackal
#

tank column naturally forming

hazy sky
pure jackal
#

Nature is healing

hazy sky
#

they check for politeness so if their paths would converge, they pick a random spot to avoid collision (radius is yet to be adjusted)

vague nova
#

gn general modders

junior bluff
#

Holy

hazy sky
#

@pure jackal how does it feel

pure jackal
#

what in particular

hazy sky
#

the whole package

#

god fucking damn it reminds me of being 9, playing in the snow after school and then coming home and playing medal of honor all night until saturday morning

#

after i finish up the HUD and work on the weapons to filter out edge cases and add animations (even if placeholder 1 frame ones), i'll go ahead and polish up your animations to ignore root motion and import them as well

pure jackal
#

Its Shaping up so far

#

feels like MOH but shinier and newer

#

honestly if you're able to get the prior ammo counter system back in and then texture that tank, it'd make a good "complete" sorta slice of a teaser

pure jackal
toxic hemlock
dusky pivot
dusky pivot
pale raft
#

I cried at the end credits when the guy told his squad โ€œthis is our legion of honorโ€ I clapped

hazy sky
hazy sky
dusky pivot
#

States how good ur picture is going to be

#

Each object in the camera view gives points

#

This points variate if u moving zooming etc

#

The cube gives a million pointd for testing purposes

#

But in a real scenario, a lot of things have to be fit inside the camera to reach such high numbers

#

:3

hazy sky
#

reminds me of fatal frame

waxen plover
#

this model will be moving crazy with this game idea i have

waxen plover
hazy sky
hazy sky
#

the way these boxes work is their collision gets turned off (they no longer process)

#

i still need to figure out a weapon drop system that uses one single prefab for all of the weapons somehow

#

boxes would only drop weapons in the box form, enemies should only drop items in weapon form etc

waxen plover
#

the walk animation action just disappeared in blender

#

nice ๐Ÿ‘

hazy sky
noble nexus
waxen plover
pure jackal
dusky pivot
#

Very nice :3c

hazy sky
#

okay this is genius, gonna write a system that basically checks for a breakable objects children, the first one should be the intact model, and then you can litter in variations under it

#

the system would iterate through the children, collect it into a pool and then pick a random one to show once the object is broken

#

if the object has only 1 child, remove it after breaking

hazy sky
#

things are looking good

#

very programmable behavior

hazy sky
# hazy sky

didn't have my plugs on god that metal dinking sucks

waxen plover
hazy sky
hazy sky
#

did some cleansing on the code, basically turned an all String based dictionary into an enum based one for the ammo pools, shit is at least 6% faster since it doesn't have to check for string stuff

#

not that it really matters tbh but it does help streamline shit further since the possible ammo types are all held within the ammo manager global, the one that also handles the ammo distribution on pickups

#

restored 100% basic functionality on the simplified hud and shit like that

#

oh and added a check for explosions that basically first checks for the health of the object it damages, if it is already dead, don't damage it because that rapid fire dinking of the oil drums were annoying as fuck, but the damage sound is otherwise triggered in the damage method so I had to remedy it like so

#

also rigged the new arms, but needs some testing AND it also needs some heavy structural reworks since all of the weapons are children of the weapon handler, which is in turn child of the head so I need to either add the arm rig to the weapon handler and basically create an exception when checking for weapons (to avoid adding the arms as a weapon ๐Ÿ’€) or I need some clever methods to separate the arm rig from the weapon handler altogether

#

I mean the animations CAN sync up otherwise but it'd be nice if I didn't have to animate/bake the position into the animation

#

OR, I could make the arms the weapon handler themselves and just change the rood node

#

ok enough rambling

stiff thorn
#

ah yes, the "using string almost anywhere for names"

#

I'm so deep into it that I can't even go back without wasting a lot of time

hazy sky
#

i made a separate method to return the ammo name as a string from a table tho so if i need it for later uses, it's still there

#

i just won't use it for actual systemic functions or checks, it's merely the name

#

could be used for the pickups, could be used for HUD elements, etc

waxen plover
#

god i love being extra

waxen plover
#

anyone here know a way to make custom tags to script with in unity

#

like a custom [Header] etc

#

reusable

tranquil oracle
#

The term you're looking for is attribute

#

If you want to use them to control how things display in the inspector, you can use PropertyAttribute & PropertyDrawer

waxen plover
#

yeah mb, gotcha

#

thanks

hazy sky
#

man unity seems so complicated compared to godot

#

in Godot you just do @export_subgroup("name of inspector tab") for an openable tab that contains your variables, or @export_group("name") to show a separator tab with a header name instead

tranquil oracle
#

That's how it works in Unity too

#

Godot uses attributes in the exact same way

hazy sky
#

nice

#

unity just uses more words in general then

#

also I wanna make a borderlands-esque randomized weapon generator because it seems like such a fun concept

tranquil oracle
#

[Header("name")] adds a separator

hazy sky
tranquil oracle
#

I don't think there is a built-in attribute for a collapsible group but it would be pretty easy to implement a custom attribute that lets you just do [Foldout("name")]

#

and I'm sure there's at least 9 million prewritten versions out there

hazy sky
#

maybe

#

I think you can write extensions in Godot like this too

stiff thorn
#

now remember exported variables that collapse/expand based on other variables' values

#

suddenly godot hab many word

dusky pivot
#

Mountains

#

(Most likely will try softer formations)

hazy sky
#

objective list was long overdue for a systemic overhaul

#

instead of 4 nodes per objective, i use 2 now, and there's a word ellipsis if the string would otherwise be too long (unwise i know)

#

but now the session knows the objectives, and the HUD specifically asks the session about the objectives based on objective ID

#

if there are no objectives, the list is empty and the top header says "No objectives avaliable." at the top

#

i still need to create actual visuals for it

dusky pivot
#

I like the font you are using a lot

hazy sky
#

i think it was TypeWrong

#

made a whole ass godot project that would print out each letter for me as a transparent png and crunched it down for me to be nice and crisp, then I fixed the spacing and the look and here we are

#

need more fonts tho

#

also remind me to return to a group based NPC vision and behavior check so I can make ally NPC's

thorny marsh
#

When is jaket getting fixed dawg

dusky pivot
graceful forge
hazy sky
#

idk how i pulled this off anymore, i'm struggling HARD with animations now

graceful forge
#

YEAH

#

Ngl, that project of yours got me hyped

hazy sky
#

did you see the actual game, or just these animations?

graceful forge
#

Both

hazy sky
#

hell yea

hazy sky
#

added an option into the shader to allow using lower resolution textures

#

something's VERY wrong with my sten

#

ok its good now kekw

earnest lily
#

where the enemies at

hazy sky
#

and the scope properly dictates where the next bullet will go

#

it's good shit

#

@slender knoll

#

also @noble umbra since i remember you asking if the FG42 will be scoped or not, it is now possible

slender knoll
#

the scope always felt good to use

hazy sky
#

it should also be on the center regardless of resolution

noble umbra
#

Steam page when? Pre order when?

#

XD

waxen plover
#

bouncy sword

hazy sky
slender knoll
#

with a brick mind you

#

man the arcade league and challenge league were a really really simple way to extend the gameplay

#

like we did that shit with a mate sitting on a couch and changing players between attempts and it was great

hazy sky
#

we played that shit for hours

waxen plover
#

fuck i missed the spooktober jam

#

FUCK man

hazy sky
#

taking the time to reduce the amount of medal of honor textures one by one

#

i'm pretty happy with this because i pretty much textured this with blender renders and some grunge texture

hazy sky
#

mmmmmmmmmm

slow willow
#

you post all your peak here????

hazy sky
#

yea

waxen plover
#

animations vary on speed

#

also added rolls when you land while running to keep the momentum

dusky pivot
hazy sky
waxen plover
waxen plover
earnest lily
#

what was the goal?

#

it looks REALLY juicy

waxen plover
#

i had this cool idea where you can hit people with it and they'd just fall and have a poster on their forehead

slow willow
hazy sky
waxen plover
slow willow
#

literally this achievement lmao

past flint
dusky pivot
#

Image quality is reduced with mouse or player movement, among many other things that players will encounter during their explorations

pure jackal
hazy sky
#

@slow willow meant to ping you with this

slow willow
#

the bideo wont play

hazy sky
#

what

slow willow
#

you beast a 41 mb, downloading that shit so i can watch

#

mad lad

slow willow
#

btw everytime i see that point and click aiming my mind goes into a frenzy

#

its super smooth

waxen plover
hazy sky
# slow willow its super smooth

I might rewrite it down the line because it directly rotates gun and you can basically rotate the crosshair out of the screen etc etc, I'm gonna make a more mouse based approach that uses the mouse cursor instead and shoots a ray from the screen to get the position the gun needs to look at

pale raft
#

It looks good

hazy sky
slow willow
#

cuz the boz rattles duuuuuuhhhhh

hazy sky
#

da greazer

hazy sky
#

update v0.3.1

  • renamed M3G to M3 Grease Gun
#

thats today's progress

hazy sky
#

today I'm gonna implement sub objectives

stiff thorn
#

Objectives but subbed? BigThink

waxen plover
#

this is how far 3am ideas go i guess, might just release a small combat demo

hazy sky
#

but nah sub objectives would be objectives not listed in the screen when checking them

#

like small objectives such as tearing down propaganda posters etc, it's just some extra replay value

slow willow
stiff thorn
hazy sky
hazy sky
#

good and bad things

#

good thing is i can finally attach the gun to the hand

#

bad thing is i'll literally have to move every recoil based thing down to the weapon manager instead of the guns themselves

stiff thorn
#

fucks up architecture?

hazy sky
#

we'll see

#

the system was not made with this in mind sadly

stiff thorn
#

oh yeah baby restructuring

#

gotta love wasting time on it

hazy sky
#

since the weapon is it's own thing and i never really expected to do this, everything was handled by the weapons

#

but now there's the middleman, the arms

stiff thorn
#

the forbidden middleman

stiff thorn
#

make sure your animation trees don't share each other as resources

hazy sky
#

they are two rigs at the same time, the other one does this because it's A posing

stiff thorn
#

so you don't have 2 enemies activating the same animation because they're referencing one animationtree that's a resource

hazy sky
#

oh yea

#

i don't really use animation trees

stiff thorn
#

really?

hazy sky
#

yet

#

i might, i used to

stiff thorn
#

haven't made enemies yet?

#

it's your best way of having good transitions between anims

hazy sky
#

enemies exist, but the animations are yet to be properly implemented

stiff thorn
#

if you get one that's fully functional do share

hazy sky
#

i will dw

stiff thorn
#

mine theoretically works except one issue I shared a while back

#

one I'd ignore if it didn't fuck up the core mechanic of the game XD

hazy sky
#

man i need a complete overhaul of EVERYTHING now

stiff thorn
#

relatable

hazy sky
#

because considering everything was dictated by the guns before, now i need a lot of helper functions and transition these to the arms instead

#

like for example the recoil, i need a helper to return the recoil

stiff thorn
#

I have so much old code and structure that is outdated because I didn't know better

hazy sky
#

yea same actually

stiff thorn
# hazy sky yea same actually

I'm at a crossroads rn where it's an issue I'm so clueless on that I might just have to give up that core mechanic

#

because if not for it then I can finally get started on graphics and have a demo in <= a month

hazy sky
#

fuck

#

i'm gonna be in big trouble real soon

#

this is all recoil related, how am i gonna pass these on through the weapon itself in the handler?

stiff thorn
#

aw hell nah

#

ain't no way you need all those curve types

hazy sky
#

i could compile a dictionary on ready and then just reference it

hazy sky
#

forgot i can just do this

stiff thorn
#

yep

hazy sky
#

it's actually pretty tame there

stiff thorn
#

fucking pirate software over here

hazy sky
#

you have no idea what i had when i just started out

hazy sky
#

i actually wrote a fucking transition map

stiff thorn
#

0_0

#

please no man

hazy sky
#

and a helper function that returned the approriate transition

#

mind you this was like a year and a half ago

#

i was still green

stiff thorn
#

I was so happy when I added enemy code and animtree nodes to a seperate enemy and everything worked right out the gate

#

that's how you know it's modular enough ๐Ÿ˜„

stiff thorn
hazy sky
#

i don't deny that

#

but compared to what i knew before, there is a pretty nice progress to competence

#

although i will now restrain myself and will NOT touch legion unless at least basic animations are done on the arm rigs

stiff thorn
#

we should collab sometime

#

see how chaotic it would be

hazy sky
#

my biggest downfall is procastination

#

if i get stuck, i'll just work on something else

#

like oh wow damn i suck at rigging, i'll polish up the game instead

stiff thorn
#

so true

#

I feel that deep in my heart

hazy sky
#

oh wow this requires animations, i'll touch up something else in the meantime

stiff thorn
#

but I've gotten better at managing this

hazy sky
#

oh wow everything at this point requires animations, welp better start a new project

#

idk why animations are such a huge roadblock for me tho

#

but in essence, the system is FUNCTIONALLY tuned to the two arm rigs method

#

if i don't setup a rig specifically for the player, it creates one from the base instead

#

weapons properly get added to the arms, now i need to link up the animation players of the arms and basically hook up the signals and animation names

#

i'll probably tackle it by adding {weapon_name} + {action} so i can do a stringname lookup and call the proper animation

#

this way i can minimize the amount i need to fuck around by hand

stiff thorn
#

Yes I'm flexing, apologies

hazy sky
#

so if the animation name is mp40_fire then it can just do weapon name + action

stiff thorn
stiff thorn
hazy sky
#

like arm_anims.play(stringname)

stiff thorn
#

oh wait yeah

#

confused it with something else, my bad

hazy sky
#

this will fail for the pistols tho

#

fuck

#

change of course

#

check if weapon type is pistol, if pistol, default weapon name to "pistol_" instead

stiff thorn
#

gng no ๐Ÿฅ€

hazy sky
#

it doesn't replace the name

#

it replaces the weapon name part in the play function

#

the weapon name will NOT be touched

stiff thorn
#

when you start making specific cases where you don't need it that's when architecture falls apart

#

granted I might be missing some context but it seems to me there's no reason to make the pistol special

hazy sky
#

like if weapon_type == WeaponType.PISTOL:
anims.play("pistol_" + str(action))
else:
anims.play(weapon_name + str(action))

hazy sky
#

all 5 of them, like basically equip/unequip, fire/reload/ and melee

#

stylistic choice

#

there won't be any exceptions when it comes to pistols

#

i might make it so there are two recoil animations, a moderate recoil and a slightly larger one, and make it so if weapon.damage > 12 then play the larger recoil but that's about it

stiff thorn
#

...interesting

hazy sky
#

this is a direct throwback to Medal of Honor and it's sequel

#

i will NOT omit this

stiff thorn
#

ok ok I see

#

if it doesn't change up too much then sure

#

always gotta look out for that potential technical debt

hazy sky
#

shouldn't cause much of a debt tbh

#

any pistol type gets defaulted to the pistol animations on the pistol hand

#

all i need are the animation finished signals to properly hook stuff up

#

the one real debt i'll have is gonna be during the animation phase

#

godot uses a different FOV scaling

#

i think it's vertical while blender is horizontal

stiff thorn
#

o

#

don't know about that tbh

#

I did make an fps but that was a while ago and it didn't have guns

hazy sky
#

hey, at least the road is well lit now

stiff thorn
#

it was very wacky and I made some anims before I forgor about it

hazy sky
#

i can link blend files together which will make it so any change i make to the weapons carry over to their own blend files

#

which is very handy because i can animate and rig the guns WHILE having a clear scale of the arms too

#

and any animation i create to the weapon carries over to the actual gun rig

#

meaning i can just animate the arms and weapons, and export separately as animation libraries

#

now that it finally clicked, it'll be much easier

stiff thorn
#

ah, yeah that sounds good

#

just be aware that blend files take up a lot more space than necessary

hazy sky
#

i don't really care, the exported GLTF's are not heavy

stiff thorn
#

and then link those up

#

not hard just don't forget about it

hazy sky
#

the weapon bone makes sure the weapon stays attached to the hands

#

the one thing i'll animate manually are gonna be like the magazines

#

the child of constraint does not give me keyframes i think

#

one thing i WANT to do before the animations are textures though

stiff thorn
hazy sky
#

i want to texture the arms so i actually have more of a depth and vision to what i'm doing

hazy sky
#

but if it makes a keyframe every frame then i'll have to reduce like 90% of it

stiff thorn
#

nah you bake when you got the final version of the anim

#

also clean curves option helps with merging/deleting keyframes that are too similar or don't change

hazy sky
#

i see, that's actually good to know

#

i think i'll start with the FG42's animations since that's been the main thing i always shown off in the videos

hazy sky
#

didn't godot add spring bones?

stiff thorn
#

did it?

hazy sky
#

holy shit physically based bipod physics................

stiff thorn
#

well hey that's neat

hazy sky
#

i'll need to figure out a way to do that

stiff thorn
#

ts about to be fire I already feel it

hazy sky
#

need to check it out

hazy sky
#

not as cool as i thought

#

i'll animate it by hand

#

cannot clamp, cannot specify where or how, you can only give it basic vectors and that's about it

#

its good for hair or booobs but that's about it kekw

waxen plover
stiff thorn
#

that's kinda mid

hazy sky
#

you can, but it looks weird

pure jackal
#

Lucas cooked with the real(fake) lighting sunglasses3dverycool

slim lanceBOT
#

@dusk fulcrum, please keep all discussions in English.

hazy sky
#

wasn't Half Life 2's art style defined by the half lambert ambient lighting or whatever

toxic hemlock
hazy sky
#

apparently it was all character models

#

especially faces

toxic hemlock
#

pre-orange box hl2 didnt have phong

#

also they stopped doing that after portal 2 apparently

#

there was also no way to disable it until alien swarm

#

valve moment

pure jackal
merry lotus
#

moonshine grenade

maiden juniper
hazy sky
#

all I know is static meshes were shaded per vertex on older builds

hazy sky
#

man I really fucking hope I don't have to work overtime today because I wanna do the animations

waxen plover
#

get that bread brotha

#

tis more important than animating,,

hazy sky
#

no!!!!

#

I genuinely want to improve in the game department in hopes I can make a living out of doing what I love

pure jackal
#

The pain of wanting to further your game as much as possible but also you gotta work a day job

waxen plover
#

keep working, do game dev on the side

#

there's no such thing as a full time game dev

#

unless you're working for a game dev company i mean

hazy sky
#

man this fucking SUCKS

#

i have to basically disassemble my entire systems

stiff thorn
#

yep

#

gl hf

hazy sky
#

this is gonna take much, MUCH longer than anticipated

#

the separation and simplification i mean

#

i basically have to make the gun objects simple data holders with an internal ammo count (magazine) and a method to produce a bullet in the scene

#

everything else has to go into the weapon manager

#

reloading, animation handling, calculating the recoil etc

#

but the weapon handler is already such a long fucking wall of code

#

i might need to create a middle ground

#

since I already have an ammo manager that handles adding and deducting ammo, and calculating the amount of ammo the player gets, and the weapon handler is responsible for the inventory, I think it's nigh time to create an animation manager that holds references to the animations and produces tweening of the recoil

waxen plover
#

it doesn't sound like a big deal, just code everything from scratch

#

i don't know much about godot though so i might be wrong

hazy sky
#

problem is i have most everything in exports

#

so gun names, values etc are all stored in the editor and the scene file

#

rewriting from code means i lose most of these and have to redo everything but if all else fails, i'm gonna have to do that

hazy sky
#

like you know, the record icon that makes a keyframe when a change happens

waxen plover
#

it's the little dot in the timeline in the normal viewport if you don't find it in the animation tab

#

remember to disable it when you're not animating

stiff thorn
#

yeah you only find it in timeline

hazy sky
#

found it

#

thanks

waxen plover
#

there's usually another timeline tab under the action editor thing i think

stiff thorn
#

I recommend switching to the animation tab above

hazy sky
#

been looking for it for two days now

stiff thorn
#

it's amde for it

#

you got a seperate window that hides bones (lets you see everything more clearer), auto record, and dope sheet all ready

waxen plover
#

i could never dope sheet

hazy sky
#

huh

#

hmmmm

waxen plover
#

aw the moderation done got me

#

curves are for the sick

stiff thorn
#

dope sheet isn't curves

waxen plover
#

i know, i made a joke but the moderation deleted the message

stiff thorn
#

:((

hazy sky
#

holy fucking shit

#

this almost works actually

#

except it doesn't call proper weapon functions yet

#

except of course the fire function

#

at this point i can start migrating code AWAY from the guns

#

also yea the aiming is funny

#

also at this point i have no fucking idea where i'm calling the aiming function from

waxen plover
hazy sky
#

mmmmm hurt box

waxen plover
#

the blood splatter is a bit odd atm, i'll probably scale it up for the smaller hits too

hazy sky
#

okay shit's GOOD because i figured out the FOV to godot's camera in blender

#

i got the pistol anims down

#

but i still gotta figure out how to loop firing animations

#

hmmmmmmmmmm

#

need to migrate the RPM calculation from the guns as well............

#

shit's a chaos right now, but i'm on the right path

#

this was also the easiest part since all pistols share the same animations so i could just eyeball it without having the gun be present in blender

#

i still have to redo the guns to be size appropriate and shit

#

after that's done, i can just write functions that render the guns as inert, and i can literally create dropped variants based out of the inert gun objects since that was impossible before

#

the weapons were spagettied together with the player because it was NEVER consiered that the weapons, arm models and everything, would exist without an owner

#

and since now that's done, i can actually swap out the arms as needed

#

man it feels so good, thanks for all the help @waxen plover

waxen plover
#

no problem

hazy sky
#

a lot of stuff on my end works procedurally, if I can automate Godot to do it, I will so it'd be cool to have them setup like so

stiff thorn
#

There's different types too so you might want to look into that

hazy sky
#

that's exactly the thing I'm asking for

#

wait it might not be

#

might have to set it all up manually after all

stiff thorn
#

It ain't that bad

hazy sky
stiff thorn
#

Fym randomized

#

Oh I get it

#

So there's this neat trick where you can use a blend tree, then add the idle and a oneshot

#

Then you connect an animation node to the oneshot and can change its anim via code (changing the stringname)

#

Then implement the different string names based on a random number

#

Boom, pish pash posh ez

hazy sky
stiff thorn
hazy sky
#

okay, is it possible to interrupt animations with an animation tree?

#

like you see, I don't want the animation to dictate the rate of fire, I have an RPM calculation that properly sets up how often should a weapon fire while the button is held

hazy sky
#

I cannot just loop through the animation and let it finish, if a gun is mid-fire it needs to cancel out the last one

stiff thorn
#

You call abort on the oneshot and it instantly cancels the anim and goes back to idle

hazy sky
#

and does the animation tree have signals for shit like these?

stiff thorn
stiff thorn
#

Then you dont even need abort, just call it to play the anim again

#

It'll do just that

hazy sky
#

nice

#

because normal animation players need to be stopped before calling the same animation again

stiff thorn
#

There's only the animation finished signal

hazy sky
#

so it uses the animation player's signal

stiff thorn
#

Probably, yeah

hazy sky
#

makes sense

stiff thorn
#

Animation tree doesn't store any anims and data itself, it just runs logic on them

hazy sky
#

I could probably write up my own signals and call them

stiff thorn
#

For that it asks for an animation player as a DB

hazy sky
#

makes sense tbh

#

it's like an extension in a sense

stiff thorn
#

Yeah, basically

hazy sky
#

alright cool

stiff thorn
#

A very big extension

hazy sky
#

we'll see what it brings

#

I know the enemies will use the anim tree because fuck all that

#

but weapons might not need it if not necessary

stiff thorn
#

Yeah it gives very nice blending between idle and other anims

#

You can control from what point the blending starts

#

The graph of how it blends

hazy sky
hazy sky
#

smoothly sways in the physics process frames

stiff thorn
#

Ohhh

hazy sky
#

same with the walking animation

#

well, "animation"

stiff thorn
#

Yeah I get what you're doing

#

Since I work with 3rd person I haven't really tried this

hazy sky
#

yea it's velocity based and everything

stiff thorn
#

Well yeah, not everything has to be one system

#

If you ljke it that way with your fps hands, then just keep using that and animation player

stiff thorn
#

It's universal and missing features of blend tree but it's there

hazy sky
stiff thorn
#

See what works for your system

hazy sky
#

yeah

#

what's also really nice is that I usually handle recoil procedurally as well

#

so I'm only animating the base minimum firing anim-wise

stiff thorn
#

You could probs handle shooting procedurally as well

hazy sky
#

how

#

procedural: the game

#

in a way I am doing it procedurally tho

#

there is a barrel node and the gun shoots AWAY from the node

stiff thorn
#

Just tween the gun backwards with randomised end points?

#

Probs need to adjust stuff but that's the firdt thing that came to mind

#

Shooting is definitely easy to do procedurally

#

Now stuff like reload and shii

#

That's where you give it an anim

hazy sky
hazy sky
hazy sky
# hazy sky that's the recoil

I basically have two tweens, a pos and a rot tween, and you can specify in the inspector the recoil values, then the recoil method nicely tweens the gun back and then back to ZERO

stiff thorn
hazy sky
stiff thorn
#

Ah

hazy sky
#

bolts, accessories like the dust cover on the grease gun, bipod on the FG42, bolt on the MP40, pump on shotty etc

stiff thorn
#

Ah I see

hazy sky
#

the rest is handled dynamically by the tweeners

#

even games like titanfall don't bake down recoil animations

stiff thorn
#

Don't know about that so I'll believe you

#

Anyway sounds like you know the system you want

hazy sky
#

from what i saw in the modded apex client, those guns are animated procedurally

stiff thorn
#

Animationplayer for the hands should be enough for ya

hazy sky
stiff thorn
#

Yeah I meant the fps viewmodel in general

#

My bad

#

Also why tf does this channel have slow down

hazy sky
#

i just need a good method to cache or otherwise store recoil data

stiff thorn
#

What type of data do you need

hazy sky
#

right now i have exported values for XYZ values as floats

stiff thorn
#

You don't wanna store it as a vector3?

hazy sky
#

recoil goes randf(recoil_value_axis, recoil_value_axis * 1.1)

stiff thorn
#

I'd just store it as a vector3

hazy sky
#

problem is the fps arms don't exactly have a real reference to the guns to read this

hazy sky
stiff thorn
#

Ah

hazy sky
#

why am i stupid i used to store it as that as well

stiff thorn
stiff thorn
#

Sometimes you just don't think of it

hazy sky
#

i was thinking since the weapon manager has reference, and it calls the function called fire that tells the arms to pass down the fire to the gun as well, it could just take the recoil values and make the mandatory arguments into null if you just call it normally

#

and then in the recoil method just make it return if the recoil value is Vector3.ZERO

#

hey that's actually pretty good

#

i still need to somehow trigger the weapon switching shenanigans, since i use two rigs at the same time, the system needs to know what type of gun is being held and play animations like so

stiff thorn
#

Sorry what's the setup here

#

Why does the weapon not play the anim

hazy sky
stiff thorn
#

AH

hazy sky
#

weapon manager holds inventory, calls functions. weapon manager gets input from player to fire -> fps arms trigger recoil if applicable, fps arms pass fire() to weapon as well -> gun animates itself

#

eg slide racking back, hammer falling, bolt moving etc

#

gun also spawns bullets and holds reference to sounds etc

stiff thorn
#

Yeah ok I see it

hazy sky
#

ya

stiff thorn
#

I'd also have the weapon manager create and pass down the recoil value

hazy sky
#

and it does

stiff thorn
#

Aight sounds reasonable

hazy sky
#

weapon manager has reference to gun, gun has recoil value stored, weapon manager.fire(current_weapon.recoil_value) -> fps arms.recoil(vector3)

stiff thorn
#

Hm?

#

Why does the gun need the recoil value if the arms are gonna use it?

hazy sky
#

because you set up the gun-based properties in the gun itself???????

#

it would make sense that the weapons should store their own recoil values

stiff thorn
#

Gng he's not gonna use it ๐Ÿฅ€

hazy sky
#

why would i store recoil in the arms

#

they're arms, not guns bruh

stiff thorn
#

Fym arma

#

If the weapon manager calculates the recoil why can't it send it to the arms

#

Is readability worth the middleman

hazy sky
#

it literally does

#

that's what i said

#

player inputs fire() -> weapon_manager sends fire down to arms (and passes down the vector3's from the gun) -> arms tween the recoil based on argument

#

the gun is stationary in the hand

#

would be cool if certain exported values only show up with toggles tho

#

oh shit

stiff thorn