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
dads friend steve
Dec 24, 2004

I thought, at least for consoles, huge install sizes were driven a lot by needing multiple copies of assets to reduce seek time. So since the next gen is all super-fast SSD, we can expect some decrease in on-disk size (possibly to be immediately gobbled up by increased texture and poly sizes?)

Adbot
ADBOT LOVES YOU

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

SerthVarnee posted:

The first thing I think of when you tell me a game will be taking up a fuckton of space is: "one metric buttload of textures and audio, no mention of plotline, story or balancing yet. I wonder if they'll have time to make the plot this time once they are done rendering".
I find this kind of funny, because games have been selling themselves based on how big their storage requirements are since the days of the NES at least. You'd see stickers saying things like "128kB ROM" on the box as a way to try to sell "this game has a lot going on!"

quote:

Are you telling me that you are primarily running into people who don't think 99% of the development is visuals and audio?
For the record, I am aware that my 99% number is pulled directly out of my rear end.

You're not that far off though. Look at the credits for a game you enjoyed, odds are there's something like 10x as many graphics artists as programmers. Most games, especially content-driven AAA games, have a lot of art in them. The game I'm making a spiritual sequel to was a PS2 game made in 2005, and even back then it had IIRC over 20 artists and 4 programmers. Then you add in music, sound effects, and voice acting and things tilt even more heavily towards the content creators.

As to more falafel please's original question: you might try showing them screenshots of games through the ages, to help reinforce the difference in what they're seeing. People tend to get rose-colored glasses about the graphical quality of games they played even just 10 years ago. You can also point out that games get exponentially bigger as texture quality increases (going from 128x128 to 256x256 uses 4 times as much storage).

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

OneEightHundred posted:

They're bigger because AAA is a production quality arms race above all else, and they'll use every ounce of hardware capacity they can get. Games are bigger because storage/bandwidth are abundant.

This, plus we're seeing diminishing returns on graphical fidelity. Each 2x increase in texture size gives less and less results, but completely doubles your asset size.

File sizes on textures are increasing exponentially while quality is only increasing linearly. But as you say, as long as we have the hard drive space.... you're gonna use it. You want your product to look as good as it can, and hard drive size is a pretty minor cost.

dads friend steve posted:

I thought, at least for consoles, huge install sizes were driven a lot by needing multiple copies of assets to reduce seek time. So since the next gen is all super-fast SSD, we can expect some decrease in on-disk size (possibly to be immediately gobbled up by increased texture and poly sizes?)

This is definitely a thing, but will likely be made irrelevant by games continuing to scale up in size to match.

Never underestimate software bloat :cheeky:

Chev
Jul 19, 2010
Switchblade Switcharoo

Zaphod42 posted:

Each 2x increase in texture size gives less and less results, but completely doubles your asset size.
Quadruples your asset size!

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Chev posted:

Quadruples your asset size!

:doh: yeah!

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

TooMuchAbstraction posted:

Look at the credits for a game you enjoyed, odds are there's something like 10x as many graphics artists as programmers.
That's a bit of a red herring though. The increase in staffing is mostly because of an increase in budgets, driven by increases in sales, and it doesn't really correlate well with disk usage. Textures are the biggest space hog, but the production cost of a single texture has very little to do with its resolution, for instance. The biggest driver of disk usage is the expand-to-fit nature of AAA. I will use a 32k texture for a thread sticking out of your shirt seam if the hardware lets me get away with it.

(That's not really THAT much of a joke either, one of the things making the UE5 demo tick supposedly is massive stream-in rate from the SSD, in which case some napkin math suggests it's probably taking up a big chunk of the SSD just for the demo... which would be pretty normal for a demo, really, but if you're talking about scaling up to a full game and asking how much storage it could get away with using, if it had no limit? You're probably talking tens of terabytes.)

dads friend steve posted:

