Hello!

I work as a AAA game programmer. I previously worked on the Battlefield series.

Before I worked in the AAA space, I worked at Disneyland as a Jungle Cruise skipper!

As a hobby, I have an N-Scale (1:160) model train layout.

  • 1 Post
  • 19 Comments
Joined 1 year ago
cake
Cake day: June 2nd, 2023

help-circle






  • [3/3]

    As far as unionizing goes - it’s a mixed bag. I myself am very pro-union; I was a Teamster for years (Local 495). And many gamedevs are left-leaning (but not all! I knew some MAGA/QAnon guys). This in turn makes them supportive of unions on paper.

    But when conversations stopped being theoretical and started being, “No, really, why wouldn’t you?”, the holdouts tend to think:

    • Union leadership is corrupt/greedy, and they don’t want to give union leaders money for “nothing” (as they see it)

    • Being in a union means everyone would need to be bound to strict regulations - keeping exact track of time worked, having exact lunch breaks, documenting everything. As-is in the game industry, the “standard” at most places is hands-off, take lunch whenever, stay at lunch however long you want, clock in/out whenever, nobody questions you as long as your work is getting done. People like this and don’t want to risk losing it.

    • Being in a union threatens close relationships with management. I can say that when I was a Teamster, management was outright adversarial and conversations with them weren’t fun. In the game industry, management is quite literally my friends and people I chill out with. There’s a very, very blurry line between “friends” and “bosses” - some bosses are horrible, to be sure, but the general vibe is casual.

    • There’s a lot of benefits in the office like free snacks, free swag, a place to chill out and play games at work, etc. People are afraid that this would count as “compensation” and thus being unionized would mean that you’d have to pay for snacks or swag or whatever - or that it could be taken away as retaliation from management.

    • Retaliation is a thing. It’s illegal. US government doesn’t care. Corpos get a slap on the wrist because of plausible deniability. EA has been downsizing recently and they “coincidentally” cut the contract with a QA team that just unionized. Hmm. That sort of stuff has a chilling effect - EA has no qualms shutting down studios. Why rock the boat and risk being locked out?

    There are counterarguments for each of those points. Benefits can be made contractual, union leadership isn’t necessarily corrupt (although I did dislike the leadership of my Teamster local - for being too close to management and too soft). Etc. But it is an uphill battle if people are generally already happy where they work - and the jobs are plentiful enough that people can be comfortable moving studios until they find somewhere that lets them vibe.

    We’ll see what happens if the market continues to tighten.

    I can see a place like Blizzard unionizing, just from the horror stories I’ve heard. Maybe Epic as well. But it’s a lot harder to make a union happen in today’s day and age.


  • [2/3]

    Other studios are more, eh. Devs stick together and are honest with one another about the state of different studios. I was in the pipeline to get hired at one studio when multiple people explicitly told me that it wasn’t a place that treats their workers well, so I backed out.

    I got hired somewhere at the recommendation of a former mentor, who has been in the industry for 30 years and whose judgement I trusted. I don’t want to speak as to where I work now, but I can say that he was right and that the place I’m at has been an ocean of calm amidst the chaos that’s the rest of the industry right now.

    You hear horror stories from co-workers in the office. A friend of mine was ex-Blizzard and told me all about what was happening there well before it became a national news story. There are places which will work you to the bone and crunch you until you can’t stand it anymore.

    Some people love that stuff. I don’t. But you get paid extremely well if you work for a place that works you hard. I could’ve made triple my salary at one of the places I was in the pipeline for, plus sponsorship for moving to the EU. I just would have to basically dedicate my entire life to that company, and I don’t think I had it in me… but I can see why people would.


  • [1/3]

    I’ve been a gamedev at a couple AAA studios for almost 5 years now. I can say it’s a bit of a mixed bag, and very much depends on the studio.

    The studios I’ve worked at have treated me well. I started out working at EA, which - for all its faults when it comes to gamers - does treat their staff very nicely.

    We had free snacks in the office, flexible schedules, a generous remote work policy pre-pandemic (one of the best engineers on our team was permanently in Chicago, another was permanently in Oregon), and leadership that would listen to our complaints and respond honestly. We had weekly board game lunches and D&D sessions on the clock, and a comfy place to play all the latest games whenever we wanted.

    Deadlines were reasonable, and the choice was always to cut before crunching. Crunch was on the table, but only as a last resort - I only crunched once in the 3 years I worked on that game, and it was for a single weekend when we had live players running into issues. My pay was on par with a traditional tech job. I went from $15/hour at my college job to $25/hour as an intern to $100k/year as a junior. Within 3 years I was making $140k/year, plus stock options and a 30% yearly bonus.

    My one complaint is that EA unceremoniously pulled the plug on us. We had started a beta period and player response was… middling. We thought we could rescue the project, but we needed another 6 months to make it happen to avoid crunching. Leadership pitched the idea… corpo execs said “You aren’t getting that additional time; we’re killing the project.” We got shut down and all 150 devs were sent to the unemployment line.

    EA’s severance package was very generous, though, and even when they were firing us they went above and beyond what they legally were “supposed” to do. I wound up with my yearly bonus, half a years’ worth of salary, plus 2 months of being “technically employed” but being paid to look for another job - so plenty of runway (plus unused sick time + vacation on top of that).

    While it always sucks being laid off, and it sucks that the project we spent years on got the axe overnight… they really could’ve been far worse. Some of my former coworkers decided to do their own thing and it seems to have worked out for them, as they were able to get publisher funding well within the “runway” EA gave us.



  • I mean, spells like Wish are going to be basically impossible outside of going the AI route (which is an entire can of worms).

    Wish can duplicate any other spell, or it can have your own effect (with a chance of it being monkey-pawed plus you never being able to cast Wish ever again).

    Also bear in mind that it’s not “just” rules for moving numbers. You have to have particles, animations, etc. You can’t just have conversations, you have to also have SFX from impacts, camera shake, UI elements, etc. When you start to get into the world of “anything is possible” you kind of have to go back to basics, text-based adventures.

    With AI stuff, maybe some of that can be done - but AI is just so incredibly slow in its current form. It won’t stay that way forever, mind - I think the best comparison is graphics in the 1990s. Graphics were incredibly basic because anything complex would take ages to render and couldn’t be used in games. Over the next decade, things were built to specifically speed up that process, and now modern GPUs can easily keep up with the highest-quality CGI without much fuss (there’s a reason why Disney has the Volume, which is essentially just running CGI in the Unreal Engine alongside the actors in real-time).

    But until that, we’re going to be pretty limited. It’s going to be impossible for any kind of free-form rules to be implemented, unless options were restricted to such a point that it’s basically a completely different spell.


  • Murrieta

    That’s the problem right there.

    Murrieta is very much part of an island of conservativism in the rest of California. It’s very much a green grass, “whites only” kind of place. Oodles of Mormons. Not exactly friendly to LGBTQ folk.

    I lived there. I went to high school there. It was where I voted for the first time.

    I remember in high school thinking a girl was cute and she invited me over on a Sunday morning. She picked me up for what I thought was going to be a day of just hanging out at her place - but instead, she dragged me to her Mormon church. The preacher spoke out about how proud they were that they were able to pass Prop 8 (which banned gay marriage in California), how hard they fought for it, and how evil LGBTQ folk were. I was disgusted, but at the time I couldn’t drive (and thus couldn’t leave). When I finally escaped, I made a point to never talk to that girl again.

    That is absolutely par for the course in Murrieta (and Temecula). They live in a total bubble and refuse to acknowledge that they’re part of California proper. A friendly reminder that the Temecula Valley School District (which represents both Murrieta and Temecula) is being sued by the State of California because they decided to promote racism and anti-LGBTQ sentiment within schools, in violation of state law.

    Public Counsel, the nonprofit group that filed the lawsuit on behalf of Temecula students, parents and teachers, claims the policy has been used by school board members to stop teaching “any concepts that conflict with their ideological viewpoints, including the history of the LGBTQ rights movement and the existence of racism in today’s society.”

    Murrieta-Temecula is full of bigots, all hiding under their mask. But when you live there, you see the mask slip… especially if you’re a cis white male “good ol’ boy” like how I present.




  • Counter-counterpoint: I’ve been using it since 2019. I think you’re exaggerating.

    • It aggressively tries to center itself, always. If you’re in a lane and it merges with a second lane, the car will swerve sharply to the right as it attempts to go back to the middle of the lane.

    • It doesn’t allow space for cars to merge until the cars are already merging. It doesn’t work with traffic; it does its own thing and is discourteous to other drivers. It doesn’t read turn signals; it only reacts to drivers getting over.

    • If a motorcycle is lane-splitting, it doesn’t move out of the way for the motorcycle. In fact, it assumes anything between lanes isn’t an issue. If something is partially blocking a lane but the system doesn’t recognize it as fully “your lane”, the default is to ignore it. The number of times I’ve had to disengage to dodge a wide load or a camper straddling two lanes is crazy.

    • With the removal of radar, phantom braking has become far, far worse. Any kind of weather condition causes issues. Even if you drive at sunset, the sun can dazzle the cameras and they don’t detect things that they should be able to - or worse, they detect problems which aren’t there.

    • It doesn’t understand road hazards. It will happily hit a pothole at 70 MPH. It will ignore road flares and traffic cones. When the lanes aren’t clearly marked (because the paint has worn away or because of construction), it can have dramatic behavior.

    • It waits so long to brake, and when it brakes it brakes hard. It accelerates just as suddenly, leading to a very jerky ride that makes my passengers carsick.

    The only time I trust FSD is when it’s stop-and-go traffic. Beyond that I have to pay so much attention to the thing that I might as well just drive myself. The “worst thing it can do” isn’t just detour; it’s “smash into the thing that it thought wasn’t an issue”.



  • To be fair, you don’t get to be an expert at something by just reading about it. You become an expert by immersing yourself in it and knowing all the nuanced details of what you specialize in.

    For example, I’m a AAA gamedev programmer. My specialty is the Unreal Engine. I know tons of little quirks about the engine that many of my coworkers don’t - but that’s because I’ve been using the engine for over a decade at this point.

    I don’t devote every waking moment to learning about Unreal - I used to spend a lot of free time researching it before I got hired, but now I leave gaming stuff at work to avoid burnout.

    You don’t need to like hyperfixate on something to become good at it. You just need to work on it for long enough - and if it’s literally your job, you’ll spend 40+ hours/week engrossed in it, for years.


  • Here’s a video from an all-hands meeting the day after she quit. (Reddit, sorry.)

    The following is a transcript if you’d rather avoid Reddit:

    (speaker 1, Linus) So we called this meeting because it’s come to our attention that we need to have a quick chat about the best way to handle HR related feedback and rumors. We won’t be giving any names for what I hope are extraordinarily obvious reasons, but what we can do is give you the following guidelines for problem solving and conflict resolution.

    Sorry that this is all boring and corporate, but here we are. Number one, always stand up for what’s right. We’re only a team as long as we’re all working together and working for each other. That’s the most important one. Number two, always reflect on your own personal experiences and use your common sense. Few things in life are truly black and white. Number three, always wait to hear both sides of a story before passing your own judgment. Be cautious when you know that one side is bound by legal and ethical disclosure guidelines, when the other is not. Carefully consider what it says about the character of someone who would engage in that type of gossip against someone who has no power to defend themselves.

    Number four, always encourage openness and transparency. If you have a problem, you need to speak up. We want to fix it. If you receive feedback about somebody else at this company, the first response is, have you spoken with this person? Followed closely by, you need to speak with this person. We don’t solve interpersonal issues here, or really anywhere in your life, if you wish to live in a drama free zone, by engaging in water cooler politicking. So, if for any reason that individual is not comfortable approaching the person they’re having a conflict with, we have a chain that they’re supposed to follow.

    So first, you advise them to take the problem to their manager. Followed by me or Yvonne, followed by our third party HR firm. I hope that you all trust that we’re here to make this a safe, fun, and productive workplace, and we won’t tolerate mistreatment of any of our team members.

    If you have any reason to believe otherwise, then I refer you again to point number four, which is to address the issue with the individual directly, or bring it to me or Yvonne, or bring it to our third party HR firm. Since I’m not at liberty to share any details about what occurred, uh, all I can do is ask that you trust me and Yvonne.

    Um, some of you know us very well, I’ve been here a very long time, um, some of you have not been here for as long, but I like to think that whether you’ve been here for nine years or nine days, you’re here for a reason and you believe that we are utmost to run this company with integrity and compassion.

    Um, We can’t solve problems we don’t know about though, so on that note, I’d like to invite anyone who has concerns about a fellow team member or about a manager to submit their feedback either by speaking with their manager, me or Yvonne directly, or if you would prefer to provide your feedback anonymously, we have an option for that as well.

    It’s the manager and co-worker feedback form. Uh, Yvonne, if you’re not aware of it - show of hands who is not aware of it? Hey, a lot of people aren’t aware of it. Good, so now we all know. There’s an anonymous form, if for whatever reason you’re not comfortable either talking to me me or Yvonne directly about it - and that’s okay, that’s fine, we understand, that’s why we have these options - Yvonne’s gonna post it in the general chat.

    It’s a safe space to provide us ideas for improvement, or if you’re consumed by the holiday spirit and you want to say nice things, you can do that too. Does anybody else have any questions?

    Not a single question? Wow, that must have been a really good speech.

    (speaker 2, James) You gonna dance on that table, or just stand on it?

    (speaker 1, Linus) That’s it! So, um, Yvonne, did you have anything you wanted to add?

    (speaker 3, Yvonne) (inaudible) Somebody said (inaudible) if you guys want to sanitize your hands, help yourself with free (inaudible)?

    (speaker 1, Linus) Yeah, that was actually just totally random timing. It came up the stairs a moment ago. Dennis is on it. Alright. Thank you everyone. Have a wonderful and, uh, productive rest of your day. And weekend.


  • The idea is that it would be similar to hardware attestation in Android. In fact, that’s where Google got the idea from.

    Basically, this is the way it works:

    • You download a web browser or another program (possibly even one baked into the OS, e.g. working alongside/relying on the TPM stuff from the BIOS). This is the “attester”. Attesters have a private key that they sign things with. This private key is baked into the binary of the attester (so you can’t patch the binary).

    • A web page sends some data to the attester. Every request the web page sends will vary slightly, so an attestation can only be used for one request - you cannot intercept a “good” attestation and reuse it elsewhere. The ways attesters can respond may vary so you can’t just extract the encryption key and sign your own stuff - it wouldn’t work when you get a different request.

    • The attester takes that data and verifies that the device is running stuff that corresponds to the specs published by the attester - “this browser, this OS, not a VM, not Wine, is not running this program, no ad blocker, subject to these rate limits,” etc.

    • If it meets the requirements, the attester uses their private key to sign. (Remember that you can’t patch out the requirements check without changing the private key and thus invalidating everything.)

    • The signed data is sent back to the web page, alongside as much information as the attester wants to provide. This information will match the signature, and can be verified using a public key.

    • The web page looks at the data and decides whether to trust the verdict or not. If something looks sketchy, the web page has the right to refuse to send any further data.

    They also say they want to err towards having fewer checks, rather than many (“low entropy”). There are concerns about this being used for fingerprinting/tracking, and high entropy would allow for that. (Note that this does explicitly contradict the point the authors made earlier, that “Including more information in the verdict will cover a wider range of use cases without locking out older devices.”)

    That said - we all know where this will go. If Edge is made an attester, it will not be low entropy. Low entropy makes it harder to track, which benefits Google as they have their own ways of tracking users due to a near-monopoly over the web. Google doesn’t want to give rivals a good way to compete with user tracking, which is why they’re pushing “low-entropy” under the guise of privacy. Microsoft is incentivized to go high-entropy as it gives a better fingerprint. If the attestation server is built into Windows, we have the same thing.