Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
more falafel please
Feb 26, 2005

forums poster

Other than "surviving at home during a pandemic" concerns, I miss the office for the social aspect. Also VPN is terrible and I have too much poo poo on/next to my desk.

Adbot
ADBOT LOVES YOU

more falafel please
Feb 26, 2005

forums poster

Vino posted:

I moved to a new team a few weeks ago and I haven't met anyone in person and I only talk to four people daily and I have no concept of the size or culture of the team, it feels weird. I feed off that social energy and it's been hard for me to connect with the new team as a result. It all makes me rethink the whole "we're all going to be WFH after the pandemic" idea because humans are social animals and like in-person work.

We've hired like 40 people since March, and I don't have any idea how they're making it work. It's gotta suck.

more falafel please
Feb 26, 2005

forums poster

Anyone have a way to talk to your non gamedev friends about why games (and specifically updates) are so much bigger these days?

Like I think it was CoD that announced that their next-gen versions are gonna be 40 gigs larger. I see that and think "texture go up" but I don't think most people who play games get that

more falafel please
Feb 26, 2005

forums poster

Commander Keene posted:

Show them a lovely jpeg at like 50% compression and then show them the same image at PNG compression, then show them the file sizes. Explain that as image and sound quality get better, file sizes increase.

It's more like "when you say you want it in 4K, this is what you mean" but I think people really think that "graphics" is a function of how fast processor go, whereas improvements in hardware basically just mean you can push 4x as much textures through the pipe now, so everything is 4x bigger

also I think people's brains got broken some when the disc the game came on wasn't the entire game anymore. like even in 360 days, since they didn't assume internet access, you couldn't waive a submission failure by saying you'd patch it unless it was online only, and even then, you have 8MB for a patch, so if you're on a data-driven engine, let's hope you have delta-based package loads already. now a 40GB update is normal, because they added some skins for Halloween

more falafel please
Feb 26, 2005

forums poster

Akuma posted:

The structure of that sort of stuff is usually lead by TRCs/XRs/etc., a common way of doing things across all platforms that satisfies all requirements. I can't be sure but I bet starting to connect to a networked service in the background without any notification or ability to stop it breaks one of the first party rules.

If you're connecting to a network service as a user, i.e. logging into a publisher-owned backend with an account linked to the platform online service account, you need to know what user you're logging in as first. Some consoles require explicit action from the user ("Press A button to start") before taking any action on a player's behalf, and logging into a linked service counts.

I imagine a lot of it is just that the game takes a long time to load and initialize all the engine/base game resources before it gets into its main state machine/loops, and the logic about connecting to servers, checking updates, downloading the weekend promotion images, etc is driven by main menu scene/map logic, which isn't ready until a bunch of stuff is loaded.

more falafel please
Feb 26, 2005

forums poster

Chev posted:

Yeah, in a peer to peer structure like the one used in fighting games or strategy games, lockstep, rollback, all those things, the idea is that everyone runs the same code which is why they're named, well, peers. The notion of an authoritative host doesn't exist. You can only check that every peer agrees on the game state within a certain tolerance (which, in the lockstep and rollback model, is zero tolerance thus the whole determinism rigmarole). If a peer drops the others just go on without any need for adjustment.

If you've got a host to migrate then you aren't peer to peer, you're client-server. The whole host vs server thing is really a matter of terminology but for our discussion here they're the same thing. People call them hosts nowadays because the Destiny presentation that popularized the host migration concept for a lot of devs called them hosts. And the concept is simple, really: you put the server/host on a player's machine so you have less server bills to pay. Somehow Bungie calls it "P2P client-host networking" in the same sentence they mention the host has full authority, due to the fact the host is hosted on the same machine as one of the clients, but it's a misnomer, you can't be both P2P and client-host, and there's no actual peer in that networking model, a client's gonna get promoted to host if the host drops.

Maybe this is wrong, but I've always talked about both lockstep and client-server with one client serving as the server as under the "peer to peer" umbrella, as opposed to a dedicated server, which is a separate process, and probably running on a separate machine, probably one you can't physically touch.