I thought, at least for consoles, huge install sizes were driven a lot by needing multiple copies of assets to reduce seek time. So since the next gen is all super-fast SSD, we can expect some decrease in on-disk size (possibly to be immediately gobbled up by increased texture and poly sizes?)
AFAIK that's not really that common. Most of the benefit to seek optimization, you can get through location alone, and the most well-known case of duplication I remember was Insomniac doing it when they were doing it on Blu-ray discs where there was zero downside to using up every drop of spare space.

OneEightHundred fucked around with this message at 21:32 on Nov 6, 2020

Chev
Jul 19, 2010
Switchblade Switcharoo
Yeah, Insomniac's spider-man tech presentation on potimizing their file size is very interesting if you want to have a a good case study of where space is often "lost" due to not feeling the need to save it. Duplicated assets for optimizing load times, poor or nonexistent compression and quantization, storing precomputed stuff that could be done dynamically, etc. I don't think they're that much of an outlier either. When you see news of Sea of Thieves halving its file size with no apparent content alteration (last year IIRC) or CoD more recently, it can be as simple as devs just remembering they ought to compress their assets.

https://www.youtube.com/watch?v=KDhKyIZd3O8

Chev fucked around with this message at 22:02 on Nov 6, 2020

Gromit
Aug 15, 2000

I am an oppressed White Male, Asian women wont serve me! Save me Campbell Newman!!!!!!!

TooMuchAbstraction posted:

You're not that far off though. Look at the credits for a game you enjoyed, odds are there's something like 10x as many graphics artists as programmers. Most games, especially content-driven AAA games, have a lot of art in them. The game I'm making a spiritual sequel to was a PS2 game made in 2005, and even back then it had IIRC over 20 artists and 4 programmers. Then you add in music, sound effects, and voice acting and things tilt even more heavily towards the content creators.

You'd better not gently caress up Codename: Kids Next Door: Operation V.I.D.E.O.G.A.M.E. or there will be hell to pay!

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

Gromit posted:

You'd better not gently caress up Codename: Kids Next Door: Operation V.I.D.E.O.G.A.M.E. or there will be hell to pay!

:stare: that sure is a game title. No, I was talking about the much more reasonably-named Naval Ops: Warship Gunner 2; my follow-on game is currently titled All or Nothing: Waves of Steel :v:

I sorely wanted to call it BYOBattleship, but it turns out there's a very good reason why there's exactly one game with the word "battleship" in its name. My lawyers advised me it wasn't worth the risk. :smith:

Coffee Jones
Jul 4, 2004

16 bit? Back when we was kids we only got a single bit on Christmas, as a treat
And we had to share it!
Regarding those middleware logos (SpeedTree, Scaleform, Miles Sound System, etc) on initial launch of a lot of titles, are you not allowed to do anything in the background while they’re displaying? Loading, logging into a multiplayer server, compiling textures, always happen after the logos.

Nintendo first party games never display logos at all. I guess they build so much in house?

Darkrenown
Jul 18, 2012
please give me anything to talk about besides the fact that democrats are allowing millions of americans to be evicted from their homes
Could anyone tell me what a normal hourly wage for a game writer in the US is? Also if you are also a designer/scripter as well, which I assume would add something.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Coffee Jones posted:

Regarding those middleware logos (SpeedTree, Scaleform, Miles Sound System, etc) on initial launch of a lot of titles, are you not allowed to do anything in the background while they’re displaying? Loading, logging into a multiplayer server, compiling textures, always happen after the logos.
It's pretty common for there to be stuff loading during intro videos. If you're doing it on PC, go to Task Manager and watch memory usage.

djkillingspree
Apr 2, 2001
make a hole with a gun perpendicular

Coffee Jones posted:

Regarding those middleware logos (SpeedTree, Scaleform, Miles Sound System, etc) on initial launch of a lot of titles, are you not allowed to do anything in the background while they’re displaying? Loading, logging into a multiplayer server, compiling textures, always happen after the logos.

Nintendo first party games never display logos at all. I guess they build so much in house?

You absolutely can and there are definitely games that do background work while displaying logos. It's not completely trivial, though, depending on your game engine. And, in my experience optimizing initial load times are not typically prioritized as much as optimizing framerate, and I don't know that I've ever worked on a game that had as much time to do framerate optimization as would be ideal. So in many cases I think programmers don't get ahead enough on their schedule (through no fault of their own, just because there's enough work to do that's more important) such that they clawing back 5-10 seconds on boot becomes something that they get assigned to spend time on.

