Developing Web-Based Games For MSN Games
Developing Web-Based Games For MSN Games
Developing Web-Based Games For MSN Games
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Developing</strong> <strong>Web</strong>-<strong>Based</strong><br />
<strong>Games</strong> for <strong>MSN</strong> <strong>Games</strong><br />
Rocco Crea<br />
Development Lead<br />
<strong>MSN</strong> <strong>Games</strong><br />
August 14-15 2006
Who Is <strong>MSN</strong> <strong>Games</strong>?<br />
One of the largest gaming sites on the<br />
internet<br />
<strong>MSN</strong>’s premier game channel<br />
Over 6 million unique users per month<br />
August 14-15 2006
<strong>Games</strong> on <strong>MSN</strong><br />
Free Online<br />
Downloads<br />
Multiplayer<br />
Windows XP<br />
<strong>Web</strong> PC<br />
Subscriptions<br />
Skill-based Gaming<br />
August 14-15 2006
Key Features of <strong>MSN</strong> <strong>Games</strong><br />
Seamless integration into <strong>MSN</strong> <strong>Games</strong><br />
portal<br />
Game promotion across <strong>MSN</strong> network<br />
Custom <strong>MSN</strong> Badges<br />
Custom Content Articles<br />
Installer Support<br />
August 14-15 2006
<strong>Web</strong> <strong>Games</strong> Client<br />
Requirements<br />
Standard Game Resolution : 425 x 350<br />
Game Maximum Resolution : 600 x 400<br />
Client Requirements<br />
Pentium II 450<br />
VGA 800x600<br />
IE 6.0+, <strong>MSN</strong> Explorer 9+<br />
August 14-15 2006
Supported Client Technologies<br />
Flash 7+<br />
Easier to implement<br />
Macromedia Flash engine already installed on<br />
most client boxes<br />
However, beware of heavy math operations<br />
ActiveX<br />
Allows fuller control and access to Win32 APIs<br />
However, harder to implement<br />
User needs elevated rights to install<br />
August 14-15 2006
What Is Our Framework?<br />
Game Player<br />
Script API<br />
Proxy Script API<br />
Game Client<br />
August 14-15 2006
Timeline<br />
Game<br />
Platform<br />
August 14-15 2006
Session What?<br />
SessionReady<br />
Game client tells the game player that it<br />
is ready to go<br />
SessionStart<br />
Game player tells the client to show any<br />
“pregame” branding<br />
Why?<br />
Allows developer to show any pregame<br />
animations and logos<br />
August 14-15 2006
Game On!<br />
GameReady<br />
Game tells framework “I’m<br />
ready to play a game”<br />
GameStart<br />
Framework tells the game to<br />
start the game<br />
Why?<br />
Allows for a seamless startup<br />
gameplay<br />
August 14-15 2006
Score<br />
ScoreBroadcast<br />
Allows the user to quit the game and still<br />
receive a score or badge<br />
Can have custom information such as enemies<br />
killed or levels completed<br />
ScoreSubmit<br />
Submits the final score for the user’s<br />
gameplay<br />
August 14-15 2006
Badges<br />
Badges<br />
Reward that users can chase<br />
Drives replay<br />
Not same as Achievements<br />
Achievements are skill-driven<br />
Badges are “souvenirs”<br />
10 badge levels per game<br />
that are all customized<br />
Special promotional badges<br />
available<br />
August 14-15 2006
Break Time!<br />
GameBreak<br />
The game client tells the player that we are<br />
between levels or natural breaks in the game<br />
play, and that the gameplay is suspended<br />
GameContinue<br />
Framework tells the game client to continue<br />
playing<br />
August 14-15 2006
Game Over!<br />
GameEnd<br />
The game tells the player that the current<br />
game is over<br />
Why?<br />
Allows the player to show any badges that the<br />
user has won<br />
Presents the user with up-sells<br />
Allows the user to play again<br />
August 14-15 2006
Play It Again, Sam<br />
GameStart<br />
If the user decides to play the game again,<br />
the framework will call into the client with<br />
GameStart, which should restart the game<br />
What this means:<br />
Once the game has called GameEnd, it should<br />
“reset” itself so that its ready to start<br />
gameplay all over again<br />
August 14-15 2006
You Want to What?<br />
CustomEvent<br />
Call out from the game client to the player<br />
that something special has happened<br />
CustomReturn<br />
Return call from the player to the client<br />
acknowledging the event and that it has been<br />
processed<br />
August 14-15 2006
Pachinko!<br />
Integration Test Tool<br />
Allows developers to test that the <strong>MSN</strong> API<br />
is correctly implemented<br />
It does not:<br />
Verify client requirements<br />
Doesn't test gameplay<br />
August 14-15 2006
Gotcha!<br />
Sounds<br />
Don’t play until SessionStart is called<br />
Suspend sound during:<br />
Replay<br />
GameBreak<br />
Pause<br />
GameEnd<br />
Mute<br />
Make sure that the game client is reset<br />
after GameEnd is called<br />
Resource Paths<br />
Do not assume resources are in the same<br />
directory as the page<br />
August 14-15 2006
Watch Out!<br />
Security<br />
Verify that the game plays under different IE<br />
security models<br />
Vista / IE7<br />
Vista and IE7 have stricter security models,<br />
so be aware<br />
August 14-15 2006
Getting your Game on <strong>MSN</strong><br />
Download games<br />
Distributed through Oberon Media<br />
<strong>Web</strong> games drive additional download sales<br />
<strong>Web</strong> game API available through Oberon<br />
developer program, or soon via Microsoft<br />
Subscription offering (GameSpring)<br />
Distributed through Real Networks<br />
Custom games<br />
Some games are special deals with<br />
Microsoft Casual <strong>Games</strong><br />
Developer Inquiries<br />
Email : mcg@microsoft.com<br />
August 14-15 2006
DirectX Developer Center<br />
http://msdn.microsoft.com/directx<br />
Game Development MSDN <strong>For</strong>ums<br />
http://forums.microsoft.com/msdn<br />
Xbox 360 Central<br />
http://xds.xbox.com/<br />
XNA <strong>Web</strong> site<br />
http://www.microsoft.com/xna<br />
© 2006 Microsoft Corporation. All rights reserved.<br />
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.