Host migration comes into play for any system that uses one of the clients as an authoritative host, even if they're authoritative over the session metadata (XBL session or equivalent). If that player drops, the other players can select who the new host is supposed to be. Depending on the game and the engine, it may be difficult or impossible for a game to seamlessly migrate between player A being the server and player B being the server. For UE3/UE4, which is what I have the most experience with, it's not supported out of the box, and it would be pretty hairy to make it work.

Client-as-server topologies aren't anywhere near as common anymore, the main reason being that cloud servers are Cheap As Hell, Actually, and basically every major publisher has their own backend with a framework for spinning up dedicated server instances. It's usually a better experience for players, and no one has to know what NAT Type is anymore.

more falafel please
Feb 26, 2005

forums poster

djkillingspree posted:

I think this is ultimately a question of terminology and the actually relevant information is what state is transmitted and available to any given machine in the network, what happens when one of the machines in the network drops, and how/to what extent truth is maintained in the system.

From the point of view of what is transmitted, I think a hybrid "client that also is running the server" is closer to a dedicated server than what's sent in what is generally called p2p in my experience. In p2p systems, each peer is required to send whatever information they need to send to each other peer, whereas in either a dedicated server or in a listen server/hybrid client-server or whatever you want to call it, each client sends their information to the host/server and then that host/server updates the state and sends updated state back out to each client. I think the fundamental difference is that pattern (each client sending to each other client, or each client sending to a central place and then the central place replying to each client)

Yeah, I think that's the fundamental difference to developers, I think the fundamental difference to players is "does my game get hosed up when Randy's internet hiccups", or "are we all gonna suffer because Jimothy's mom started watching Netflix".

more falafel please
Feb 26, 2005

forums poster

Chev posted:

Yeah, not technically. But that the server is running on the same machine as one of the clients is the rationale behind bungie wrongfully calling it peer to peer when it's really client-server.

regarding who sends to whom, there are peer to peer topologies where each peer doesn't send to every other peer. This is for practical scaling reasons (since the number of links grows proportional to the square of the number of peers) and, sometimes, NAT shenanigans (you may need a peer to act as an explicit relay between two peers because they can't punch through their respective NATs).

One example of an unusual p2p mesh is the format adopted by the various "casters" netplay modes for fighting games (like MBcaster or rollcaster), where two fighting peers are connected to each other and spectator peers can be added, but each of the fighting peers will only send data to one of the spectators, who in turn will send it to one or more spectators, etc, because some relay lag isn't important for spectators. So the topology ends up being a tree or even line instead of a full mesh.

Yup, I developed the lockstep network topology for an unnamed fighting game whose 9th iteration had a "king of the hill" mode where 8 spectators would be in the proverbial arcade line to play the winner of the current match. P2 would send inputs to P1, P1 would send inputs to P2 and their combined inputs to S1, S1 sends to S2, etc. This was also on the 360/PS3, where there were requirements about how much data you could send upstream, and sending data at 60FPS is a lot of overhead (we sent at lower rates to spectators as well, but still).

more falafel please
Feb 26, 2005

forums poster

That reminds me of how clueless Midway was on pricing, marketing, etc. When WB came in to buy us, they had a meeting to talk strategy with the entire principal/high level business staff and asked why they had dropped MK vs. DCU to $20 like 3 months after release, when the sales were still strong. No one had an answer, and WB estimated we had lost about half the lifetime profit of the game.

more falafel please
Feb 26, 2005

forums poster

Popete posted:

How are ASCII games usually implemented? Are they actual text output using extended ASCII like you would write to a console? Or do they draw ASCII characters to a window using a tileset image?

Typically the former -- there are various control sequences that allow you to print a character at any location on a terminal that supports it. There are libraries that make this much easier (ncurses). If you wanted it to be able to run in either a GUI window with an ASCII tileset or a terminal, it would be pretty straightforward to make an abstract interface that supports both. If I had to guess, that's what I'd guess, say, dwarf fortress does.

more falafel please
Feb 26, 2005