Coffee Jones
Jul 4, 2004

16 bit? Back when we was kids we only got a single bit on Christmas, as a treat
And we had to share it!
Gotcha, thanks. I'd just launched my first Unreal Engine 4 game, Borderlands 3, and after launch from Epic Store it's like
No feedback that I'd launched it other than disk and CPU use -> Middleware logos -> Studio Logo -> Compiling Shaders progress bar -> More loading -> Logging into Gearbox's servers -> Ok now you can select Host or Join Multiplayer

Granted, I'm running it off an HDD so every little step in this process is pronounced and when you're doing issue triage the question of "How much of a dissatisfier is this?" always comes up and that's way down the list.

But, I launch Doom 64 on Switch and it's like Logos -> Nightdive Studios Logo -> Kex engine logo -> Some loading -> Now logging into Bethesda Servers, sometimes with timeouts, sometimes with multiple phases and maybe a notice about the Doom Slayer's Club -> DooM
It's like, it's Doom, guys, can't we have network while the logo videos are playing?

Coffee Jones
Jul 4, 2004

16 bit? Back when we was kids we only got a single bit on Christmas, as a treat
And we had to share it!
Hey here's another thing for the server folks -
I like playing coop FPSs with friends so we pick up Halo Master Chief Collection on PC, a few months back we're working our way through Halo 1 and it was more or less a flawless experience network wise with only one or two disconnects.
A few months later Halo 3 launches and none of our co-op games seem to last more than a few minutes before receiving a server disconnected error. We try again during non peek periods, early Sunday morning, and we're able to get about thirty minutes in before receiving another disconnect.
Just for kicks, we try one of the player vs player modes and it's flawless.

So.... what's happening here? Is this a capacity issue?
Do they allocate a certain number of virtual machines for coop and a separate much larger cluster for PvP? If others want to start a Coop session are they bumping existing sessions instead of implementing a queue system "Server's full, your place is 3024 in queue ...."

I'm kinda old school and I like running dedicated servers on a Linode instance, if the connection drops out it's because the CPUs pegged or in the case of Minecraft, we've started swapping because Java's a drat memory hog and how much do you really expect for $5 / mo?

dads friend steve posted:

I thought, at least for consoles, huge install sizes were driven a lot by needing multiple copies of assets to reduce seek time. So since the next gen is all super-fast SSD, we can expect some decrease in on-disk size (possibly to be immediately gobbled up by increased texture and poly sizes?)

There's reports of Xbox Series S games loading faster than Series X because of 1080p assets instead of 4k. XSX has to handle 4x the load but doesn't have 4x the Disk IO.

Coffee Jones fucked around with this message at 16:43 on Nov 9, 2020

Akuma
Sep 11, 2001


Coffee Jones posted:

Gotcha, thanks. I'd just launched my first Unreal Engine 4 game, Borderlands 3, and after launch from Epic Store it's like
No feedback that I'd launched it other than disk and CPU use -> Middleware logos -> Studio Logo -> Compiling Shaders progress bar -> More loading -> Logging into Gearbox's servers -> Ok now you can select Host or Join Multiplayer

Granted, I'm running it off an HDD so every little step in this process is pronounced and when you're doing issue triage the question of "How much of a dissatisfier is this?" always comes up and that's way down the list.

But, I launch Doom 64 on Switch and it's like Logos -> Nightdive Studios Logo -> Kex engine logo -> Some loading -> Now logging into Bethesda Servers, sometimes with timeouts, sometimes with multiple phases and maybe a notice about the Doom Slayer's Club -> DooM
It's like, it's Doom, guys, can't we have network while the logo videos are playing?
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.

chglcu
May 17, 2007

I'm so bored with the USA.
Lots of middleware contractually obligates you to make the player miserable. It's awesome.

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.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

chglcu posted:

