Original Post — Direct link

We are trying to find a good solution for this! It's tougher than it seems. As noted by others, the LSTAR uses ammo in a different way. Most guns have ammo on pickup because the ammo in the magazine doesn't count towards ammo in your inventory, so they can spawn with a full mag and not have it affect your inventory at all. The LSTAR's ammo count is just the amount of ammo you have in your inventory, so if you pick it up with no ammo in inventory, then it's 0 which stinks. Hopefully it's not a problem every time much because guns have their ammo spawn next to them, but it definitely is too common that you get one with 0 ammo and can't use it, which sucks.

There are a few solutions that seem possible but have some pretty big problems that make them untenable. The most obvious one is "what if you got free ammo in your inventory when you picked up an LSTAR?", but then people could get infinite ammo! This leads into "what if the LSTAR only gave the ammo when it was picked up the first time?", but this encourages some weird and unfun play patterns. Remember, when you are finding an LSTAR on the ground with no ammo around it, that's because another player has come along and wanted the ammo but not the gun, so they scooped up the ammo. Since they want the ammo, we are just encouraging anyone running a volt to have to pick up LSTARs and immediately drop them for the ammo. This is obviously frustrating since you may have to drop a gun and all it's attachments then repick it all back up, and it's just a bizarre and clunky thing to do when we've done so much work to make looting streamlined and fluid. Additionally, now some LSTARs will give you ammo when you pick them up, and some won't, since some LSTARs will have been touched by other players and some not. It'll be super inconsistent and confusing, and that'll make it hard for most players to understand, since they don't come on reddit or read patch notes or anything. "What if the LSTAR gave ammo but only the first time it was picked up _per player_". This doesn't solve the degenerate use case of needing to pick up and drop LSTARs for the ammo, and it may cause worse things where a team passes around the LSTAR to each other to get max ammo then moves all the ammo to someone. "What if it was _per squad_?". This still doesn't solve the big issue of the weird use case. "What if it only gives ammo one time per squad and it only gives ammo if you don't have energy ammo already or another energy gun or..." at this point, the design alarm bells are ringing. This solution is just getting far too complicated and special case-y. Almost no players will be able to understand or figure out the rules of how it works, and the whole point is to make picking up the LSTAR and immediately using it consistent and smooth -- this is just making things inconsistent and weird and complicated. In general, when a design solution starts having to make tons of minor conditional adjustments to meet tons of special cases, that's just an indicator that it's not a good or elegant solution. For these reasons, we decided to steer away from that sort of stuff.