forums poster

mutata posted:

This was ages ago, but we had a Wall of TVs on a big wheeled rack when I worked on Disney Infinity. Anyone who wanted to wheel it into their workspace and hook up their dev kit and see their art on a reasonable spread of 9-12 different makes models and manufacturers.

That reminds me of a bug I found on Major 3D Fighting Game Franchise 9 where screen-space coordinates were being used to determine relative positions of the two fighters, i.e. is this fighter on the left side of the screen. If one player was playing in 16:9 and one player was playing in 4:3, float precision could cause a desync where the clients disagreed about who was on the left for a frame. This was in the last installment and was never found because a) no one played the game in 4:3 except UI folks and b) no one played online except the online folks.

more falafel please
Feb 26, 2005

forums poster

Kanine posted:

Gonna ask a potentially stupid/uncomfortable question for other devs in the thread:

As a junior artist (currently on a contract but looking for more remote work soon) in the games industry how bad for my career is it that I tweet/retweet/like stuff on my public twitter about crunch, unionization, etc. (where I post my art and have a few hundred followers comprised of mostly other people in the games industry)

Am I basically loving myself over and making myself unhireable? Is it enough for me to make my account private when I send out applications or is me doing this essentially getting me put on a literal blacklist that will prevent me from obtaining gainful employment in the industry ever again.

I'm obviously not stupid enough to talk about this on the work slack/discord in the company I'm currently contracting for but several of my coworkers have followed me on twitter since I started there a few months ago.

So I'm a programmer, I've been at my job for almost 10 years, and in the industry for almost 15, so we're in somewhat different situations, but I've had my twitter profile pic be the Game Workers Unite logo for years, and I'm very outspoken publicly about all that stuff. It hasn't been an issue for me, but my company is maybe just sort of cool about it?

That said, I know a lot of people who keep the activist stuff on a private account, but obviously that doesn't have the same reach by definition.

more falafel please
Feb 26, 2005

forums poster

Kanine posted:

also if im applying to a studio, is it reasonable for me to message a current employee of the company to ask what their experiences have been so far with the place?

should i just limit to asking former employees?

If it's people you know outside of that, then sure, absolutely ask them how they feel about it. If it's people you don't know, you can definitely ask them, but it's entirely possible that they'll talk about what you talked about to other folks at their company, including potentially the people trying to hire you. But again, if there's a backstabbing/pledge your life style culture there, you probably don't want to work there.

more falafel please
Feb 26, 2005

forums poster

Most big engines have some form of serialization code for game objects, and typically the save system is implemented with that. Using something like SQLite is good for games with a lot of tabular data, like sports game rosters, RPGs with loot tables, etc, but save data isn't usually very relational.

more falafel please
Feb 26, 2005

forums poster

We're hiring, by the way: https://irongalaxystudios.com/careers

