• Ever wanted an RSS feed of all your favorite gaming news sites? Go check out our new Gaming Headlines feed! Read more about it here.
  • We have made minor adjustments to how the search bar works on ResetEra. You can read about the changes here.

chris 1515

Member
Oct 27, 2017
7,074
Barcelona Spain
Not having to go through the CPU to get data into RAM is the textbook definition of DMA and it's in every CPU above low-end Arduinos. Cerny was talking about the PS5 having an extra DMA engine like it was special, and I was curious how it's special. Oh well, rewatching it he doesn't make as big a deal as I remember, so maybe he's just explaining it like he did with the segment on how hard disk drives work.

This is special because it is able to load in memory 5 GB/s of compressed data and it is the reason he said it is special if it takes one Zen 2 CPU it means you can use it for other things. If you add the number at the end the I/O complex needs 11 Zen 2 cores to do the same job.
 

androvsky

Member
Oct 27, 2017
3,509
This is special because it is able to load in memory 5 GB/s of compressed data and it is the reason he said it is special if it takes one Zen 2 CPU it means you can use it for other things. If you add the number at the end the I/O complex needs 11 Zen 2 cores to do the same job.
That's how DMA works, it means you don't have to use the CPU to move data a few bytes at a time. The PS5 SSD I/O block has some interesting things going on in it, I was curious why the DMA block by itself seemed special. I later decided Cerny wasn't trying to make it sound special, he was just pointing out there's a dedicated controller in the I/O block and explained what it was for in case someone wasn't sure what DMA is.

Back in 2008 I wrote a linux driver for a custom FPGA video card that used nearly 1 GB/s for raw 4K 10-bit RGB completely uncompressed video. It ran just fine on a AMD Phenom x4 with relatively low CPU usage because the driver I wrote used a list of DMA pointers to move the data around. We probably could've done a bit more, but we were running into limits of what PCI Express could do back then, plus we were already using 32 drives at 7200 RPM on a pair of RAID-5 controllers.
 

chris 1515

Member
Oct 27, 2017
7,074
Barcelona Spain
That's how DMA works, it means you don't have to use the CPU to move data a few bytes at a time. The PS5 SSD I/O block has some interesting things going on in it, I was curious why the DMA block by itself seemed special. I later decided Cerny wasn't trying to make it sound special, he was just pointing out there's a dedicated controller in the I/O block and explained what it was for in case someone wasn't sure what DMA is.

Back in 2008 I wrote a linux driver for a custom FPGA video card that used nearly 1 GB/s for raw 4K 10-bit RGB completely uncompressed video. It ran just fine on a AMD Phenom x4 with relatively low CPU usage because the driver I wrote used a list of DMA pointers to move the data around. We probably could've done a bit more, but we were running into limits of what PCI Express could do back then, plus we were already using 32 drives at 7200 RPM on a pair of RAID-5 controllers.

It is not special by itself this is everything in the I/O part which are interesting. The DMAC itself is not impressive.

What is impressive is everything they have done to be fast from the custom controller to the I/O.
 

gofreak

Member
Oct 26, 2017
7,739
An additional patent application covering multiplayer with these 'activity templates':

ESTABLISHING AND MANAGING MULTIPLAYER SESSIONS - SONY INTERACTIVE ENTERTAINMENT LLC

<div p-id="p-0001">A system and method for establishing and managing multiuser sessions is provided. A plurality of interactive content titles and at least one activity template associated with each o

Multiuser gameplay may involve social interactions between a user and peers (e.g., friends). Presently available interactions typically occur in a group at a platform level or in a group (e.g., team) within a game. Where a specific team may wish to play together in different games or different sessions, such game group must generally be rebuilt in each different game, which may include different features and parameters depending on each game despite some commonalities between different grouping processes. Further, steps to build a game group may be different in each game.

Due to the popularity of multiuser games and playing games with a set group of peers (e.g., friends), significant delays and repeated and/or different steps in each game can have significant (and negative) impact on user experience. Such group building may, for example, detract from the user experience when grouping processes—which may be repetitive to different extents—cause delay each time the group changes games. Further, such grouping must be repeated for groups of player that regularly play different games together, resulting in delayed gameplay.

Multiuser lead sessions as provided and described allow a group of user and peers to interact with multiple activities and/or titles without having to recreate the group of users in each different activity and/or interactive content title, thereby allowing the group of user and peers to maintain interaction with each other through multiple activities and periods between activities.


So basically, you can create OS level 'social sessions' with a groups of users, and then the system maps 'activities' from games that you can jump directly into with that group, without any further setup on the game side. And you can hop from activity to activity, and between games, with that group, without additional menu wrangling within each game. It can show you activities that suit the number of people in your group, or allow smaller or larger groups to engage in certain activities while others remain in the OS level social session - perhaps watching the game - who can come back later to engage when an activity is being played that allows for more players.

