Skip navigation.

Report from GameFest 2008 – Microsoft Casual Games

The keynote address in the morning was not very good. However it did show a diagnostic tool that can be run in real time with your game. It records the frame states of your game and you can play through them on a graphical interface to see where you get spikes in graphic, sound, etc processing. The example they showed was of Gears Of War. The presenter ran through about 1 minute of play with no lag. Then he pulled up the tool and could see the same play and it’s graph at the same time. Very impressive and it didn’t slow the game down at all.
The rest of the track was focused on Casual Games. It consisted of 6 topics.

“Taking Xbox LIVE Arcade Games to the Next Level”

  • Add what the trial experience will be like to your design document before you begin coding.  Too many people wait until after the game is finished before thinking about it.
  • They mentioned the 4 winners of the Xbox Live development contest. And they also mentioned Shuggy (which I believe had graphics from Daydream).
  • Xbox Live doesn’t have any games with a time trial. Most of them allow you to play one level. They aren’t opposed to it; it’s just that no developers have implemented it that way.
  • On some games they report that people play the demo over and over many, many times without ever buying them. That’s why they recommend working on the trial experience before development begins.
  • They don’t allow users to play multiplayer on the trial versions, but they make it clear those options are available, just locked until you pay.

 “Life Cycle of Casual Games”

  • They find that multiplayer games with a community have a wider tail with regards to sales.
  • Also web versions of games help drive sales. Now MSN offers revenue sharing on ads. However it didn’t seem like that much.
  • All games should be:
    • Easy to learn
    • Can be minimized
    • Can be “muted” if necessary( these seem to be related to their numbers on how many people play at work. LOTS!)
  • The question was asked as to the best time of the year to release a game. The response was that they find a very small spike at Christmas time, but nothing else noticeable.

“The Top Ten Things You Need to Know About Privacy

Why ?

  1. Keeps you out of hot water.
  2. Differentiates you with competitors
  3. Unblocks product deployments for MS at least. Some governments don’t like privacy data being sent.

1/3 of customers say they don’t buy software that sends privacy data. (cited source)

  • Have an internal policy that says what you will do with the email address.
  • Data classifications:
    • Anonymous
    • Pseudonymous – don’t individually know who that person is. The person in seat 7F.
    • Personally identifiable – Pseudonymous data that is now identifiable.
    • Data about children
    • Sensitive personal information
  • Primary Use – To enter a competition
  • Secondary Use – Using that data for another purpose. Usually requires an opt out for the user.

PII(Personally Identifiable Information)

  • Name first and last
  • Address
  • Phone/fax/cell numbers
  • Email Address

Sensitive( don’t collect this)

  • Race
  • Financial Information
  • Medical Information
  • Sexual/Political Preference
  • Government issued ID

Where possible strong type cast your entry fields so people don’t enter PII by accident. Also keeps data neat.
COPPA – Children’s Online Privacy Protection Act. Children under 13 must have parent/guardians consent before you can collect data on them
The Ten Commandments

  1. Accountability – Do you do what you say in your policies?
  2. Notice <-Important. Give notice before you ask for the data as to what it will be used for. Provide opt out mechanism.
  3. Collection – Only collect what you need. Primary data can be implied opt in. However Secondary data must require explicit opt-in.  Don’t use persistent cookies.
  4. Choice/consent <- Important Users should have to hit “Accept” or “Submit”. Do not “Phone Home”. Let the users know it’s optional if it is.
  5. Use and retention – Destroy the data when you don’t need it any more. Don’t collect what you won’t need. Treat it like toxic waste. Greek the phone numbers (206) 545 –XXXX.
  6. Disclosure – Have a privacy policy. Don’t use live customer data in your data center.
  7. Quality- Have an obligation to make sure the data is accurate.
  8. Access- Users should be able to update the PII. How do they clear it?
  9. Security- You must secure the privacy of the information. Encryption, SSL, etc.
  10. Monitoring/Enforcement – Mechanisms in place for Policies, training, Process, Audits. Do you have a way for them to contact you if they believe there’s been a breach?

Truste is an organization (non-profit) that works with people to improve privacy on sites.

 “Integration APIs for MSN Site and Messenger Games”

