DEVLOG: May 12, 2023

Series of developer diaries for Six Days in Fallujah.
Post Reply
User avatar
AmperCamper
Community Manager
Posts: 1049
Joined: Fri Jan 29, 2021 5:02 pm
Has thanked: 1204 times
Been thanked: 2279 times
Contact:

DEVLOG: May 12, 2023

Welcome to the second entry in our Developer Log series. These short-form updates are designed to provide context on what we’re currently working on in between our larger SITREP diaries. Performance continues to be an ongoing priority for the team, and we’ll be providing some more updates in this area today.

Please remember that all assets shown are currently a work-in-progress.

We want to start off by thanking the community for their recent questions around performance and optimization. This is an extremely relevant conversation around the industry as we’re seeing the largest of studios struggle to meet performance goals as games become more and more complex to develop. We are very mindful of this, and our goal continues to be a smooth experience regardless of where you play Six Days.

Frankly, every developer is struggling right now with a convergence of contradictions. While it was acceptable ten years ago for shooters to play at 30fps, every player now expects at least 60fps. Players also want these games to display 4x more pixels, much more sophisticated lighting, more post-processing and special effects, and much smarter AI and physics—all while needing to perform at twice the speed.

This actually wouldn't be a problem if we could just build all our games for processors that can handle 4K graphics and sophisticated AI. But, the range of capabilities within PCs currently marketed as "gaming PCs" is very, very wide.

The only way to accomplish performance in a sophisticated game is through "multi-threading." Earlier game software would tell game hardware what to do through a single series of instructions that were sent sequentially to the computer's processors, one after the other. In contrast, multi-threading divides these instructions into separate threads that the processor handles simultaneously. For example, the game's AI might be on one thread, the game's rendering on another thread, the game's physics on a third thread, and the game's audio on a fourth thread.

The real challenge with multi-threading is that all these threads must stay in sync with each other. This isn't just so the audio from a weapon plays at the same time the AI has fired said weapon, for example. It's that all these instructions and data are flying around independently in all these different threads, and the whole game will crash if any of these threads gets a nano-second out of sync.

Performance can be examined under two different lenses—CPU and GPU—and we want to provide an update in each area, along with some charts our engineers use to help optimize performance.

Let’s start with an update on CPU. While Six Days is currently running at an acceptable “steady state” on average, we’ve also identified intermittent hitching that is represented by the pattern of spikes in the graph below. These hitches, albeit brief, cause slowdowns that impact player performance. After identifying when the game spikes, our engineers then investigate ways for the game to more efficiently handle the process that was causing each spike. A few months ago, we had more than three dozen separate factors driving these spikes. Today, we have just half a dozen.

Image

We have a similar graph for our latest pass on GPU performance, and you’ll notice intermittent spikes in this area as well. Like our CPU spikes, we've eliminated the vast majority of GPU spikes during the last few months. For example, we found that some of our graphics systems were calculating certain processes during gameplay and throwing them away, rather than pre-calculating them and then caching them for future use. As you can see, there are still a few spikes left to fix.

Image

Let’s round this entry out with a discussion on networking—more specifically player connectivity and matchmaking. For context, players can find others to play with in two ways. The first is through our automated matchmaking systems, which try to optimize which players to join together based on their internet connectivity. The second is through invites sent directly to their friends or to those they've played with recently.

We recently hosted a studio-wide playtest to test our matchmaking feature and identified a bug that would sometimes cause lobbies to form with only 2-3 players, even if there were 4 players available to play. This has already been fixed, and players can now matchmake reliably into full fireteams of four players based on our testing so far.

As far as game invitations go: we’re tweaking our in-game notification system to allow for a number of special use-cases when players invite their friends to play. Currently, when invites expire, notifications are dismissed for both the sender and receiver of the invite. This isn’t super helpful when a player receives a Steam invite before launching the game, for example. Improvements we’re making to the UI can better communicate where invites are sent and how long they remain valid.

Of course, with a team of more than 55 people currently working on the game, these items are just a sampling of the work we've done during the past few weeks on Six Days.
User avatar
Kean_1
Posts: 248
Joined: Wed Oct 13, 2021 11:15 am
Has thanked: 588 times
Been thanked: 401 times

Re: DEVLOG: May 12, 2023

Thanks for the update Amper.

May I ask, on the subject of matchmaking, will players have the ability to invite just 1 or two friends or must it always be a full team of four?

I have an intense aversion to being paired with "randoms" in tactical games like these. The only scenario it really doesn't matter that much to me is in games like CoD (or similar). .....but not in a tactical game like SDiF.

