In a talk given as part of Microsoft's Developer Day at Game Developers Conference Europe 2005, Andre Vrignaud, part of the Xbox Platform Strategy Group, delivered an interesting lecture designed to explain to game developers exactly how many of the new features of Microsoft's Xbox 360 next-generation console would interface with their games.
And, in explaining what developers what and would not need to do to satisfy technical requirements, Vrignaud also revealed a great deal of Microsoft's philosophy on what the next-gen console should and should not do, notably showing a desire to remove a great deal more of the fiddly, difficult to satisfy official technical certification requirements (TCRs) in the Xbox 360.
Dashing Through The Guide
Starting out, Vrignaud presented an overview of the Xbox 360 Dashboard and Guide, which collectively handle configuration and device management, as well as handling many common game tasks, including Xbox Live friend displays, save game/item storage, and so on, as well as new Xbox 360 features including the comprehensive gamer profile, game-specific achievements, and so on.
However, he was eager to differentiate between the Dashboard functionality, which runs on boot-up as a separate application, like on Xbox, and the Xbox 360 Guide. In the Dashboard, players who have not booted a game can alter master audio and video configuration, manage their storage devices (such as hard disc and memory unit), adjust peripherals such as the Xbox 360 camera, which was indicated as arriving in 2006, and also keep a master player profile with basic, overarching options - Vrignaud commented further on this later in the lecture.
In contrast, the Xbox 360 Guide program runs concurrently with all games, and a player can press the 'Guide' button in the center of his Xbox 360 gamepad at any time. The guide will then slide in from the left. Whereas the Dashboard covers more general options, the Guide covers player sign-in and sign-out to Xbox Live, viewing of a player's friends list, including gamercards, achievements, a chance to see a recent players list, incorporating feedback and reviews, and a message center which has game invites and friend requests. It also handles system notifications for events such as controller removal, music playback, storage device enumeration, access to the top menu for the downloadable content Marketplace, the ability to 1:1 voice chat to anyone on your friends list, access to a virtual keyboard, and finally, deals with system-specific error messages.
In sketching out this comprehensive list, Vrignaud was keen to point out that, by having the Xbox 360 Guide, a Microsoft-created application, available at all times, a great deal of work is cut out for potential Xbox 360 developers. In contrast, he noted, on the Xbox development teams had to code a notable amount of Xbox Live-specific work, for example with regard to the friends list, as well as deal with common problems to all Xbox games such as memory card access phraseology and checking for controllers being removed. In all, Vrignaud explained, these changes have reduced TCRs by about two-thirds for the Xbox 360.
Later in the lecture, it was also pointed out that the Guide screen can be graphically themed when playing a specific game and having the player switch to a Guide. As well as a 'skin' to make it appear less graphically jarring, there's also the ability for the game to set a banner (effectively similar to a website banner ad) that appears on the Guide screen, and can promote a certain piece of content such as downloadable Marketplace content or tournament promotions. When the player selects the banner, he can either click on it or select other options using left and right movement, meaning that careful banner design can include multiple different eventualities.
Profiling The X360
With this, Vrignaud went on to discuss in more detail the Xbox 360 player profile, which applies to all eventualities, offline and online, Player-specific data kept in this individual profile includes preferred game settings, the user's Xbox Live user ID, guide options, game language, and access privileges restricting games by age rating or restricting some online chat capabilities - Microsoft are keen to give parents the opportunity to control what a child Xbox 360 user might be able to access, since potentially harmful options such as voice and eventually video chat will be made available for the console.
As well as these more general options, one of the most interesting elements of the Xbox 360 player profile is its title-specific data, which is created and managed by an individual game, and includes achievements, in which the game decides what in-game elements are worth rewarding, as well as points allocated for completing each achievement. These achievements will be viewable on the player's own machine, but also over Xbox Live and on the Web, and those playing will be able to compare achievements with their friends.
There will be a minimum of 5 'achievements' per game title, set by the creators of that game, but if desired, the developer can set up to 50 achievements. Since a gamer will have an overall cumulative score over all the games that he plays, each achievement can have a score associated with it, up to a total of 1,000 points for the game. He told attendees that Xbox 360 developers can also hold back points from the 1,000 total if they want to associate some with downloadable content or updates, but those points must be tied to accomplishments within the updates - it's not possible to simply give people points for buying extra content! Developers will use part of a special XLAST (Xbox Authoring and Submissions Tool) program to define the achievements and make sure the right achievement and point flags are passed to Microsoft.
In addition, Vrignaud also noted that the default Xbox 360 setting was for a default profile signed in at the console's boot, but players can roam with their profile, most easily by taking a memory unit or removable hard drive to a friend's house. The concept of a universal profile for offline and online gameplay does mean that developers will need to monitor a little more carefully, however, since players can press the Guide button. at any time Under these circumstances, the game needs to be aware of the possibility that the gamer might sign out of his profile at any point during gameplay. In a best-case scenario, it was suggested, perhaps the game could be adjusted accordingly, working out the new number and state of players if in a multiplayer conflict. But in worst-case scenarios, especially if the player is hosting a multiplayer game, the title may need to return to the main game menu and cease its current hosting.
Finally, Vrignaud explained the broad, optional settings attached to a gamer profile which all games will monitor. These include difficulty levels, Y-axis inversion setting, preferred car transmission type (automatic or manual), and a handful of other extremely common game settings. There is then a requirement that game, on its first boot, checks those optional settings, so if the player always uses FPSes with inverted controls, he will never have to reset it in individual game cases - a welcome innovation for many.
Pay Attention, Game!
In the next section of the discussion, Vrignaud informed on exactly what game developers would have to worry about when interfacing with the memory-resident Xbox 360 Guide and low-level functionality. For a start, the system informs the game of relevant events, somewhat like Windows messages, but the game can process notifications in the game loop, and can decide what to do with them, in some cases.
However, many messages need to be communicated directly to the player - for example, online invitations to play, or controller removal. However, to stop the pop-up message potentially completely blocking gameplay, the game is permitted to adjust the screen position that the message pops up into, by picking a location in a 3x3 grid making up the screen - top right, bottom left, middle right, or so on. In addition, the game can delay notifications during cutscenes for up to 2 minutes, under special circumstances, so as to not break up the game's immersiveness excessively.
Vrignaud also revealed that, if an invitation to play another game was accepted, this can happen at game startup for cross-game invites - in other words, if you were playing Game X, and you get an invitation to play Game Y and boot that game up instead, you don't have to accept the invitation again on booting Game Y - a good move for ease of use.
Friend Or Foe?
Following this, some discussion was entered into regarding the invite and player/friend multiplayer-related aspects of Xbox Live 360. In particular, it was noted that the guide includes sections for a friend list, friend requests, and game invites - a game will receive accepted invitations as system notifications, as mentioned previously.
In the Xbox 360's online modes, the Guide makes a clear distinction between friends (who the user will have specifically added), and players (which the user can also see lists of, as maintained by guide, but are not given friend privileges.) Interestingly, Xbox 360 users who play games online must be able to directly submit feedback on players after a session - Vrignaud noted that this feedback/review system very important for effective matchmaking, and will help give all players a better idea of who to play if they're not already friends with them.
An additional help inter-related to this is the fact that, when playing against other gamers on Xbox Live for the 360, players will be able to self-rate themselves as one of four main user types, including 'Competitive' and 'Social', so even when picking random opponents, Xbox 360 Live will be able to choose from other gamers who want broadly similar types of foes, from the hardcore to the casual. In all multiplayer games, there will be 4 required modes that branch out from this, as follows: Quick: profile match; Quick: ranked match; Optimatch: profile match; Optimatch: ranked match. Obviously, the Optimatch-related profiles will take advantage of this matching by 'play style'.
One final point on interactions with friends and the network - each game can have one or two game-specific 'verbs', which are inserted into the list of actions you can do a particular friend, and help with custom actions when you're playing that game. These 'verbs' are only available when playing that game, are set by that game, appear within the Guide, and could encompass options such as 'invite to clan' for MMO titles.
On Rich Presence
Toward the end of his talk, Vrignaud spoke a little on Microsoft's concept of 'rich presence' for the Xbox 360, in terms of the player's status being displayed to everyone on the Xbox Live network. Obviously, IM software can have a number of complex states apart from a user simply being offline and online, and Microsoft is keen to give the idea that all players are part of a living, breathing network by broadcasting more information on their whereabouts.
To this end, obvious information about the current/last-known status of player will be available to all and displayed on friends list, notifications, and on the Xbox.com website. Some portions of this will be automatically maintained by Microsoft, including online status, current game being played, and the time that the user was last seen playing. However, some portions require work in-game by developers, with strings to be defined by the game creators in the XLAST tool.
This is particularly interesting because even single-player games may feed information on the state of play up to the network, should they desire (and if the Xbox 360's Ethernet connection is plugged in). So, with 2 lines of 22 characters each, developers can present a succinct state of the game to external sources - the example given was for a baseball game: 'Red vs. Cubs, 5-3, Bottom 8th'.
Vrignaud suggested that this could become a great advertisement for the game, and urged developers to consider details including level names, creature names, special mode names and other teasers to get other players intrigued about the game that their friend was playing.
Shopping In The Marketplace
Next, the lecture discussed Marketplace, which is essentially the player's download shop and manager for additional content. Vrignaud explained that, when people started selling content for the first version of the Xbox, it was easy to do simply using a program called Downloader, but didn't present much of a sophisticated shopfront, and the low scale and other difficulties meant games couldn't really charge much under $5 for new content.
However, the Xbox 360 Marketplace is clearly designed to deal with massive amount of items, and those that cost much less than $5. It was explained that an Xbox 360 game can determine the total number of content items. You see just that game's marketplace if you enter it from that particular game - so there won't be a mass of extraneous things to buy unrelated to the title you're currently playing. But if you enter the Marketplace from the Xbox 360 Dashboard, you can see demos, trailers, downloadable Arcade titles, and the full gamut of shops with digital content to purchase.
Compulsory Game Features?
Finally, Vrignaud touched a little on some of the necessities for developers creating for the next-gen Xbox. He noted the compulsory requirement that all Xbox 360 titles must be 720p (1280 x 720) or above, and must also feature16.9 (widescreen) modes, as well as anti-aliasing (2x, 4x, or software based). He also noted a minimum 15 frames per second requirement at all times, partly in order for Microsoft-authored features such as the Guide to function properly.
Touching on Xbox 360 storage, it was pointed out that the storage medium is abstracted, so games will need to chose between multiple resources, but it shouldn't necessarily presume what that resource is. Nestled in here was perhaps a hint that Microsoft may eventually have a network-resident Xbox Live storage unit to store Xbox 360-related data, but all that is currently being said is that the system "automatically handles future devices".
In addition, it was pointed out that the Xbox 360 music player allows players to choose their own music, effectively a 'free' jukebox for all games, and supporting the music player is compulsory. Game developers will need to flag background music with XACT or XAudio, and it will be removed and replaced with music stored elsewhere if gamers choose that option. Vrignaud acknowledged that many soundtracks are extremely game-specific, but indicated that Microsoft wanted to give gamers choice - he pointed out that they could turn down the volume and play music from another audio source if they wanted to anyhow, and this was a more elegant solution.
There will also be high-score and other ranked leaderboards for every title on Xbox 360 - the statistics have been designed to be displayed on web, so it's easier for publishers to display them on their own site with nifty syndication methods. Here, the speaker pointed out that developers can now call the write function as often as you want for writing scores/info to the network, but the actual write takes place at the end of the session - apparently this had been a possible issue with Xbox Live titles in the past.
Voice is required for all multiplayer titles on Xbox 360, but this is not significantly different from Xbox rules. However, '1-1 Quick Chat' options are also available in the Guide, and so developers need to reserve 8kb/s up/down bandwidth for these conversations, which take place separately of any voice going on in the current multiplayer game. The 'Quick Chat' option will automatically mute other in-game voice. On the subject of muting, it was also noted that players can mute others in recent player list, and mute is persistent across titles in Xbox 360, so any annoying players can't hound you in different games. Each Xbox 360 multiplayer game needs to query against the mute list, and is notified when the list changes.
When ending the talk, Vrignaud also took a couple of questions from the audience on esoteric topics, revealing that, though the Xbox 360 has a virtual keyboard, it does also support USB keyboards. More interestingly, a question from an audience member on the security for Xbox 360 in terms of 'mod chips' and other devices that modify for imported/illegal content prompted a reply that Microsoft took 2 and a half years on security this time round, whereas the Xbox only had around a year. Vrignaud prompted: "Never say never", but he thinks it's going to be a long time before the Xbox 360 gets modded.
All in all, this talk was most illuminating, both for developers considering working on the Xbox 360 and those simply wanting to know a little bit more about how its relatively revolutionary online console connectivity will work, and it's clear that, with the amount of effort Microsoft has put into this system, it's built a formidable base for future expansion.