That seems to be the basic idea anyway. Parties, but with the ability to jump directly into and out of group activities within games without boot cruft or additional in-game setup.

This seems like it would be very dependent on developer support of course. They basically have to specify and 'export' activity templates to the OS for their game. This is basically a way of promoting their game, though, so I think there should be good traction - if, indeed, Sony isn't making this support mandatory.
 

Cthulhu_Steev

Member
Oct 27, 2017
2,393
An additional patent application covering multiplayer with these 'activity templates':

ESTABLISHING AND MANAGING MULTIPLAYER SESSIONS - SONY INTERACTIVE ENTERTAINMENT LLC

<div p-id="p-0001">A system and method for establishing and managing multiuser sessions is provided. A plurality of interactive content titles and at least one activity template associated with each o






So basically, you can create OS level 'social sessions' with a groups of users, and then the system maps 'activities' from games that you can jump directly into with that group, without any further setup on the game side. And you can hop from activity to activity, and between games, with that group, without additional menu wrangling within each game. It can show you activities that suit the number of people in your group, or allow smaller or larger groups to engage in certain activities while others remain in the OS level social session - perhaps watching the game - who can come back later to engage when an activity is being played that allows for more players.

That seems to be the basic idea anyway. Parties, but with the ability to jump directly into and out of group activities within games without boot cruft or additional in-game setup.

This seems like it would be very dependent on developer support of course. They basically have to specify and 'export' activity templates to the OS for their game. This is basically a way of promoting their game, though, so I think there should be good traction - if, indeed, Sony isn't making this support mandatory.

I always look through your patent posts hoping you've written a 'lay man's take' in there somewhere, it's much appreciated. Otherwise I'm like 'ehhh?'
 

gofreak

Member
Oct 26, 2017
7,739
A slew of patent applications filed around October last year might give further hints on the 'Netflix' style user experience that's been hinted at, and seem to line up with and expand on what jschreier was saying earlier in the thread.

Between them they basically describe a uniform data platform and SDK that games can plug into. I think parts of the introductions explain the intent fairly well:

Remote Networked Services for Providing Contextual Information - Sony Interactive Entertainment LLC

<div p-id="p-0001">Systems and methods for providing contextual information regarding available game activities are provided herein. An example method includes maintaining a list of activities associa

Data Model for Uniform Data Platform - Sony Interactive Entertainment LLC

<div p-id="p-0001">Computer implemented methods and systems for providing a uniform data platform for at least one application of a plurality of applications are disclosed. Exemplary methods include r

Video games are getting more complex, while the time allotted to play them is more limited than ever. Players want to stay engaged and immersed in the video games that they play, from start to finish. However, these players often have questions about the game that they are playing, and to get answers to these questions, they have to leave the game and engage with third party sites. This is because in-game states and video game activities are not aggregated and analyzed across video games and video game players. It would be a colossal amount of work for a game developer to implement all the features necessary to provide the player help with the game and to reduce player frustration within the context of a single game. Therefore, a data model and developer-friendly API is needed to support multiple players and gaming environments across a uniform data platform.

Moreover, players can get overwhelmed with the many available activities that modern games (including open-world games and closed-world games) offer in the flow of a game ("game flow"). Due to the large number of options provided in such games, much of a player's scarce console time is spent choosing what to do next in the game. In the worst case scenario, choice paralysis can cause player churn, in which a player stops playing the game. Additionally, players can often turn down an opportunity to play games if they have limited playtime available (e.g., less than two hours) as they may not have confidence that they can complete a meaningful in-game activity in that available playtime.

For example, players struggle to predict how long it will take to get back into a narrative-rich game. Those players may wait until they have a larger available amount of time to play, but such time slots may be few and far between. In the meantime, players lose focus of where in the narrative they were, what activities they were in the middle of, etc., which further exacerbates the difficulty to get back into the game. This problem is compounded by the multiplicity of other forms of entertainment that have fixed durations or only require a player to have a short attention span.

Thus, there is a long-felt need for a system that allows players to plan ahead and choose their in-game activity before beginning to play, by reviewing available activities with key contextual information, such as playtime estimates and refresher information, needed to make a selection before playing.

Unified activity modules represent relevant available activities that the user may engage with. For example, a unified activity module may represent a single-player level or quest that is available or in progress, a multiplayer mode, an active multiplayer match, a trophy, or other available in-game event. A unified activity module includes a description, a location, an estimated duration of time (i.e. estimated playtime), rewards for completing the activity, a progress indicator or any combination thereof. The estimated duration of time may be an approximation of how long the particular activity will take the user to complete. The estimated duration of time may be based on statistical information from the completion time of other users, completion time of the user for other activities, user self-identification of skill and thoroughness, etc. The unified activity module may also include a suggestion as to whether the user should start the activity now or wait until achieving a higher readiness later, based at least in part upon an estimated success rate.