Lots of middleware contractually obligates you to make the player miserable. It's awesome.
99% of vendor intro videos are because of either that, or because they paid for it.

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Coffee Jones posted:

Hey here's another thing for the server folks -
I like playing coop FPSs with friends so we pick up Halo Master Chief Collection on PC, a few months back we're working our way through Halo 1 and it was more or less a flawless experience network wise with only one or two disconnects.
A few months later Halo 3 launches and none of our co-op games seem to last more than a few minutes before receiving a server disconnected error. We try again during non peek periods, early Sunday morning, and we're able to get about thirty minutes in before receiving another disconnect.
Just for kicks, we try one of the player vs player modes and it's flawless.

So.... what's happening here? Is this a capacity issue?
Do they allocate a certain number of virtual machines for coop and a separate much larger cluster for PvP? If others want to start a Coop session are they bumping existing sessions instead of implementing a queue system "Server's full, your place is 3024 in queue ...."

I'm kinda old school and I like running dedicated servers on a Linode instance, if the connection drops out it's because the CPUs pegged or in the case of Minecraft, we've started swapping because Java's a drat memory hog and how much do you really expect for $5 / mo?

Okay, so, online multiplayer server talk! So there's two ways to skin the cat of online multiplayer, which you may be familiar with. There's dedicated servers, and there's peer-to-peer.

With the peer-to-peer (p2p from here on) approach, one of the players is picked as the "host" and they are both locally the server and also their own game client, and everyone else is a client who connects to that host. If the host drops, you'll notice the game pause for a second and pick another player to set up as the host, and then the game moves on from there.

Dedicated is what you're talking about, the more hardcore approach where there's a standalone server running just the game and everybody who is playing is a client connected to it.

Halo uses Dedicated for matchmade multiplayer, but uses p2p for campaign and custom game multiplayer. Dedicated servers are generally preferred, but are more expensive since the game company has to run and manage the servers instead of letting gamers just be their own servers. That said, p2p isn't necessarily a deal-breaker, it just means you may get more latency or hiccups here and there. But its not the worst problem for Halo.

There's a further fly in the ointment here. Halo: MCC is a remastered port of a bunch of old console Halo games. While they've re-written the multiplayer network stack to run really well on PC with the dedicated servers, the campaign system is basically still running what it did on Halo back in the day, just inside an emulator/container to patch those network communications to other PCs instead of xboxes on xbox live. That network code did certain things which were the optimal choices for consoles on xbox live, but which now don't work perfectly on PCs over the internet and Steam and whatnot. If they were writing Halo from scratch today they'd take slightly different designs to the network code, but it isn't a new game. They haven't really tried to update or change how the logic of the network stack in campaign works, and each game would have to be individually re-written so it'd be a huge effort to fix all of them completely.

As a result, they're unfortunately pretty hit and miss. Each halo campaign effectively has a slightly different network stack, so you're gonna see different results. I myself have had a bunch of Halo 3 co-op campaigns drop on PC, and that's pretty frustrating. It'd be great to see them address it, and I think they have taken some steps to fix bugs here and there, but as said the real problem is kinda just that its a port of a bunch of console games.

Zaphod42 fucked around with this message at 21:43 on Nov 9, 2020

djkillingspree
Apr 2, 2001
make a hole with a gun perpendicular

Zaphod42 posted:

Okay, so, online multiplayer server talk! So there's two ways to skin the cat of online multiplayer, which you may be familiar with. There's dedicated servers, and there's peer-to-peer.

With the peer-to-peer (p2p from here on) approach, one of the players is picked as the "host" and they are both locally the server and also their own game client, and everyone else is a client who connects to that host. If the host drops, you'll notice the game pause for a second and pick another player to set up as the host, and then the game moves on from there.

Dedicated is what you're talking about, the more hardcore approach where there's a standalone server running just the game and everybody who is playing is a client connected to it.

Hmm, what you're describing as peer to peer I've always heard described as a migrating host. Maybe this is talk from the olden days but I've always heard of peer-to-peer described as a system where no single client was authoritative, all peers run in deterministic lockstep, and basically only inputs are sent back and forth between peers. Not saying you're wrong, just that the terminology I've heard was a little different!