HOWEVER, we have some other ideas! There's one that we think is a decent solution, it has some weirdness but I think it's worth it for the benefits. But, from the technical side, it gets pretty hairy and has the potential for lots of bugs. The problem is fundamentally due to the fact that the various ammo systems are coded differently and are built for very specific purposes, and we want to do some sort of weird hybrid between 2 of them and pick and choose pieces from each. This requires some technical rework and needs to be done right, we can't just hack this in real quick due to the risk of how much stuff has to be touched, and in general there's a lot of UI and gameplay adjustments and such that needs to be changed to make this work. Think of everywhere in the game where the game is dealing with how to move around and mess with ammo, and then realize that there's tons of places it happens that you probably don't even realize on the surface (guns on the ground aren't the same entity type as a usable weapon, ammo boxes on the ground aren't the same as ammo in your inventory, which isn't the same as ammo in your gun, etc.). We have some initial work done, but it wasn't ready for the next season launch. We're working on it though!

Originally posted by Firaxyiam

While I get what you mean, they somehow managed to dodge that issue with care package weapons. Their ammo doesn't appear anywhere, it's just set on drop for the gun, and doesn't "exist" physically in game.

Maybe they can try to figure something out for the L-Star (especially since it was, at some point, a care package drop), but that is probably really tricky and not worth the time and effort

Care package weapons are a different type of ammo system entirely. Apex weapons use "ammo pools", which is a value we can set on the player and is used so that ammo is a loot item in apex that goes in your inventory. For most weapons, the "ammo pool" for the ammo type (say, energy ammo), is the reserve ammo, but it doesn't count any ammo in the mag. If you have a Volt with 15 rounds in mag and 4 rounds reserve, you have 4 energy ammo in your inventory. If you reload and the volt has 19 rounds in mag, you have 0 in reserve and no energy ammo in inventory. If you drop the volt, it still holds that 19 rounds in mag, so another player picks it up and it has 19 rounds (simplification of some tech stuff here). When you first pick up a weapon, we give it a full mag, so you get some ammo. The issue is that the LSTAR has a magazine size of 0. This specifically makes it act like the "infinite ammo" / "no reload" type of weapon, but then it doesn't have any ammo that "live in the mag" like other weapons. Care package weapons are like titanfall ammo system. They don't store any ammo on your player or in inventory at all -- all of their ammo exists on the gun. This works because you can never find more ammo as loot for care package weapons! That's why they are set up differently and work differently.

Originally posted by rubixcubeplays

I’d like to see picking it up spawning a stack on the ground, similar to the stacks of ammo that spawned in that second chance mode. I guess that way it’s up to the player to arrange their backpack accordingly, and in turn doesn’t break the already established coding.

Edit: as a once only, if the gun has been picked up before, no ammo.

As noted above, then as a someone carrying a Devotion shouldn't I just pick up and drop every LSTAR I come across? Then I gotta re-pick up the weapon I dropped, and re-add attachments, which is clunky and annoying. But if I don't I'm literally just not picking up ammo that I need, so I feel like I need to do it. The game is actively encouraging me to do something that sucks. Then, since everyone is running around picking up and dropping LSTARs for the free ammo brick, there are gonna be tons of LSTARs I find that don't have ammo anyway, and we are in the same problem, it's just unreliable and inconsistent now!

Originally posted by NotoriousBumDriller

Wow, you didn't have to be this detailed but I personally greatly appreciate it :) game development can be very complicated it seems,

No problem! I enjoy trying to give some insight on why things are sometimes more complicated and tricky than they seem. The saying "the devil is in the details" is very very true in game dev (and most creative / problem solving endeavors tbh). Games are hard! But, these sorts of sticky problems are interesting and cool to think about, and I enjoy talking about them!

There are big sticky hard questions in design that are project wide difficulties, like "how can you make a game mode like battle royale that heavily uses randomness and variance to drive continued engagement while also wanting that game to be competitive, which requires the perception that the more skilled players will be the most successful". These are the real juicy ones that are very difficult and take a long time to work on, and often you never "solve" them, you just do what you can to find a compromise that works for your target audience. People love to talk about these ones because they are exciting and very visible. But these little mini problems like "how can we make it so players don't pick up an LSTAR then are unable to use it" are also super fascinating and take up tons of time too. They are everywhere, but they usually aren't visible to players. Doing things is almost always harder and more time consuming than you would think, even in dev it's just a fact that everyone underestimates how long things will take and overscopes how much they can do.

This is I think a big root cause of the disconnect that causes lots of "lazy devs" anger and the frustration which follows on our side. Stuff is really hard in ways that aren't at all obvious until you start actually having to build it or think about every possible use case. Externally people think things are much much easier than they are, and internally we aren't great at explaining why random things are actually super hard. (e.g. Doors are SO. f*ckING. HARD. Doors. They're just doors! How hard could it be to make a thing that swings open and closed! Oh man they're tough.) I hope me trying to come on and give some context here helps bridge that gap a little bit!

Originally posted by HenkkaArt

I dunno, remove the heat build-up mechanic, make the heat cylinder a mag and boom! You have a gun that behaves similarly as any other gun and you avoid the confusion of multiple players landing on the same gun where one picks up the gun and the other one the ammo (especially how randomly the pick up system works immediately after touching down).

It doesn't seem worth it to completely destroy the thing that makes this gun unique just to fix this bug in my opinion Also, that would take a ton of work! New animations, new sounds, new model work, new rigs, how to make it work on the legendaries, etc.

Originally posted by MrPigcho

Forgive me if I'm being daft here but, if I pick up an L-star with 100 ammo and shoot continuously, then the weapon will overheat. I don't know the numbers but let's say I'm left with 80 ammo, or 75 with rampart, then it means that 1 spray uses up at most 25 energy. Can't you just make the L-star spawn with 25 energy?

If you feather the trigger you can fire the LSTAR infinitely

Originally posted by DigitalEvil

What about:

IF -> First time gun has been picked up by any player and player has 0 (or less than 20) energy ammo in inventory, Then -> allow LSTAR to shoot 20 energy ammo past empty 0 inventory

The game obviously tracks whether a gun is newly spawned loot or previously dropped (user and magazine capacity is customized/different when you pick up a gun previously dropped by a player). So you should be able to build out something for the LSTAR that can recognize if it's been picked up by any player before or not. The LSTAR also already tracks energy ammo in a users inventory as well, so it seems you can add an exception as well based on whether the player already has energy ammo in their inventory. If inventory ammo >0, then -1 ammo count from inventory and fire weapon. So an exception like the above that allows the weapon to fire 20 counts at <=0 when the gun is picked up for the very first time by anyone seems easiest route to avoid exploitation.

You could get away with minimal UI changes as well. Perhaps instead of even dealing with visualizing the base "20 ammo", you just make the LSTAR weapon UI pulse to indicate it's a first time pick up weapon with the 0 ammo exception. The ammo count could remain at 0, so users don't get comfortable with picking up LSTARS without trying to also pick up corresponding ammo for it. The player literally just gets a hail mary 20 ammo count built into the LSTAR itself if they are the first player in the game to pick the weapon up and they also don't have any ammo. This would solve the risk of exploitation by players passing things around and would prevent the need for too many significant, visualization changes.

That's prettyyyy convoluted, I would imagine very few players would understand what was happening. You'd also have bizarre secret optimizations like "if you have less than 20 energy ammo you should drop it first" that don't feel good and are hidden to most players. Like I said, once you start having to do really complicated conditionals, it's generally a sign you are on the wrong path. It's not enough to have a behavior that works, players also need to be able to understand it (and when players are trying to focus on the game, things need to be AS OBVIOUS AS POSSIBLE! haha). As someone who made an incoming new hopup that's arguably too confusing, I'm very worried about that learnability stuff, and I'm sure you will all make me eat my words here!

Originally posted by CMDProGamer

This probably already crossed the conversation, but what if you just put a little counter next to the infinity “selection type”. Add a default of like 20 permanent ammo in the LSTAR, so picking it up will not add any ammo to the inventory. If the player has no energy ammo, have the gun use the “default ammo” it has. If the game player does have energy ammo, have the gun target the stacked ammo. I realize it could be finicky trying to make the gun switch between the 2 ammo types mid fire, but I think it’s possible. I have no clue how hard it would be to code or play test, as I have no experience with it. Just an idea I had. And like I said it was probably passed around before.

Edit: selection type meaning like the r301 single fire or rapid fire

We are trying to work with a similar concept! It's just pretty complicated and risky from a code/script standpoint, so it wasn't ready for this season unfortunately.

Originally posted by AmusedApricot

We are trying to find a good solution for this! It's tougher than it seems. As noted by others, the LSTAR uses ammo in a different way. Most guns have ammo on pickup because the ammo in the magazine doesn't count towards ammo in your inventory, so they can spawn with a full mag and not have it affect your inventory at all. The LSTAR's ammo count is just the amount of ammo you have in your inventory, so if you pick it up with no ammo in inventory, then it's 0 which stinks. Hopefully it's not a problem every time much because guns have their ammo spawn next to them, but it definitely is too common that you get one with 0 ammo and can't use it, which sucks.

There are a few solutions that seem possible but have some pretty big problems that make them untenable. The most obvious one is "what if you got free ammo in your inventory when you picked up an LSTAR?", but then people could get infinite ammo! This leads into "what if the LSTAR only gave the ammo when it was picked up the first time?", but this encourages some weird and unfun play patterns. Remember, when you are finding an LSTAR on the ground with no ammo around it, that's because another player has come along and wanted the ammo but not the gun, so they scooped up the ammo. Since they want the ammo, we are just encouraging anyone running a volt to have to pick up LSTARs and immediately drop them for the ammo. This is obviously frustrating since you may have to drop a gun and all it's attachments then repick it all back up, and it's just a bizarre and clunky thing to do when we've done so much work to make looting streamlined and fluid. Additionally, now some LSTARs will give you ammo when you pick them up, and some won't, since some LSTARs will have been touched by other players and some not. It'll be super inconsistent and confusing, and that'll make it hard for most players to understand, since they don't come on reddit or read patch notes or anything. "What if the LSTAR gave ammo but only the first time it was picked up _per player_". This doesn't solve the degenerate use case of needing to pick up and drop LSTARs for the ammo, and it may cause worse things where a team passes around the LSTAR to each other to get max ammo then moves all the ammo to someone. "What if it was _per squad_?". This still doesn't solve the big issue of the weird use case. "What if it only gives ammo one time per squad and it only gives ammo if you don't have energy ammo already or another energy gun or..." at this point, the design alarm bells are ringing. This solution is just getting far too complicated and special case-y. Almost no players will be able to understand or figure out the rules of how it works, and the whole point is to make picking up the LSTAR and immediately using it consistent and smooth -- this is just making things inconsistent and weird and complicated. In general, when a design solution starts having to make tons of minor conditional adjustments to meet tons of special cases, that's just an indicator that it's not a good or elegant solution. For these reasons, we decided to steer away from that sort of stuff.

HOWEVER, we have some other ideas! There's one that we think is a decent solution, it has some weirdness but I think it's worth it for the benefits. But, from the technical side, it gets pretty hairy and has the potential for lots of bugs. The problem is fundamentally due to the fact that the various ammo systems are coded differently and are built for very specific purposes, and we want to do some sort of weird hybrid between 2 of them and pick and choose pieces from each. This requires some technical rework and needs to be done right, we can't just hack this in real quick due to the risk of how much stuff has to be touched, and in general there's a lot of UI and gameplay adjustments and such that needs to be changed to make this work. Think of everywhere in the game where the game is dealing with how to move around and mess with ammo, and then realize that there's tons of places it happens that you probably don't even realize on the surface (guns on the ground aren't the same entity type as a usable weapon, ammo boxes on the ground aren't the same as ammo in your inventory, which isn't the same as ammo in your gun, etc.). We have some initial work done, but it wasn't ready for the next season launch. We're working on it though!

Thanks all for the comments, sorry I can't go through and respond to each. I don't mean it in a rude way, but suffice to say that if you have thought about it in the time it took to read this comment, I guarantee we have also thought about it as an option haha! I can't really go through and explain each technical piece and why this and why not that for each option, but I promise it's not as easy as "but why not just do this obvious thing" -- if an obvious answer was tenable we would have done it already, that's all ;)!

We're working on it, but we want to do it the right way. There are probably gross hacky ways to fake it and maybe make it work, but that likely leads to bugs and hidden issues that might not crop up until the future. Ideally, we get some sort of stable decent solution that is robust and ready to go for any future weapons we want to do that might also not have magazines 👀

Hope everyone enjoys the new season!

Originally posted by Yahga2

if you love solving problems so much, then what's 2+2? hmm? good luck, been tryna figure that one out since kindergarten.

Originally posted by xfearthehiddenx

What if the L-star had a sudo "magazine"?

What I'm referring to is a 20 round count of ammo that gets "held" in the gun. Not as an actual mag. When you pick it up it has 20 rounds, and when those rounds run out it pulls from the inventory. If you drop it, it pulls up to 20 rounds out of your inventory. This way the gun would still have ammo (Unless of course you ran out) in it like any other gun. But you wouldn't be able to "steal" the ammo from it.

Not a bad thought, and we looked into that! Hard to explain, but it would be more trouble that it's worth to repurpose the existing system to work in that way. It wouldn't really save any dev time to try to make mags work in a way that doesn't require "reloading", or could "reload while firing", etc. etc. Mags have a bunch of logic that assumes some consistent functionality around reloading and other stuff, and it would be risky to try to adjust what a "magazine" means. In general, it helps stability to make sure systems do a specific thing and do that thing in a safe and consistent way when possible! The more you start trying to have systems do all sorts of different variations of things while being "the same system", the more you tend to get weird bugs and issues.

All in all, the LSTAR doesn't really have a magazine for any of the ways we define "magazine" in script and code. It's cleaner and safer (and probably faster) if we just try to make a system for what the LSTAR actually does that solves our problem, instead of trying to shove a square peg in a round hole!






Links in this thread

imgur.com
Discover the magic of the internet at Imgur, a community powered entertainment destination. Lift your spirits with funny jokes, trending memes, entertaining gifs, inspiring stories, viral videos, and so much more.


devtrackers.gg