Original Post — Direct link
about 3 years ago - /u/AmusedApricot - Direct link

Nuuuu haha we try to catch those but they slip through. The dirty secret is.... internally in code/script it's referred to as a clip ;_; the shaaammee

Patch notes are usually a translation of documentation of the actual changes, and the setting for mag size is ammo_clip_size, so it gets through sometimes womp womp lol

about 3 years ago - /u/AmusedApricot - Direct link

Originally posted by Denbus26

The shame, time for some refactoring...

Would be nice! Definitely way too much work and WAY too much risk to change all that though! Renaming things in version controlled large software is absolutely abysmal. Tons of stuff stay dev names forever, almost none of the weapons are internally named what they are called in game haha. Some fun examples: spitfire is mp_weapon_lmg, devotion is mp_weapon_esaw, flatline is mp_weapon_vinson, etc. Unfortunately you have to name things when you first make the prototype, before you really know what it will become! One of the silly eternal problems of game / software dev!

about 3 years ago - /u/AmusedApricot - Direct link

Originally posted by jrrswimmer

Noooooo we’ve been lied to this whole time, they really are clips and not mags ;-;

Didnt expect a dev to actually see this tho lol. Next season looks sick, im so excited!

They are mags! Dev names are just silly sometimes :)

about 3 years ago - /u/AmusedApricot - Direct link

Originally posted by TheHeuman

I'm guessing there must be a lot of text based transfer of information in your software if you can't just refactor a variable name? Maybe all the json(?) from client to server. Variable name change is like a two click task in any ide that's set up correctly.

With version control it's even easier to rollback the changes if something goes wrong, and you can git blame!

Edit: I wasn't trying to say respawns or the devs work could easily be refactored in two clicks. I was saying if it wasn't for the text based transfer of information (dev refers to them as binarys among other things) it could be. My mistake!

I don't usually respond to this kinda comment, and I don't want to be too curt, but the tone you have here doesn't seem to be in very good faith, and maybe it can help be a learning opportunity. You guys seem like you may work in engineering, but definitely not in games. Games are software, but they are also FAR more than pure lines of code. How about assets? What about sound files or animations? There's no trivial "replace all instances" on binary proprietary data compression files. You can try and make tools to do stuff, and I would argue our internal tool for this is really quite incredible for how well it manages most of these assets (the engineer who made it is incredibly smart). But it is a universal truth that renaming the weird mess of asset file code executable VM dependency that comprises game projects is very costly and can cause lots of bugs and be unsafe. Gotta do it with good purpose! I know the tech artist I work closely with was working real late with me for a couple weeks just dealing with renaming the art assets for some guns, and we still got tons of bugs to clean up afterwards.

Please, try to consider the intent and why someone would say something before you assume too much. Do you think that secretly the devs who program and create games are truly absolute idiots who know nothing about software engineering or IDEs? We don't magically release these pieces of incredibly complex software into by far the biggest entertainment industry by sheer luck! There isn't a secret conspiracy to lie about things being difficult to strangers on reddit to hide massive widespread incompetence, I promse! I'm on here on my free time to engage with players, which I enjoy doing, and not spread marketing lies about minutia of our code case :). Is it more likely there is a massive Respawn conspiracy, or that you maybe don't have enough context and information to accurately judge the inner workings of a massive product you've never spent time in? As you will find throughout looking into things being made in the world, many problems are much harder than they may seem. It's worthwhile to always give the benefit of the doubt on things when other developers say something is hard; to assume that there may be something difficult you are not aware of instead of assuming the other person is less smart than you. It will make you a better learner, and it will help you find good relationships in the world you may otherwise miss!

EDIT: Woaaaaa I kinda thought this would be hidden down in the comments and not blow up uhhhh oops! No need to downvote people like crazy! To be honest I was just reading the pile of "lol ur code must be sh*t" comments (note below the "sounds like you have a sh*tty codebase then" type stuff) and just replied to one, but my biggest regret here is that this is by far the least offensive of them. I still think it came across a bit weird, because I am personally sensitive to the sort of "armchair dev" type stuff, but I don't think the poster intended for that at all! Leave the poor person alone lol! Sorry it got kinda weirdly preachy at the end there, wasn't my intention. I just know that I learned this exact lesson the hard way, and I wish someone had told me sooner, but I'm certainly no sage or huge expert by any means, I'm still just a kid too!

about 3 years ago - /u/AmusedApricot - Direct link

Originally posted by Redpin

Be honest, you just named the bow after yourself as a prototype knowing that no one would be able to change it later ;)

Hahaha nooooo I promise!