Hughlander
May 11, 2005

djkillingspree posted:

Hmm, what you're describing as peer to peer I've always heard described as a migrating host. Maybe this is talk from the olden days but I've always heard of peer-to-peer described as a system where no single client was authoritative, all peers run in deterministic lockstep, and basically only inputs are sent back and forth between peers. Not saying you're wrong, just that the terminology I've heard was a little different!

Host Migration is separate than hosted client though/as well. I shipped 5-6 games with the same engine where one client was the host, and if they dropped the match was over.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

djkillingspree posted:

Hmm, what you're describing as peer to peer I've always heard described as a migrating host. Maybe this is talk from the olden days but I've always heard of peer-to-peer described as a system where no single client was authoritative, all peers run in deterministic lockstep, and basically only inputs are sent back and forth between peers. Not saying you're wrong, just that the terminology I've heard was a little different!

p2p has nothing to do with how determinism does or doesn't work or what state you transmit. If there's no central authority, it's p2p.

There are a lot of ways to get consensus, declaring a temporary leader is one. You'll need to deal with host migration/splits either way in peer systems.

Chev
Jul 19, 2010
Switchblade Switcharoo
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.

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.

djkillingspree
Apr 2, 2001
make a hole with a gun perpendicular

leper khan posted:

p2p has nothing to do with how determinism does or doesn't work or what state you transmit. If there's no central authority, it's p2p.

There are a lot of ways to get consensus, declaring a temporary leader is one. You'll need to deal with host migration/splits either way in peer systems.

yes, sorry, I mostly meant that is how p2p has been implemented in most games I've had experience with. But my understanding is basically this:


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.

The fact that the host machine happens to be the same hardware as one of the clients doesn't really make a difference technically. The same game can use both methods, too - old PC shooters would let you run a listen server or you could connect to a dedicated server running a headless server app.

djkillingspree
Apr 2, 2001
make a hole with a gun perpendicular

more falafel please posted:

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.

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)

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".

Chev
Jul 19, 2010
Switchblade Switcharoo

djkillingspree posted:

The fact that the host machine happens to be the same hardware as one of the clients doesn't really make a difference technically.
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.

Chev fucked around with this message at 01:43 on Nov 10, 2020

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

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.

Yes, there's a lot of overlapping language and jargon.

What do you call a non-dedicated-server to contrast it then if not p2p? I guess in the old days we called them "listen servers" but I haven't heard that terminology in like, a decade.

I've also heard of mesh networks and node-based systems for huge multiplayer MMO systems and the like referred to as "peer2peer" so obviously you have to consider the context, they're not exclusive terms.

more falafel please posted:

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.

Yeah same. But at the end of the day the jargon isn't what really matters.

Zaphod42 fucked around with this message at 01:43 on Nov 10, 2020

Chev
Jul 19, 2010
Switchblade Switcharoo

Zaphod42 posted:

What do you call a non-dedicated-server to contrast it then if not p2p?

It's really just a server. Either a server is dedicated, in which case it's its own process, or it is not, in which case it shares its process with a client. But you're absolutely right about the listen server term, which comes from Quake and is still used, for example in Unreal Engine 4, so I guess it's fair game to use it to make the difference explicit (although it's gonna confuse the people for whom a listen server is just a server that doesn't initiate connections, ie almost all game/web servers).

Mind you, going outside of the quake-born context, dedicated server is more generally used as a machine-level notion, on a different layer from the client-server/peer-to-peer dichotomy. A dedicated server is the machine, physical or virtual, that is dedicated to running the server process (or server processes).

Chev fucked around with this message at 02:52 on Nov 10, 2020

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).

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Chev posted:

although it's gonna confuse the people for whom a listen server is just a server that doesn't initiate connections, ie almost all game/web servers

Haha, good point. There's just not enough specific terms here.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
I posted this in the Making Games Megathread a bit ago, but there's a different, more business-related circle in this thread and I'd appreciate y'all's advice too. I'm working on a trailer for my game for when the Steam page goes up (they've been stuck verifying my tax info for a week now :mad:). What do you think of this?