Features:

  • Badges and stas
  • Game Controls(mute, pause)
  • Game installation
  • Advertising

Allows for the platform to tell the game when to continue and for the game to send messages back to the platform to put in adds at specified break points in the game. They can also force a game break if there hasn’t been one in a long time.
CustomEvents and CustomReturns can be used for ingame upsells and other hooks.
Scores can be sent by ScoreBroadCast and ScoreSubmit API commands.
GameEnd command tells the platform to display the badges the player has won and presents the upsell message.
Can be called from Flash, ActiveX. Silverlight was greyed out. Don’t know why.
Announced RAPID 2.0 changes:

  • Integrated with IIS
  • Updated documentation
  • Introduced a patching utility that allows you to wrap the game into a single install.
  • Captures all the API calls so you can see how they work in the platform.
  • Allows you to set the genre of the game, game description, and other data for the site production staff to figure out where to place the game. Also you can set the levels for the badges.

Messenger Games API

  • Fuzz Test – Hits your client to see if they can handle bad data being sent across the network.
  • Can test two clients in the same window.

Gotchas

  • Suspend sounds during GameBreak, Pause, GameEnd, or Mute.
  • Make sure that the game client is reset after GameEnd is called
  • Do not assume recourse are it the same directory as the page
  • Don’t assume things load instantly. Many people have low performing machines
  • mcg@microsoft.com to get the GDK
  • www.microsoftcasualgames.com for information

 

“Building Games with Silverlight”

They started by playing a few games from Miniclip and other sites including Tunnel Trouble, Zombomatic, Dr. Popper., and Zero Gravity.
Silverlight MVPs were here to answer any questions about the session.
Overview of Silverlight:

  • Cross browser
  • Cross patform
  • Browser plugin
  • .Net(C#, VB, Ruby, Python, Javascript)

XAML – eXtensibleAplication Markup Language. Separation of Code from XAML.
Two Tools:

  • Visual Studio – Code, Compile, Debug.
  • Expression Studio - Design, States, Vector

Demoed Zombomatic – Silverlight 1.0 development
Written in XAML with Javascript.
Zero Gravity – Silverlight
Written in C# and .NET. Uses tiles created InDesign an Blend.
Tunnel Trouble –
Large tile game.
Dr. Popper –
Written in XNA and then into Silverlight 1 and 2.
Has network high scores.
Scaling to full screen is handled automatically. No special code needed.
Stack Attack (like Klax)
Written in a few eventings
Written for the RIA Run game contest.
Board Composition
Vector graphics used.
Collision detection is done on different layers, so it can ignore tiles on another layer.
The board stays stationary and the players view moves around the screen to create a scrolling effect.
In XAML they can set keyframes and transformations on objects. They can set the time it takes to do these transformations as well.
These transformations are then wrapped into “storyboards”. These can be called as needed in the game.
Transformations can be procedurally done as well as in the XAML.
Performance:

  1. Powerful CLR
  2. Not Compact Framework, has same GC as full .NET framework. Includes garbage collection.
  3. Can do heavy duty calculations client side, including physics.
  4. Troubleshoot render performance with EnableRedrawRegions.

You can also take advantage of some of the XNA game libraries with Silverlight.
Things to think about when making a Silverlight and XNA Game at the same time.

  • Avoid Vector Graphics
  • Wrap differences
  • Add as link for common files
  • Update/Draw vs Add and Forget

The code they showed was able to compile for Silverlight, XNA and the Zune.
Animation Techniques:

  • Silverlight can only modify the value of a property over an interval of time.
  • Two approaches: Stack a series of frames or use a Canvas Clip.

Links:
Game Contest with $2000 in prizes:
www.teamzonesports.com/home/silverlightgamecontest
www.Silverlight.net  is the tools site.
www.Silverlightgames101.net

“Game Programming with Silverlight 2”

Silverlight supports IE, Firefox and Safari.
Use Visual Studio 2008.
Recommend using “add a new web to the solution for hosting the control” when you create the project solution.(default)
Main GameLoops should be executed as a Storyboard.

Fireball was a game that you can learn about on this blog.
The blog can be found here:
http://Timheuer.com/blog
www.slilverlight.net/blogs/msnow