What does designing for energy efficient games look like?
Back in March, right after GDC, I wrote a piece about the Microsoft Xbox sustainability team’s work to put live power draw numbers front and centre on Xbox devkits, and integrate real world telemetry from actual Xboxes out in the wild. At the time, I was really excited for the potential in this development because, in concert with Epic Games, they had already done a real-world proof-of-concept implementation in Fortnite. I wrote about that as well for this very newsletter – they quite probably saved the equivalent CO2 emissions of an entire (very small) wind farm. Imagine building a wind farm worth of CO2 savings just through software. Incredible stuff. This is why they International Energy Agency calls energy efficiency “the first fuel”. Saving power beats the pants off of new build renewables even – which we still need a ton of, of course. We will always still need some source of energy, but the smaller we can make our sips of the old angry pixies, the easier everyone’s job becomes – and we so desperately need to make this job easier.
So fast-forward to now, and obviously the Xbox sustainability team has been hard at work (seriously, I can't get them to answer my emails thats how busy they are – Trista call me!) and they’ve just released the first documentation and guidance on how to implement similar solutions in your game.
Not only that, but also this week Call of Duty Warzone 2 released it's Season 5 update that applies some of these very suggestions. I’ll come back to that in a minute though, because I want to discuss the main features of the guide first.
Here’s how they describe this initial ‘checklist’ of potential implementations:
This checklist presents a first-release collection of essential suggestions for game developers who wish to manage their game's power consumption more responsibly without sacrificing gameplay fidelity. By implementing these recommendations, developers can significantly lower the energy usage of their games.
A couple of things to note at the outset. First, what a lot of the suggestions tacitly assume are large player bases – these are not calibrated for indie game devs. That’s fine, and indie game devs tend to have have a lower impact anyway (for a number of reasons) but its worth making that explicit – these are suggestions for games with large audiences. The potential for impact from relatively small savings comes from the aggregation of large numbers of players. Quite different approaches will be required for small teams and indie devs – and on that note, Kara Stone's Solar Server project has just given a little update on the very first 'solar powered game residency':
I am writing from a prototype of a renewable energy-based game art residency in beautiful British Columbia. Together with Dr. Cindy Poremba, we wanted to run a slow game-jam that focuses on using sustainable energy to see how that impacts game design. We’re only a few days in so I’ll report back when we have real data. We plan to publish our findings in a zine this Fall. So far, the highlights are having a solar-power kit that can be moved to wherever I feel like working outside, rather than being tethered to the indoors and wherever an outlet might be. Another highlight is that it is extremely gorgeous here in interior BC (and, in many parts, on fire).
So I'm really looking forward to seeing the outcome of this process as well, and I think its a very complementary approach for a different scale of game making. (I provided some consultation to Kara and Cindy in the lead up to the residency – a bit jealous of the fabulous time they'll be having)
Secondly, it’s also worth highlighting that the approach taken by the Xbox sustainability team, and the movement that is coalescing in the industry around this approachm, is to find savings without compromising player experience. There’s a tension there still, I think, worth highlighting. It’s an entirely pragmatic place to start, but it still represents a gap between what we might call the truly sustainable ideal. The earth carbon cycle doesn’t really care about gamer experiences. That’s not offered up as a criticism of this work or the team, by any means. But it’s a reminder of what’s at stake, and how big the task is still ahead of us. It may be the case that the way to get there is through this sort of incremental approach, finding opportunities for improvements in efficiency, with the goal of reducing what we can until until power grids are fully decarbonised. But even that only solves one part of the picture, and there are other thornier problems that will remain even once we get to net zero electricity.
Anyway that’s enough of being Eeyore from me!!! This whole project is a still a super fantastic initiative and I’m extremely encouraged that it’s delivering real emissions avoided.
Here’s the top level of graphics recommendations they make:
- Lower frame rate in most animated menus to buy back performance and introduce sizeable energy savings.
- Lower the game's internal resolution across in-game menus, lobbies, and/or leaderboards
- Lower resolution and/or frame rate combinations based on an idle timer (ex. 30 seconds, 1-minute)
- Set minimally- or non-interactive loading screens to 30 FPS.
- Reduce the number of updates or calls executed for off-screen objects per frame.
There’s more detail on the page with how large an impact is expected from each type of change, and suggestions for nucances in implementations. Useful stuff, and I’m guessing (hoping?) we’ll see some of the case studies expanded. That last one about limiting updates or calls to off-screen objects seems new and interesting, and I don't remember it being mentioned back in March. It’s quite specific, and claims to be a validated result as well, so will have to wait and see where that turns up.
I’ll skip over the single Telemetry suggestion, as its still a work-in-progress, but the idea of measuring different parts of your game for their energy intensity is a good one.
Design suggestions include:
- Implement a visible, player-facing Power Saving Mode that is ON by default.
- Design menus as 2D backplates (if there is no camera or 3D motion to capture).
- When simulating in-game environments using real-world environmental or climate data, do not have the data update in real-time.
This is interesting and could probably be the subject of an entire post itself, because there’s so much at stake with player facing initiatives, defaults, and user expectations and experiences. Menus in 2D seems sensible, and the last one about simulating in game seems like a lesson drawn from Flight Simulator? I wonder what the story is behind that!
Distribution consists of just one suggestion so far:
- Base game install is distinct from high-quality assets, therefore reducing installation time and future time downloading and installing updates.
This is interesting because I remember an IGDA Climate SIG debate maybe 18 months ago about whether chopping up a game for more steaming and loading on-demand was even possible. I don’t remember where we lamded re: feasibility, so nice to see something like it survives here, and has been validated in some form. Case studies will help to know what this looks like. Also, I just have to highlight this nuance within that recommendation: “Given most players will not be able to use 8K assets, 4K and 8K assets can often be separate installs.” Maybe I should get some stickers made up that say “8K no way!” (I’m on the record that 8K pixels is too many pixels!)
Process recoomendations consist of just one item as well:
- Schedule and time shift job queues for operations to occur during off-peak hours.
Yep, basically a useful, proven solution that can save emissions. Next. Oh that’s it, aside from some more “coming soon” bits around setting targets and measuring in menus vs active gaming, and what happens to the game when it ceases to be the main operation or focus on the console (the so called “constrained game life-cycle state”). This is when you open a different app, return to console menus, etc. This is interesting as it makes me wonder whether there are better or worse implementations of being in the ‘background’ suspended state on console, and what (if any) effect that has on the menu power draw. Menu energy use is, after all, a part of the game console’s energy efficiency conveniently covered by the EU’s energy efficient games consoles regulations. Big “hmmmmm” from me here.
So the other big bit of news is that Call of Duty Warzone 2’s latest update for Season 5 has implemented some of these kind of recommendations. How neat is that! For the details, we have to dig into the patch notes, as there’s not been any real big fanfare about it (and that’s probably the point – remember, these are meant to be things that basically no one even notices). Here’s what the notes say:
Introducing “Eco Mode”
Found in the Graphics Settings menu, with three options:
• Off: Same behavior as all previous updates with no power savings.
• Minimal (Default): Frame rate capped at 60hz and slight drop in 3D scene resolution for the Multiplayer and Warzone lobbies only. Yields an average power savings of 20%.
• Full: Frame rate capped at 30hz and larger drop in 3D scene resolution for the Multiplayer and Warzone lobbies only. Yields an average power savings of 50%.
So this is right out of the above playbook, and a real straightforward implementation of these best-practices. In multiplayer menu screens, by default players now have the FPS in the menu capped at 60FPS with a (my guess would be barely noticeable?) drop in 3D scene resolution to go along with it. I’m going to keep my eyes open for any mention of this and see if its even on anyone's radar, but my guess is it doesn’t even come up. And that's the point, it's meant to be happening with barely anyone noticing. A saving of 20% of power used in these lobby screens vs the old/no-power saver mode is not to be sniffed at, either. The other night I had my PC on and pretty much nothing else turned on in the house and the whole power being drawn was about 400 watts. 20% of that, multiplied by a few minutes a day, multiplied by a couple of hundred thousand players… that’s a fair bit of power no longer going to waste. As long as players don’t hate it, and leave it switched on anyway. I will be very curious to see what the rates for leaving it as-is turn out to be. Why not, after all, save yourself some money.
So that's neat! I had no idea this was even coming either, it comes as a complete surprise, and (according to Paula Escuadra, who would know!) it was all because folks from CoD reached out. You love to see it. And I can’t wait to see what sort of real world emissions savings this translates into for the huge CoD Warzone player base.
Next time: I'm hoping I'll finally have time to get around to the next post in the series, and be able to approach some sort of a number for the global energy/emissions footprint of all gamers. I think that’ll be nice one to put up against this sort of work, to see what sort of potential there is in moving in this direction as an entire industry. Who's going to be the first engine maker to incorporate these changes in as easy, automatic defaults? The race could well and truly be on.