Chicago and Orlando, we do a lot of contract work on major AAA titles as well as some original stuff. Positions in basically all disciplines (I don't think we have audio openings at the moment, but we would certainly take a look at the right person).

No crunch, actually, for real. If you're still in the office when I'm done going for an after-work run, I'm going to tell you to go home. Focus on stability, mentorship, and work/life balance. Everything remote for now, we'll be going back to the offices once things are "back to normal".

more falafel please
Feb 26, 2005

forums poster

I've got 15 years in a couple weeks, and the fact that my skills are pretty specialized to games now is definitely a big part of it. C++ jobs around here anyway are mostly in finance, and I don't want anything to do with that. I could definitely learn to poo poo out CRUD web apps in a year or so, but like, I don't know anything about that, I'd have to learn what a docker is.

more falafel please
Feb 26, 2005

forums poster

al-azad posted:

This is how Supergiant and Valve formed. Double Fine as well. Work for 10 years and capitalize your own company.

Obviously it's possible, but it's not like rank-and-file devs make enough money to self-finance a game after 10 years. It's possible to make the connections that might get you funding from a publisher, but that's not the same thing as "just work for 10 years and you can just start your own thing!" I knew a loooooooot of devs who went indie after the 2008 crash and the "indie revolution". A couple of the companies are still around, but most of those devs got new AAA jobs or switched industries.

The extremely successful indie case here in Chicago is Young Horses, and they started right out of college (working other jobs and running through their savings, a super sustainable model) and aren't exactly rolling in it. They have jobs and a couple of moderately successful, well-reviewed games.

more falafel please
Feb 26, 2005

forums poster

AAA has also gotten much more expensive to produce in the last 20 years -- $100m dev budget is normal for big franchises. Publishers are just starting to test the waters about charging $70 instead of the $60 they've been charging since the 90s. (This has gotten a little better with GaaS, digital distribution, DLC, MTX, etc). In 2001, if you sell a million copies, you're a big success. A million copies of a AAA game gets a studio closed now. Marketing has to be a big budget, because you need to sell way more copies than you used to to break even.

more falafel please
Feb 26, 2005

forums poster

MJBuddy posted:

id is around 200 people give or take right now including their QA team and have some smaller projects that aren't Doom Eternal.

Zenimax (like a lot of big publishers) does also pull people from other studios to lend a hand on projects though, like Machinegames and Arkane working on Youngblood together and I'm sure some folks from other studios did things here and there in Eternal.

Most of these numbers don't include temp QA staff either, though. It's hard to peg down dev sizes inclusive of QA.

Yeah, and I'd be willing to bet they used outsourced art as well. Plus, speaking from experience, plenty of games use outsourced programming support that doesn't end up being in the credits, for any number of reasons.

e: yup, just looked myself up on mobygames, my last credit is a Special Thanks from 2017, and I've been on 3 projects since

more falafel please
Feb 26, 2005

forums poster

thebardyspoon posted:

One thing I've always been curious about, with people in the games industry who lose their jobs when a game comes out and just doesn't hit, like what's happened with V1 Interactive where it actually killed the studio or the crucible devs where Amazon just cut that game lose (and I assume, the people). Or even worse, a game just getting cancelled after being in development for ages so people don't even have their name in any credits for a released product. How do those various things affect like, a programmer, an artist, a QA persons, prospects for future jobs?

Is it basically just accepted by people in the industry as a standard, unfortunate thing that can happen? I've only worked at a big platform holder where I didn't have to worry about the consequences of a thing I worked on failing really but now I'm curious. I guess if a game was ridiculously buggy that'd reflect badly on a QA lead maybe?

It doesn't affect my evaluation, really. I'm well aware of how many different things can cause a project to go terribly wrong, and a rank-and-file developer has effectively no control over any of them. And a title that got cancelled before shipping I treat the same as a title that hasn't shipped yet -- I won't ask what the game was, but I still want to know what you did on it.

I've done some of my best work on titles that sucked or never saw the light of day, and if anyone judged me based on the actual products that came out (or didn't) that'd be pretty stupid. Vice versa too -- just because you worked on a great/successful game doesn't mean I'm automatically going to think higher of you.

more falafel please
Feb 26, 2005

forums poster

I remember there was a 15 minute period where Metacritic was going to start rating individual developers based on the Metacritic scores of their credited titles, and, uh, lol

more falafel please
Feb 26, 2005

forums poster

On the flip side I've seen people coming from bad studio situations where everything was dysfunctional, they just got done crunching for a year, they got laid off, and the game flopped, but they're absolutely convinced that everyone did everything right and it was just the Cruel Hand Of Fate that hosed their entire life up.

People at midway would keep track of how many divorces happened during each project, and a higher number was meant to be a point of pride. It can be a truly hosed up culture

more falafel please
Feb 26, 2005

forums poster

The audience for Blizzcon is press. The fact that they sell tickets is purely so they can get a bunch of money out of cosplayers.

more falafel please
Feb 26, 2005

forums poster

The outsourcing industry is entirely hosed. I don't know how you fix it, unionization doesn't help in countries with lax labor laws.

I'm the weirdo who reads the credits because there's almost always someone I know in there, but I guess that and a travel pillow thanking you for your crunch hours is what you get from 15 years in this industry