The user interface may present a plurality of unified activity modules, organized by progress, location, rewards, or time remaining (for activities with a set available time window). The particular unified activity modules presented to a user may be based on contextual information, such as proximity to a virtual location of the user's character, amount of progression towards completing the activity, friend completion or availability status on the activity (including the friend's outcome on the activity such as a score, completion time, character(s) used, difficulty setting, etc.), friend challenges, an estimated playtime, a duration in which the activity is available, or other suitable information.

An application focused on spoiler-free assistance with games, that is aware of the user's context in a game and can hint at next steps:

Remote Networked Services for Providing Contextual Game Guidance - Sony Interactive Entertainment LLC

<div p-id="p-0001">Computer-implemented systems and methods for providing contextual game guidance are described herein. An example method includes determining based on contextual information regardin

Moreover, players (users) can get stuck on games when they are unable to complete their immediate objective, which can lead to frustration and eventual churn from the game, and potentially, from the game platform as well. Traditionally, players may search for text and video walkthroughs though online websites, but this process has several pain points. In particular, searching online requires a player to put down the game controller to switch to another device, such as a phone, tablet, or laptop, and it requires multi-tasking between at least two screens (e.g., the video game on a TV screen and information associated with the video game on another screen). Moreover, it is not always obvious to the player what to search. Searching online for answers also requires the player to scan the resulting guide for the specific help that the player needs (which may be buried in a longer walkthrough or video), and it poses the risk of exposing the player to spoilers. Online results may be poorly written, inaccurate, out-of-date, or not relevant to the player's specific inquiry or in-game situation. Conventionally, help is not always easily available for brand new games, or for much older games or niche games, and help guides do not always have the same context as the player with respect to character builds, stats, weapons, loadout, or difficulty setting. Unfortunately, the player spends increasing amounts of time searching online for answers, instead of playing the game.

Thus, there is a long-felt need for an always-available, on-demand, spoiler-free system that provides highly contextual hints, guidance and solutions based on the player's specific in-game situation, to allow the player to quickly and painlessly try out better approaches and make progress in the game.

Another application on spoiler blocking in the context of a system like this - the system tracks what the user has been exposed to in games (activities, characters, plot points etc), and can block community content that surfaces things the user has not yet been exposed to, allowing a user override. The patent itself describes it as 'like' the hidden trophy system on PS4, but seemingly, on steroids across the kinds of metadata and user created content a system might provide to the user:

CROSS-PLATFORM SPOILER BLOCK SERVICE - Sony Interactive Entertainment LLC

<div p-id="p-0001">Computer implemented systems and methods for cross-platform spoiler blocking are provided herein. An example method includes ascertaining by a data platform data potentially availab

A spoiler is a description of an important plot development in a video game which, if previously known, may reduce surprise or suspense for a first-time player. Exposure to spoilers can decrease the quality of the overall gaming experience for a player, and can even make the player lose interest in playing the game. Avoiding spoilers is of paramount importance to players of narrative-driven games. Spoilers can prevent such players from deeply engaging in the gaming community until those players have completed the game, limiting their engagement level with that community.

Moreover, spoilers are one of the biggest concerns for players of single-player and co-op player vs. environment (PvE) style games when engaging socially around those games with their friends or the broader gaming community (e.g., through discussions, walkthroughs, and so forth). This fear can prevent players from engaging in community-building social behaviors, which may result in a significant loss of engagement with the gaming platform for those users.

Given the length of the inventor list on some of these, they look related to relatively big-team projects rather than ad hoc r&d.
 

Midas

Member
Oct 27, 2017
5,537
I really hope we'll get some nice feature directly on launch and not with a system update a year later. But everything is built MVP these days.
 

Mubrik_

Member
Dec 7, 2017
2,727
The unified data platform sounds very interesting if actually implemented properly.

Being able to track the duration an activity, level or event might take before actually starting the game will be quite useful for people with not much time to spare
 

gofreak

Member
Oct 26, 2017
7,739
Sounds like the game task and achievement progress bars you have on the Xbox dash.

Parts sound a little like that, yeah, but on steroids.

But that is a cautionary tale on the need for developer engagement.

If these 'activity modules' or tiles actually become the common/popular entry points into games, the incentive may be high for devs to integrate fully and consistently.
 
Last edited:

DieH@rd

Member
Oct 26, 2017
10,591
The unified data platform sounds very interesting if actually implemented properly.
Yeah.

Providing an estimated playtime for individual activities sounds very ambitious. Hopefully devs will be able to just put tags on start/end of their ingame activities, and the system will capture the playtime data from early testers. The game knowing the position of the player and locations of nearby activities is also wild [this is used for not only activity overview, but also that in-game help/walkthrough service].