https://www.youtube.com/watch?v=D1bXD5fGKrc

At this point all I think I'm missing is a title card at the end, and the link to Steam. But if there's anything else that you think ought to change, I want to hear about it. It's a lot easier to change before I release the trailer publicly after all :v:

Jack B Nimble
Dec 25, 2007


Soiled Meat
How much does Ubisoft care if I buy the new assassins creed now vs a year from now at half price? I mean as regards them considering the game a success or a faiure? I'm thinking that they care very much how many copies they sell week one and, and then while it's at full price, and then once it's discounted, in descending order?

More broadly, not all sales are the same, so how does a major AAA company like Ubisoft think about them?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Jack B Nimble posted:

How much does Ubisoft care if I buy the new assassins creed now vs a year from now at half price? I mean as regards them considering the game a success or a faiure? I'm thinking that they care very much how many copies they sell week one and, and then while it's at full price, and then once it's discounted, in descending order?

More broadly, not all sales are the same, so how does a major AAA company like Ubisoft think about them?

Anything outside the release window is usually bucketed as catalog sales. They probably can drill into it, but they probably don't very often?

I dunno I'm not in product.

MJBuddy
Sep 22, 2008

Now I do not know whether I was then a head coach dreaming I was a Saints fan, or whether I am now a Saints fan, dreaming I am a head coach.

Jack B Nimble posted:

How much does Ubisoft care if I buy the new assassins creed now vs a year from now at half price? I mean as regards them considering the game a success or a faiure? I'm thinking that they care very much how many copies they sell week one and, and then while it's at full price, and then once it's discounted, in descending order?

More broadly, not all sales are the same, so how does a major AAA company like Ubisoft think about them?

Depends on who you are at the company, to start.

If you're the dev studio, you want sales now, full stop. Catalogue sales may or may not flow to you but unless you're in an upper management position, likely publisher side, you're not getting explicit residuals and any bonuses you'd expect are going to be driven by launch sales before March or so (I forget when Ubi's FY ends but it's around then?). This also gives them the ability to move to new projects. Longer tails, all things equal, benefit the publisher over the developers.

Immediate sales are also going to effect how the folks who worked on the title are perceived. Think of the election, and how the order you count votes changes perception. Big upfront sales can and will affect perception, because people won't know if the game will outperform it's entire projections or just shift the same totals to the earlier time, so people will probably start licking their lips over a massive success.

Earlier sales will probably also lead to bigger budget plans for follow up titles. I can't talk about that much.

For the actual company bottom line? Eh. Ubi specifically doesn't aggressively drop their prices compared to others, usually waiting until a games sequel (including standalone expansions) releases before discounting a game in their catalogue. AC: Odyssey hit it's lowest price ever literally today, for instance. They don't behave like other companies in that respect though. EA and Actividion usually goes through discounts on a time based cycle which coincides with their yearly release schedule.

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.

Jack B Nimble
Dec 25, 2007


Soiled Meat
Thank you all; ubisoft doesn't make my absolute favorite games but they seem to keep improving, so I wanted to make sure my purchase did what it could to signal that; sounds like if I buy it any time in the next couple weeks or so that should be ok, doesn't have to be like a movie where everyone is watching that first weekend.

Jack B Nimble fucked around with this message at 12:44 on Nov 11, 2020

Adbot
ADBOT LOVES YOU

MJBuddy
Sep 22, 2008

Now I do not know whether I was then a head coach dreaming I was a Saints fan, or whether I am now a Saints fan, dreaming I am a head coach.

Jack B Nimble posted:

Thank you all; ubisoft doesn't make my absolute favorite games but they seem to keep improving, so I wanted to make sure my purchase did what it could to signal that; sounds like if I buy it any time in the next couple weeks or so that should be ok, doesn't have to be like a movie where everyone is watching that first weekend.

They're not even going to pour over the launch numbers until January and even then not until physical reports come in. Right now they'll be getting digital and user activity.

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