The real story is that I had been working on this prototype, and we needed to get the name decided to record VO. VO is recorded way ahead of time, and there is no way to emergency add it, because it's all based on voice actor schedules and such. So very early on, we had to come up with a name with the weapon. I am not particularly great at names, so I went to our wonderful and kind writers who I often bother to help me come up with names. We made a short doc, and wrote a bunch of names -- there was an attempt to get my name in in some sort of hidden way, like SEK-197 or whatever ("bow" + "sek" easter egg), but we were thinking probably something like "Hornet" or some tech gun name "Hornet", like we do "M600 Spitfire". Then, the lead writer at the time, made the executive decision to name it after me, albeit pronounced slightly differently. I tried to tell people to maybe also record "Hornet" as a backup in case we don't like it, but he was being very nice and insisted. I am quite honored, truly I really am! I am not unhappy about it, but I do think it's unfair my name gets such visibility while it was a weapon made by SO MANY PEOPLE who all did AMAZING work to get this in. The bow was a very hard weapon to make, everything was weird and different and it required tons of constant problem solving and iteration, but the folks I get to work with are truly incredible devs and I think we got it pretty decent! I hope :)

I do, however, think it's a bad name lol! Erik Kraber (our audio lead) told me you never get used to hearing your name in that way!

about 3 years ago - /u/AmusedApricot - Direct link

Originally posted by TheHeuman

I didn't mean to take a curt tone, sorry if it came across like that. I'm always trying to learn and I DID assume there was something I was missing which is why I the first line of my comment is about text based transfer of information, in my mind that includes binary assets.

Thanks for responding it was really insightful!

Edit: Also, maybe you should stop assuming every comment is trying to attack you or your work? I know there are a lot of bad faith questions, and stupid attacks from asshole redditors, but I am not one of them. Just trying to ask a question, even though it wasn't phrased in the best possible way.

Hey! I edited the comment, but wanted to say that I think my reply being to your comment was unwarranted, sorry about that. I was just reading a ton of the nasty comments surrounding it and just kinda replied to the last one I saw, but yours is definitely the least offensive by a long shot, sorry to get your downvoted by the hive mind! I appreciate your question, sorry for snapping on the phrasing, it just is the sort of thing that beats you down and sometimes the last straw is at the wrong place wrong time, I apologize!

Also, I'm just a designer, but the weapons engineer gave some more context which is better and has more accuracy and details! I think it was on your comment too, but mostly directed at the general nearby comments of "sounds like ur code sucks u idiots lel", not very "your comment" specific. https://twitter.com/ravi_ramas/status/1387971094280237059?s=19

Sorry about that, I think the response you got (and the downvotes) were disproportionate, I can tell you are clearly a chill person just looking to learn. If you have any more in depth questions, I'd be happy to answer, just shoot me a DM!

about 3 years ago - /u/AmusedApricot - Direct link

Originally posted by Mammoth-Ad-4162

Clips go back to the 90s in original fps. I love the throwback

Wanna know the crazy thing? Modern huge game engines are very very rarely built from scratch, always built as modifications of the past things. Our mags are called "clips", because we inherited that when the original folks took source and started doing heavy modifications to it, but it wasn't worth trying to change the name. And Source came from GoldSrc (made for Half-Life), and probably inherited the naming there. And guess where GoldSrc came from? Quake! It is entirely possible, and perhaps even likely, that mags in Apex are referred to in code as clips because that's how it was first written in the 90s!

Legit almost all modern engines have some roots to OG Doom or Quake -- they are entirely different engines at this point, but there are often these weird remnants that get strung along for decades because it's just not worth doing all the work to rename something like that!

It's an eternal and silly problem of software, you have to make early decisions without any idea of the future, and often those decisions easily become cemented over time because no one has time or energy to change it, and then changing it gets more expensive as you add more on top of it, then you are less likely to change it when you add more, etc. The amount of things in software everywhere that are built on silly assumptions made by some random person 40 years ago is incredible. It's not just software either, it's a human problem! The +/- signage on electric charge is still unintuitive and arguably "backwards" in formulas and language today because Ben Franklyn had to arbitrary define it way back when and just guessed "wrong" (it's far more nuanced than that, but just as a rough example).

about 3 years ago - /u/AmusedApricot - Direct link

Originally posted by ElkTF2

That’s super cool! As a Team Fortress 2 player, I always forget that Apex runs on Source. It’s insane how much the amazing engineers at Respawn packed into an engine with such a long history of use

I would say at this point it doesn't really run on Source. In the same way that Source originally started from GoldSrc, or GoldSrc started from Quake, our engine started from Source, but almost all of the major pieces have been completely rewritten! There are always weird little vestiges though haha