more falafel please
Feb 26, 2005

forums poster

In my experience, tools are typically tightly coupled to the engine, especially in the case of licensed engines. UE4's tools are its major selling point. Even in custom engines, the tools (asset importers, baking/build tools, level editors, etc) are so coupled to the engine that it would be hard to make a clean break. You could build a new animation importer for a custom engine, but it would have to do the same thing as the previous one.

more falafel please
Feb 26, 2005

forums poster

If you take networking as a base example -- Unreal has a networking model that works really, really well for things that are kind of like FPS. That means games that have a lot of clients per server, where you want client prediction to make everything look good while you're playing, but have the server resolving everything to be fair, and honestly don't care about frame-perfect simulations (sorry FPS gamers). It makes it easy for gameplay programmers who have never cared about networking to internalize a few axioms and make a game that works really well without having to care about it much.

Then take something like a fighting game. A fighting game needs perfect deterministic simulation between two clients. It's peer to peer, lock-step, which means the same inputs (often literally the button presses) are being fed to the game simulation to simulate the same frame, and hopefully they're doing rollback to compensate for latency. You can't do that in Unreal's actor replication model, at least not without fighting it tooth and nail at every turn and ending up with something lovely. Does that mean you can't make a fighting game in Unreal? No, it just means you don't get one of the big selling points for free, and you might have to fight unreal a bit to make it work.

Same goes for RTS/MOBA games -- usually also lock-step, but with multiple (<=10) clients on a server. The model is completely different.

Could Unreal make totally separate networking models that made these things work nicely? Absolutely. They haven't, though, and they're not going to do it soon, or at least they won't tell you about it soon

more falafel please
Feb 26, 2005

forums poster

Beef posted:

I wonder if Valve had to rip out and replace the Source and then Source 2 network model for DotA2. It's still a client/server model, so likely not a complete overhaul.

I wouldn't be surprised, I've never worked in Source, but I'm pretty sure it's a server-authoritative client-prediction model similar to Unreal, because that's how you make online FPS. Honestly, very little has changed since Quake (it just works better because internet service is better).

more falafel please
Feb 26, 2005

forums poster

Game dev rant: I now have 8 devkits in my second bedroom, it's too many.

It is nice that Big Console A and Big Console B's new devkits don't vent on the top, so you can actually stack them. Well, Big Console A's has a weird cutout on the top with vents that point towards the middle, but you can still stack a Big Console B devkit on top of it.

This rat's nest of cables isn't getting any better, though.

more falafel please
Feb 26, 2005

forums poster

Hyper Crab Tank posted:

I can't really fathom why the Big Console A devkit is like that, it looks like a prop from some Star Trek episode. So did the previous generation one, but at least that one had a reasonable shape. But my "favorite" in terms of things like cooling is Last-Gen Console C, which if you've ever encountered it, will recognize as a big boxy brown monstrosity made out of the cheapest folded metal available, with ports and lights on the front like it came straight out of the 60s, and a fan so loud you have to turn the whole thing off between test runs lest the noise drive you insane.

You mean the same manufacturer as Big Console A, but from like 2006? I am very familiar with those 2U rack mounted boys. If you mean the fabled Third Big Console, I never had to work on their stuff until this generation, but now I have to keep the devkit on top of my desk with power/Ethernet running to it, because if it's not on top of my desk it won't pick up the wifi that's 9 entire feet away.

more falafel please
Feb 26, 2005

forums poster

We got a bunch of alpha kits for Big Console B back at the beginning of last generation, and they were just PCs in regular tower cases. They didn't want them back, which meant we got a free build farm once we got the beta kits.

more falafel please
Feb 26, 2005

forums poster

VelociBacon posted:

How big of a studio do you have to be for the console companies to provision you with alpha builds for dev?

We were pretty small at the time (50ish?), but we got early kits because we were doing a project to port UE3 to the new console to help some of their internally produced games ship on it.

more falafel please
Feb 26, 2005

forums poster

thebardyspoon posted:

