A bit of a different question, but what does IT do in AAA? I feel like most game developers are pretty tech savvy.
While it's true that many game developers are tech savvy, there's more to IT than just keeping a workstation running. IT at game companies does the same thing that IT does at any tech company - they set up, maintain, and make decisions about tech solutions for an organization. That might mean choosing whether to use Discord or Slack, Jira or Trello, Zoom or Teams, and integrating all of the various elements into each other, like being able to launch Zoom from Slack, or integrating Slack bots to pull data from Jira to post it in the chat channel. They are also key in operational security by setting up software solutions for protecting against (and taking care of) viruses and malware.
Basically, having some experts to give direction helps free up the rest of us from having to think about IT and able to focus on our own work. We might be able to do some of this, but it's better to have it set up for us consistently across the studio than leaving us to each try our hand at countless inconsistent versions of the same workflow, especially since screwing it up could sacrifice a lot of productivity while the IT issues get ironed out.
Sometimes I need to reboot my games because of “memory loss”. What is it? Why does it make my games run faster after rebooting?
I don't think there's a term called "memory loss", but you're probably thinking of a "memory leak". A memory leak is when a program grabs more memory for use while looping than it releases. This results in the machine using more and more memory over time, thus having less and less available memory to use. This causes slowdown and eventually crashing once all of the available memory has been used. When you reboot, all of that claimed memory gets released and becomes available for use again. That's why your games run faster after rebooting, the games have access to more memory after the reboot.
What do you believe are the easiest and the toughest real world sport to translate into video games? My guess is Golf being the easiest since there are so few active objects at any given time.
I suspect you're asking from a technical perspective, since the "business" answer is that the easiest game to translate is the one that stands to make a good profit, and the hardest game to adapt is the one that won't sell. The number of active objects don't really matter all that much, we've got tech like the Dynasty Warriors games where we can have hundreds and thousands of moving dudes at once. Difficulty to adapt is also dependent on how much abstraction we're doing - today's Madden NFL 24 is an entirely different beast than 1988's John Madden Football was, even though both games are ostensibly translations of the same sport. Back in 1988, the biggest roadblock for the game was Madden himself insisting each football team needed to have 11 players on it and the hardware couldn't support that many.
From a technical perspective, I think the hardest sports to adapt have core features that are (currently) extremely expensive. Features such as:
Physical deformation - physical bodies contorting and deforming accurately when hitting each other
Signature movements and likenesses from well-known and familiar real life players
Real time environmental changes - rain causes players to get wet and changing their characteristics and animations, but also certain patches of the ground turn to mud, resulting in players getting muddy and difficulty traversing those areas
Thus, I think Rugby is probably the most technically difficult sport to chase after. American Football and Football/Soccer are probably close contenders as well.
Easy games to adapt tend to be the ones that need the fewest resources. Most games that are easy to adapt show up in compilation games like the Olympic type games. A 100m run or swim, for example, could take advantage of reusing a lot of resources (environments, animations, etc.) and don't have a high bar. Weight lifting games would be similarly low-effort for feasibility.
In fighting games counting (comparing) frames on moves/animations is important, even for players. For other types of games, do developers or animators count or tweak to the frame? And when counting small amounts of time like that, how do most studios do it? Frames? Milliseconds?
Animators typically count things in terms of frames. Some designers care about frames specifically too, but engineers and designers generally use milliseconds or decimal seconds (e.g. 0.6 seconds) to describe how long something should be. Using frames as a specific time measurement is less helpful because development builds typically aren't optimized and may run at different frame rates based on what's going on. Using a more specific measurement of real time is more helpful, since the game engine can calculate real time from its (variable) frame time in order to maintain accuracy. Our debug logging keeps tabs on everything in terms of milliseconds so we can see how temporally far apart events in the log fire.
In this age of remasters, something I appreciate with The Master Chief Collection is how you can switch between old and new graphics instantaneously. Can you explain how this mechanic works? Big thanks!
Once upon a time, back in the ancient years of 2009 and 2010, Bungie was developing its final Halo game - Halo: Reach - with intentions to then go their own way. Microsoft created a new studio named 343 Industries to take over after the split from Bungie. 343 co-developed the Halo Legends animated series and worked with Bungie on Halo: Reach to learn the Halo development ropes, and then worked with Saber Interactive and Certain Affinity to develop Halo: Combat Evolved Anniversary. Halo Anniversary (2011) was the first appearance of the classic graphics toggle feature.
From what I've been told, the way it works is that modern hardware is capable of doing much more than simply running the old game engine with upscaled visuals, so Saber Interactive built a "secondary engine" to work in tandem with the original. This technology basically uses the extra memory and cycles to load and handle the computations needed for both old and new graphics simultaneously so you can hot swap between them with load time since both sets of graphics are loaded at all times. Saber also worked on Halo 2 Anniversary and brought their hot swapping tech to H2A as well.
Hi there, I’m curious how hard is it to make an open world game that loads all off the assets/ props/npc’s ets. all at the same time? So basically the game ( the full game) is active in all direction without preloading or loading screens or popping things in to existence. It all exist at the same time everywhere… Even when the player lives the game. I know it sounds silly. But I really wanted to ask is it impossible because we don’t know how OR we luck the power of graphical hardware?
It's possible, but if you had a full world's worth of assets loaded and running, the game would either run at an unplayable frame rate or would be significantly reduced in visual fidelity. This kind of thing actually did happen way back in the day - we used to load the entire game into memory in the arcade coin-operated machines and cartridge days. Nowadays we can do a lot with streaming data from disk into memory, most of which comes from being clever in optimizing what gets loaded when. As long as we can keep the smoke and mirrors going, the player never sees the railroad tracks they're following.
Plenty of 3D games in the past several years have in game meters/kilometers or other real world distance measurements. For lack of a better term, are they accurate? Consistent between games? How do you set what a meter even is in a virtual world?
They're accurate... kind of. Units of measure within 3D game worlds are actually arbitrary. We can choose to make one unit be a kilometer, a meter, an inch, or even something more relative, like one character height/width. As long as we remain consistent with our assets and environments in terms of relative size, things will look ok. If we can't remain consistent, things break.
Let's say, for example, that character modeler Neelo builds a character model where one unit is set to one inch. This means that a six-foot-tall person would be 72 units tall and maximum width and depth of roughly the same. Neelo's finished character would comfortably fit within a 72 x 72 x 72 unit cube.
Now imagine that the environment artist Desmal misread the memo and creates the fighting arena using one unit set to one foot, rather than one inch. The fighting arena is 100 feet wide, 20 feet deep, and 20 feet tall because that's what the lead designer wants the arenas to be. Thus, Desmal's finished fighting arena would fit within a 100 x 20 x 20 unit block.
What happens if we put Neelo's character into Desmal's arena? Well, Neelo's character is over 3x the height of the arena and almost as wide, so we'd probably see Neelo's feet and lower legs in the arena, and not much else. In order for things like relative size to work, we need to make sure they're built with the same consistent unit size in mind. We can scale Neelo's character down or we can scale Desmal's arena up (or they can meet halfway), but we need to establish some kind of consistent scale or nothing will work.
One benefit to having this consistent unit size is that we can extrapolate out relative sizes. If we establish that our protagonist is 180 cm tall, it means that 1 kilometer (100,000 cm) within the virtual world is the equivalent of (100,000 / 180) = 555.555 protagonist heights. As long as everything works out in terms of relative size, the virtual world feels like sizes of in-game things map to the real world.
PS. It's actually quite rare for different games to use the exact same scale for their assets! This is one of the major problems with the NiFTy enthusiast talking point about taking an item or skin or whatever from one game and bringing it into another. On the last game I worked on, one unit was one meter. On the current game I'm working on, one unit is one inch. Bringing assets from the other game over to my current game would mean they would be tiny in comparison!
What kind of support and relationship will the engineering staff of a AAA game have with a readymade engine's (basically Unreal) support staff and knowledge base?
At the base level, there are a lot of public resources available for Unreal developers. There's the official Unreal documentation that covers most of the built-in functionality for the engine, and the tutorial archive that offers a variety of video seminars for people to watch and work through. There are also official message boards and stack exchange-type question-and-answer sites where programmers can search for previously-asked questions and solutions so they can untangle themselves. Most of the questions you would need are handled through these resources.
Beyond this, there are the occasional niche issues where you might need a direct answer from the engine developers themselves or even need to write your own system or plugin to solve a problem the engine doesn't handle out of the box. You can post to the official message boards where the engine team will respond occasionally, but it isn't super reliable - you're at the mercy of the developers who happen to be spending some time reading the boards that day.
For some teams, there is some direct back-and-forth with the Epic engineers in specific areas like working through a high-priority bug in the engine itself as an example. It is possible for AAA studios to work more closely with Epic engineers to try out beta features that aren't yet part of the released engine. Really big budget and/or high profile games that need more support can call in favors with Epic to get more access as needed. But generally speaking, to my understanding problem solving is primarily about working within the Unreal support community at large and less about working super closely with Epic directly.
I’ve gotten a bunch of questions about the leaked GTA6 footage and I thought I would address them today. First, I want to say that I sympathize with the team. This is not how it was supposed to go and it really sucks that the leak happened. There are plenty of things worth getting mad at Rockstar and Take Two over, but this is not one of them. It really sucks when people rush to judgement on your work, especially based on wrong or out-of-date information. This is why publishers usually don’t announce games until there’s something to show. Every game in early development stages generally looks pretty awful.
Second, I encourage you all to read this post if you haven’t:
Leaks suck for the team because we can’t control the message and there’s always missing context that the leak doesn’t provide. You might see some videos of in-progress work, but you don’t know what the goals for each part of the game are, or how this feature is there to lay the foundation for a much bigger system to be built on top of what you see. There’s a ton of planning, discussion, prototyping, reviewing, and improving of the ideas, designs, art, and technology that happens over the course of the game. Without that context, there’s no way that any outsider would be able to understand what they’re even supposed to be looking for, let alone whether what they’re seeing is good. And there’s no way for us to give outsiders that context without basically showing everything including our discussions, our meetings, our dealings with licensors whose IP we’re using, our technical, scheduling, legal, and budgetary considerations, and so on. That isn’t feasible for a multitude of reasons.
The other thing I wanted to talk about is how the leaks got out. Given the nature of the leaked data - a large number of short video clips of in-development demonstrating features and the like - I suspect what happened was a breach of some kind from Rockstar’s chosen messaging app. I suspect this for a few reasons:
Messaging apps aren’t directly behind the company VPN. A lot of companies use Slack or Microsoft Teams for internal messaging, but they do not require the VPN to connect. I need to connect to my company VPN to sync the project, but I don’t need it for email or messenger. I can also access the company messenger app via my phone. This also means that somebody who steals my phone can open up my messenger app and have access to the full content there. It’s also a lot easier to steal a phone than it is a workstation.
Internal messaging is a necessity because many of us are still working from home and a requirement to coordinate teams in different time zones. GTA is an enormous project with hundreds of developers working on it, they are likely scattered across the globe.
The video clips weren’t only of bugs, but a lot of demos for features. If it were lifted from the bug database, the vast majority of videos would be of bugs. Short video clips shared to various channels in the messenger to show off new features coming online happens a lot.
I will remind you that I am no security expert. This is 100% speculation. It is only one possibility that fits the set of facts and is nowhere near the only possibility. It could be this or it could be something else entirely.
Hi Dev! Whats up with those loading screens where it’s a still screen for a while, then the loading bar appears and starts loading from the beginning. What has the game been doing before the bar appeared? Has it been working on anything or was it idle for some reason?
It's always doing something. Consoles and PCs have finite memory available to hold data and assets. When the game transitions from one level to another, if there isn’t enough free memory to load the next level’s data and assets, it has to unload (some of) the current level’s data and assets in order to make room for the new stuff.
The loading process is a lot like refurnishing an already fully-furnished room. When you start the load process, your room is currently already set from the previous level - there's a couch, desk, rug, dresser, chairs, television, tv stand, decorations, wall hangings, and so on. You can't necessarily just bring in all of the new furniture for the room willy-nilly, you need to make sure there's enough space in the room to place the new furniture before you bring it in. In order to clear out that space, you would first need to remove at least some of the old furniture. Once enough space has been cleared, you can start bringing in the new furniture and arranging it in the room. The loading screen is like the curtain coming down to hide the rest of the old furniture being removed and the new furniture being brought in and rearranged.
What is likely happening during the specific pause before the loading bar appears is that the system is clearing out enough memory to load the UI system and assets needed for the loading screen, and then loading those UI system and assets. If the UI system and assets were already loaded in memory, it wouldn't be necessary to load them since they would already be available... but they might not be necessary to keep around at all times.
It's worth noting that there's also hard certification requirement across all console platforms that a game cannot show a frozen screen (i.e. no movement at all) for longer than a few seconds. This is a guard against a crashed/frozen/locked game, something must be animating and updating on screen.
How does version control work in AAA? Does every team member have access to the repository, or is it limited to leads?
Let's take a step back for a moment since not everybody knows what version control is. Software projects usually have a lot of different files - code, models, textures, animations, rigs, vfx, scripts, game data, etc. are usually their own separate files. Developers work on one or more of these files at any given time, often making changes to them or creating new ones. Out-of-date, misplaced, or even buggy files can cause the project to stop working, crash, run slowly, or exhibit buggy behavior. In order to keep the project working and stable, you need to keep track of each version of each file. That way, if one or more files get messed up and breaks the project, you can roll those files back to a previous working version in order to restore the integrity of the project. This takes a lot of hard drive space because it effectively saves a copy of every version of every file that ever existed in the project (including deleted files because you might need to restore those too at some point) in case they're needed.
So... how does it work in AAA games? Most AAA game devs I know have multiple redundant depots for each project, usually some sort of progression on "main", "test", and "cert" or variations thereof. The purpose of these different branches is increasing levels of scrutiny and stability
"Main" is where the majority of changes happen and get a chance to settle. This means that things on "main" are occasionally broken or buggy when people check files in that don't play nicely with each other. Most developers have access to the "main" branch and do the majority of their work there. This includes artists, designers, animators, programmers, producers, etc. "Main" is where QA typically validates individual bits and pieces of new features as they come online, like "added a button to craft until I'm out of resources".
We periodically integrate (i.e. take a snapshot of) "main" and move those changes into "test" so that we update our progress in a more stable environment. Engineers and producers pick and choose which changes from "main" go over to "test" - a new game system will likely stay on "main" until it is stable and fully featured enough for validation. Most developers do not fix problems directly on the "test" branch - instead, they do the fix on the main branch, and then that fix gets integrated over to the test branch in order to keep everything clean. Typically, only engineers and producers have access to “test”. Builds from the "test" branch is where QA validates entire game features and systems, e.g. the crafting system.
The last branch is usually "cert" or "stable" - it's the most stable and is often the final snapshot of the project/patch data that gets submitted for certification. Almost no one has access to work on the "cert" branch except the leads and senior producers/engineers. Even less work is actually done on "cert" than on "test"; "cert" only takes integrations from "test", so any change must be integrated from "main" to "test" to "cert". Only changes approved by the executive producer get integrated into “cert”. Builds from the "cert" branch is where QA tests for certification requirements, which is why stability is paramount.
Occasionally, we have special branches for really really large changes that we want to keep separate from the normal “main”, “test”, “cert” chain. These kind of branches are usually for tech changes that have enormous far-reaching effects - [changing engines], changing engine versions, moving from [32 to 64 bit architecture], adding a new major workflow, a replacing an old core system (like animation) with a new one, and so on. These special branches are for extremely complex changes, which is why they are kept far away from "main” until they have been adequately validated. These special branches are often only touched by those doing the work on them (typically senior engineers).
Ive seen games that are dabbling in blockchain/NFT's as being "Play to earn". Can you explain what that means?
Sure. In many games, you accumulate in-game currency like gold, rupees, zeny, etc. while you play. You typically use that currency to buy items or upgrades within the game. In a "Play to Earn" game, the currency you accumulate while playing is a cryptocurrency that is tracked in the blockchain. Players can use that currency to buy items or upgrades within the game, but those players also have access to this cryptocurrency outside of the game and can sell it to other players or use it to buy things from people who are willing to accept it as payment.
It's a lot like being a game with a built-in allowed gold farming policy. One player can farm in-game gold (usually subject to daily/weekly/etc. limitations) and then trade that in-game gold to other players for real money, other cryptocurrency, or whatever. In theory, if the game takes off and is really popular (like World of Warcraft did) and there is a demand for the in-game currency, then it's a way for players to earn real value while playing the game.
In reality, the success of "play to earn" depends on the demand for the currency. One of the largest "play to earn" games currently live is Axie Infinity, but their player base has stalled in its growth and most of the players have outsourced the farming of their in-game gold to workers in the Philippines. As a result, there's a huge increase in the amount of the in-game gold being produced but there’s been little to no growth in the demand for that in-game gold, so its value has fallen significantly. [Click here] for more info on the state of Axie Infinity (as of last November).
So Ubisoft announced they are including NFTs in their next Ghost Recon game. Do you think their implementation resolves any of your issues you recently listed with NFTs in games?
Limited edition, just like collector’s edition bonuses
Have serial numbers, just like the unique database IDs we use for items in any MMOG
Have a list of the player names of current and former owners of the item, which is the only new thing (and could be done via a new data field in a database)
The issue is that there’s still nothing that these things being NFTs does differently or better than before. In fact, because these are being built by Ubisoft, it actually sacrifices two of the biggest selling points for NFTs:
Ubisoft still retains central control over what players can do with the NFT. The NFT owners get rugged if Ubisoft decides to shut down the game or stop supporting these NFTs. Another publisher like EA, Take Two, Nintendo, Microsoft, etc. certainly won’t build support for them without a significant financial incentive to do so.
The NFTs aren’t actually unique - they all look exactly the same, which means they are still fungible (that is, interchangeable) among themselves, unless you really care about a serial number and owner history. Otherwise, your helmet, gun, and pant skins will look the exact same as all the others in each “limited edition” that Ubisoft distributes.
So... no. I don’t think they resolved any of the major problems that NFTs have. I think they repackaged some limited edition preorder skins and added some blockchain tech in order to get cryptobros to buy their game. What I’m really looking forward to seeing is what will happen when the scammers start separating gullible players from their digital property. Will customer service be able to roll those transactions back? If that’s the case, ownership of that NFT essentially belongs to Ubisoft, rather than the player. If that’s not the case, it’s a super feels bad moment that will likely permanently sour player sentiment toward Ubisoft. The nature of the NFT should be that the item belongs solely to the owner and that includes successful scammers.
I keep hearing the phrase “NFTs are a solution in search of a problem”, and I’m of the opinion that video games do not have a problem that NFTs can solve... mostly because we already have many of the good things that they offer, and it isn’t worth it to take the rest. For those who don’t know what NFTs are, they are blockchain-maintained Non-Fungible Tokens - basically unique tokens that (are supposed to) indicate ownership of some digital thing, like a digital collector’s print of a picture.
The NFT concept has three major strengths:
They are unique. Each NFT is provably unique and cannot be duplicated.
They are distributed rather than centralized. They exist on their own once they are created, and their owners are recognized through the blockchain. If you own one, it cannot be taken from you by someone else.
They can be sold, given, or traded among individuals without needing to go through an intermediary or central authority.
These qualities are technically interesting features for a system. However, when it comes to video game design, these features are really not needed nor are they particularly useful. The biggest problem with NFTs with regards to video games is that all of the problems NFTs might solve have already been solved in games for years (e.g. ownership of unique items), and NFTs bring a whole bunch of new still-unsolved problems that must be solved in order to make them work in games. Thus, this combination of “we already have a better working solution to this existing problem without having to solve all these new problems” is essentially the uphill battle NFTs have to fight in order to find a home in video games.
We’ve already had ownership of unique items in games for ages. Every MMOG with persistent inventory has solved this problem - every item in your character inventory is already unique, with its own item ID and data stashed away on the database. We needed this so that developers could track duped items, customer service folks could restore lost items, and so forth. This way, we can make sure that Desmal’s 98% bonus damage Studied Blade is not the exact same as Neelo’s 86% bonus damage Studied Blade. Our items aren’t decentralized like NFTs are, but that’s not really a benefit in games because the game itself is the central authority. Without a game to play with it in, Desmal’s hypothetical NFT Studied Blade loses a huge amount of its value.
This brings us to the first of the major problems NFTs bring with them. If players want to bring their own NFTs from outside of our game into it, then where is the value for us developers and publishers to invest money building that game? Games, as we know, take time, people, and money to build. Most developers will not work for free - we have a powerful need to eat, pay bills, take care of our families, and so on. Any NFT game needs to earn enough money to pay all of its employees and all of its costs. We would either have to charge players to play the game in addition to selling them NFTs in order to make that kind of money, or we would have to be able to generate our own NFTs on demand so as to sell them to the player. This also means that we would compete with other players who might want to sell their own NFTs, putting an upper bound on their value.
This leads us to the second major problem of NFTs. There is a finite possibility space within which we can generate items in games. There must be a top end and a bottom end. Item effectiveness in games is relative - in order for something to be “good” in a game, it has to do things better than other items that aren’t as good. This means that there can only be a small percentage of “good” items relative to the full possibility space of items. Sometimes the stats you get on the item aren’t as popular a combination. Sometimes the stats aren’t as high as they could be, or the item quality isn’t as high as it could be. These are the lesser-valued items, and these would have to exist in order for "good” items to be valuable. The alternative is that every item is basically as good as another, and then there’s no reason for players to buy or trade items because they’re all essentially the same. Either we must have a whole lot of worthless NFTs in order to make a small handful of them valuable, or all of them are the same and are worth about the same amount. In that second situation, you end up with a boring game because you never find an upgrade - it’s a pretty flat power curve. If we make most of the generated NFTs worthless and only a handful good, then we’ve basically made a NFT loot box generator.
There is a NFT game out there already - Axie Infinity - that is essentially running a very expensive buy-in gacha. You start by buying a few Axies (their NFTs) in order to play, either from the developer Sky Mavis or from other players, then earn in-game cryptocurrency to train and breed more Axies which can then be sold or traded to other players. [They have run into some problems] - their user growth has stalled, which means fewer people buying NFTs and more people stockpiling their currency. This actually has resulted in currency inflation because there’s just more currency floating around relative to the things to spend it on. There’s no real reason for players to use it to breed more Axies since most players already have a sufficient stable of Axies to earn their daily limits. This problem occurs when player growth slows or stops - without a constant supply of new players injecting money into the system to buy up the supply of Axies, the system will collapse in on itself. It’s good to note that the Axie Infinity developers have also recognized that the game is currently unsustainable and are looking at ways to fix it.
On a related note, a lot of big publishers are talking about NFTs now because a lot of investors are asking about NFTs. Like any new technology that has garnered a lot of attention and had a lot of money thrown at it, investors who don’t really understand the technology are feeling the FOMO (Fear Of Missing Out) and thus demanding to know what their tech companies are doing about this big new thing so that they Don’t Miss Out On The Next Big Thing. It is probably possible to solve some of these problems eventually, but I think that there are probably other problems that blockchain and NFT technology are better suited to solve. I don’t know what those might be, but I really don’t think video games are where they will shine.
PS. This also doesn’t address the current problems with NFTs like the inability for the NFT to hold the actual data for what it claims ownership of within the blockchain. This makes NFTs of things like digital art kind of bad, because they aren’t the images themselves but the web address of the image. If the web server hosting that image goes down, it takes the image with it and the NFT no longer points at anything. Likewise, if Sky Mavis takes their game servers down, the data the Axie NFTs point at will vanish too. This mostly invalidates the “decentralized” aspect of things since the whole point is that taking down the system should not take your NFT with it.
Hiya! Your checkpoint answer got me curious about something specific. I play MAME a lot and use save states when I want to practice. Its not the game saving, but the emulator. How does my state load instantly where other games with manual normal saving need a second or two? Is it not the same principle?
MAME saves everything in the game's memory registers at the time of the snapshot and then copies them directly into those memory registers when you load them. MAME games tend to be small (an entire ROM is only a few dozen megabytes at most) so any memory snapshot is commensurately small and can be copied very quickly. Today’s AAA games are enormous and require multiple levels of loading, including individual textures that are bigger than any MAME game. That kind of asset loading takes time.
This type of game save also doesn’t protect against the “impending doom” save scenario, where the player saves the game in an unwinnable state. In those cases, even if you restore the game perfectly, it is a real bad experience for the player - especially if there are no other saves to go back to.
On a similar note, here’s another related question I got about saving games:
On the matter of save games, your answer is very informative to a non-game programmer. But with modern memory and disk sizes, I can't think of a data structure I've used in the last decade that wasn't serializable. If everything is serializable, unit tests should catch the bugs. Why is this not true for games?
Unit tests can catch technical issues with the restoration of data, but are really bad at catching gameplay issues like the impending doom save I mentioned above or gameplay elements that should be loaded and aren’t (e.g. an NPC in another zone). You can say “serialize everything in the game”, but that’s an awfully quick way of ballooning the size of the save files which means more loading and more disk space concerns.
This isn’t to say we don’t use serialized save game data - we absolutely do. A lot of game save systems do it that way, we just have to be more careful about what it is that gets serialized and what conditions we allow saving to occur in order to protect against the impending doom problem and others like it.
Can I ask for some insight into why some developers might remake a game into a sequel (Destiny 2, Overwatch 2) rather than update the original or current game? Does it have something to do with the engines these games run on? Or something else?
One of the reasons to make a new stand-alone game (when it is pretty close to the old game like the examples you mention) stems from needing to significantly change or outright remove/replace major old systems. In a live game that’s got continued support, there’s already a well-established audience of players who are already invested in what’s been released. Players absolutely hate it when we take something away that they’re already invested in because it feels really really bad, so we try to avoid doing that as much as we can.
This is most often game systems we’ve designed (e.g. we changed how combat works, we changed how crafting works, etc.), but it can also extend to technical or art changes. For example, imagine that we build a brand new animation system to enable all sorts of new stuff like partial animations, better terrain traversal, more elaborate combat moves, etc. Unfortunately, the new animation system won’t work with a bunch of legacy content that wasn’t built with that new animation system in mind, so much of that old content breaks. Going back to update that old content is cost- and time-prohibitive - we’d rather create new and cool content instead. Calling the project a new game allows us to bypass any player expectation for that old content, while bringing the animation system into the old game would trigger the bad feels from taking things away or leaving in broken content.
This certainly isn’t the only reason we would create a sequel game, but it is one major reason to do so. Large changes usually invalidate or break old previously-supported content, and one well-established player expectation is that “if it’s live, it will continue to work until all of the game’s support is shut down”. Making a new game allows us to break those expectations and that’s important if we want to continue improving and evolving our games.
Any thoughts on the Denuvo AntiCheat? Regardless of review bombing of Doom Eternal I fail to see what possible reason it could have to install itself at Ring 0 of the operating system. Is this lazy programming, like in the good old days when everything ran as root, or is there some reason that what Denuvo is trying to do cannot possibly be done without this level of access to the OS?
I really wish I knew why one of the first responses from gamers to anything new seems to be calling the developers lazy. We build game experiences with painstaking details that most players aren’t conscious of but we’re the ones who get called lazy at the drop of a hat when gamers don’t understand something.
I’ve heard this argument about Valorant and now I’m hearing it about Doom Eternal. Most of it is the same - frightened people who don’t understand what a Ring 0 driver is or what this all means. Allow me to explain. Software on your personal computer is installed at various privilege levels.
The innermost ring has the highest level of privilege - it can access your hardware and such. This is usually reserved for things like your kernel - the core computer operating system stuff that runs your computer. Other things that need access to your hardware also live at ring 0 like drivers for your video card, your USB interface drivers, your sound drivers, your network drivers, and so on. Most software lives on ring 3, where it doesn’t have access to the things allowed to the kernel.
Think of it like a one-way mirror. You can see everything outward from your ring but not inward. Because of this, any process running on Ring 3 cannot see any processes that are running in the lower rings. This makes the lower rings a great place to run cheat programs because any cheat detection software on Ring 3 can only check stuff running within Ring 3. This is why Riot and id want to install a Ring 0 driver - it's like installing a small, lightweight camera inside the deepest part of the computer that their cheat detection code living on Ring 3 can peek through. Any cheats hiding in Ring 0, 1, or 2 can be spotted via this special driver camera and appropriate action can be taken against the cheater.
Performance is generally not affected by a Ring 0 driver because they aren’t active unless they’re told to be. Have you ever worried about the printer you aren’t using affecting your game performance? How about your USB microphone or webcam that you’re not actively using? They don’t actively consume system resources unless you’re using them. Similarly, the anti-cheat Ring 0 driver won’t do anything unless it’s being used by the program authorized to use it. The only performance issues that may occur is the actual running of the entire game package on Ring 3. The Ring 0 driver is essentially separate from everything. If there really was a significant performance hit, we’d pull the patch back and fix it because we want players to play the game and not cheat.
Some people are also concerned about privacy issues - a Ring 0 driver allows its software to get a deep look at your computer’s internals. This requires a significant amount of trust from some folks. However, this is actually no different than the same drivers you choose to install for your video card, for your motherboard, for your hardware, and so on and so forth. For example, [click here] for a list of known common software vulnerabilities and exposures you’ve chosen to allow by using nVidia’s drivers. nVidia, AMD, MSi, Asus, etc. can already do all of this to your home PC. You’re exposing yourself to some or all of these vulnerabilities by using nVidia’s drivers, yet I haven’t seen any gamers complaining about nVidia. You also really don’t have an option not to use their drivers for their hardware short of writing them yourself.
I think it’s also important to separate these elements - the Denuvo name is a bit of an industry bogeyman because of its past unperformant copy protection system. However, this isn’t copy protection or DRM, it’s anti-cheat software. A Ring 0 driver isn’t necessary to take your personal information - Google and Facebook have already done plenty of that withoutever needing a Ring 0 driver. It’s no different there, unless you believe that Zenimax Games or Riot are inherently even less trustworthy than those companies. If that is the case, there should be no reason for you to trust their software on Ring 3 any more than you trust would them on Ring 0. The only reason for a Ring 0 driver here is to catch cheaters that try to cheat by making sure they have nowhere to hide. If your concern is privacy, you should probably not play any modern games at all.
You are using an unsupported browser and things might not work as intended. Please make sure you're using the latest version of Chrome, Firefox, Safari, or Edge.