I've mentioned it before but Insurgency Sandstorm is a good example of "co-op done wrong" as it has a "forced" matchmaking system for that mode which means that if you can't fill your team of 6 (I believe it is) with friends, then "randoms" will be placed in your game.

Unfortunately, this means that more often than not matches become a real sh*t show with "Rambos" running around, TK'ers, trolls or simply people not willing (or unable) to work as a team. .....among other annoying scenarios.

I'm really hoping that players and their friends can play "invite-only" co-op sessions together
with 2, 3 or 4 players total on a team. ....no "randoms" if they wish it to be a private match.

Thanks for your time.
User avatar
AmperCamper
Community Manager
Posts: 1049
Joined: Fri Jan 29, 2021 5:02 pm
Has thanked: 1204 times
Been thanked: 2279 times
Contact:

Re: DEVLOG: May 12, 2023

Kean_1 wrote: Fri May 12, 2023 9:53 am I'm really hoping that players and their friends can play "invite-only" co-op sessions together
with 2, 3 or 4 players total on a team. ....no "randoms" if they wish it to be a private match.
Thanks for the question, Kean! Players have the option to matchmake into games OR invite their friends to play. And, you don't need four players to begin a mission, so feel free to invite one or two and begin. The game will not be scaled down if you're lobby isn't full, so expect to run into some challenges without a full fireteam.
User avatar
Kean_1
Posts: 248
Joined: Wed Oct 13, 2021 11:15 am
Has thanked: 588 times
Been thanked: 401 times

Re: DEVLOG: May 12, 2023

AmperCamper wrote: Mon May 15, 2023 7:59 am
Thanks for the question, Kean! Players have the option to matchmake into games OR invite their friends to play. And, you don't need four players to begin a mission, so feel free to invite one or two and begin. The game will not be scaled down if you're lobby isn't full, so expect to run into some challenges without a full fireteam.
That is such a relief to hear. Excellent news.

Personally, I'm perfectly fine with the difficulty not being scalable / dependent on team size. In fact, I think it could add another dimension / challenge to the gameplay as we would obviously have to adapt when our party isn't at full strength. Roles would have to change, etc.
munchuh
Posts: 26
Joined: Sun Dec 18, 2022 3:45 am
Has thanked: 12 times
Been thanked: 32 times

Re: DEVLOG: May 12, 2023

Super happy to see performance covered! A lot of tac-shooters have all but given up on making games with healthy framerates and its great to see it being a priority for 6D. Thanks for the log Amper :)
Kridath
Posts: 68
Joined: Wed Jun 15, 2022 8:26 pm
Has thanked: 112 times
Been thanked: 102 times

Re: DEVLOG: May 12, 2023

Amper, on the topic of matchmaking: is this something that will be monitored when there is a beta and there is a larger sample size to work with? Also does the studio plan to do an open or closed beta? Just curious on this due to most games basically being released as "complete" but feeling more like betas rather than a true release right now. Battlefield is the one game that comes to my mind immediately when I think of that.

Happy to know that the team is taking their due diligence to ensure that GPU and CPU utilization is up to par and is being tweaked to run as intended. Im not sure if that is something a lot of developers are missing as they are too focused on meeting timelines? But I am happy to know that the team for SDiF is conscious of frame rates and how they will perform.

What type of system is the team using and has the thought crossed the minds of the developers for those who may not have computers that are up to the specs of the testing PCs?
User avatar
AmperCamper
Community Manager
Posts: 1049
Joined: Fri Jan 29, 2021 5:02 pm
Has thanked: 1204 times
Been thanked: 2279 times
Contact:

Re: DEVLOG: May 12, 2023

Kridath wrote: Fri May 19, 2023 9:47 am Amper, on the topic of matchmaking: is this something that will be monitored when there is a beta and there is a larger sample size to work with? Also does the studio plan to do an open or closed beta?
Yes, we've hosted more internal testing for our matchmaking systems since this DEVLOG, but there's no replacing larger user testing. We'll have more on what these look like later.
Kridath wrote: Fri May 19, 2023 9:47 am What type of system is the team using and has the thought crossed the minds of the developers for those who may not have computers that are up to the specs of the testing PCs?
We're very conscious of two things on the topic of performance: what's happening around the industry alongside what the target is for low-spec machines. We'll have updated system requirements for everyone, but our marks are competitive. If your rig still doesn't measure up, we're experimenting with clever ways to cover the spread (reducing visual effects, scaling options, etc).
Badd_Karrmaa
Posts: 10
Joined: Tue Sep 21, 2021 10:02 pm
Location: Canada
Has thanked: 1 time
Been thanked: 16 times
Contact:

Re: DEVLOG: May 12, 2023

Thanks for the update amper. Will pass on to the homies
Post Reply