Out of curiosity, are there rules about those dev kits not being allowed at employees homes and stuff? I know there would have been before release but just wondering if that's the case now because I'm quite averse to coming into the office again but we are going to have to test our poo poo on the new consoles I guess. I know our CEO has had one of them at his house while everyone was working from home when we couldn't do anything on it anyway but wondering if there's any reason I or people on my team couldn't, might be cynical but I feel like they might say there are rules just to give us more of a reason to have to come back into the office shortly.

One of the console first parties was very strict about taking home devkits last March, but within a couple months they relented, and we got to bring our kits home. We do still have to whitelist individual IPs for their dev network, including the website with the docs and SDK downloads and stuff.

more falafel please
Feb 26, 2005

forums poster

The best was back in the day when there weren't separated dev environments for downloadable games, so you could just download any Big Console Live Arcade game with Monopoly money and play the living poo poo out of it in the office while you were there till 7am in case QA found a must fix in the build you got them at midnight that had to be on the west coast by noon if you wanted jobs next month

more falafel please
Feb 26, 2005

forums poster

Hughlander posted:

Since I'm not a cool kid anymore I can't tell what you're referring to but surely it's not as bad as the PS3 CEB-2000? https://www.retroreversing.com/official-playStation3-devkit We used to surround that thing with Studio grade egg-shell sound proofing it was so loud.

That's the one I was talking about rack-mounting. I miss the foot pedal though.

more falafel please
Feb 26, 2005

forums poster

real_scud posted:

God I remember abusing the hell out of that with Trials HD on XBLA back when I was working on Tiger 11 or 12. We played it so much and all got so goddamned good at it before it came out.

Think we eventually got an email sent around to the entire studio that basically said "Don't go downloading and playing any non-EA titles you see on the XBLA store"

Trials HD practically shut down Midway Chicago for at least a week. N+ was the other big one.

more falafel please
Feb 26, 2005

forums poster

VelociBacon posted:

That's awesome to hear. My cousin and his long time partner are the two devs behind N/N+/N++. It wouldn't surprise me if a few people in this thread knew them personally.

I haven't met them in person, but I saw them give a talk at GDC a few years back. I've played the poo poo out of all three of their games, it's the one "technical" platformer I keep coming back to because it just feels very good.

more falafel please
Feb 26, 2005

forums poster

leper khan posted:

3d is generally significantly more expensive. Not sure where you got the idea that 3d is cheaper.

It's... complicated. A lot of 3D work can be reused -- animations that target the same skeleton JustWork most of the time. In a 3D game with 5 characters, if you want to add a reaction animation, you have the choice to make them all unique, but you can also just use the same animation for all of them. In a 2D game, if you want to add a reaction animation, that means adding another several hundred assets you need made, stored, and loaded.

When we made Divekick, the joke was that it was "a flash game" because it was 2D. We were texture memory bound on PS3, because it turns out that bigass sprites are expensive actually.

more falafel please
Feb 26, 2005

forums poster

mutata posted:

The most you'll get is a few small companies buying in to these third party NFT avatar systems, but that's because it's easier for the developer than developing their own system. Any company that CAN develop their own system, will, because they get to sell stuff to their users directly.

Having worked on two games that used Microsoft's avatar system, frankly I doubt it's "easier".

more falafel please
Feb 26, 2005

forums poster

For all its problems, DNS is actually an example of a decentralized global database system that actually works.

Adbot
ADBOT LOVES YOU

more falafel please
Feb 26, 2005

forums poster

I've never seen a compelling argument for a legitimate use for any blockchain related technology that wouldn't be more secure, easier, less expensive, and less energy intensive using solutions that have existed for decades (or in some cases, literally millenia). There are policy/legal problems that can be worked around using cryptocurrency (buying drugs on the internet, sex workers getting paid) but that's less "legitimate reason to use a technology" and more "ways to use grey/black markets that make it harder to get caught". It doesn't fix the fundamental problems, and cash has always been another method for those things.

Most of the time if you think "a blockchain would be perfect for this" you probably just want Postgres.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply