- Marketing Tips: Get your app or game noticed
This is a collection of tips from developers in the community, on marketing your app or game.
- Get to Windows Phone 7.5 #1: From XNA to SLXNA
Our first video is about taking an existing xna game, and modifying it to leverage our new silverlight / xna integration enabled by windows phone sdk 7.1
- Get Windows Phone 7.5 #2: Adding FAS to XNA
This is the second in a series of videos that will detail how to add windows phone sdk 7.1 functionality to an existing windows phone application, step by step
- Get to Windows Phone 7.5 #3: Adding FAS to a Typical Silverlight Application
This is the third in a series of videos that will detail how to add windows phone sdk 7.1 functionality to an existing windows phone application, step by step.
- Get to Windows Phone 7.5 #4: Adding Secondary Tiles
This is the fourth in a series of videos that will detail how to enable the user to configure more than one live tile for you application.
- Get to Windows Phone 7.5 #5: Adding Background Agents
This is the fifth in a series of videos that shows how a developer can use Background Agents to empower their application to run code in the "background" regardless of whether or not the application is running.
- Get to Windows Phone 7.5 #6: Using a Live Camera Feed This is the sixth series of videos that will detail how to add windows phone sdk 7.1 functionality to an existing windows phone application, step by step.
- Get to Windows Phone 7.5 #7: Using Push Notifications with Secondary Tiles and Deep Toast
This is the seventh in a series of videos that will detail how to add windows phone skd 7.1 functionality to an existing windows phone application, step by step.
- Get to Windows Phone 7.5 #8: Using a Local Database
This is the eighth in a series of videos that shows you how you might take an existing application that would benefit from a database, and modify it to take advantage of one.
- Get to Windows Phone 7.5 # 9: Background Audio
This is the final video in a series of videos that shows you how to take a Windows Phone 7 music application and modify it to leverage the new background audio functionality.
- Fast Application Switching: Implications for Xbox Live Titles on Windows Phone Operating System 7.1 ("Mango") This technical article covers some of the most common questions around FAS, and how it affects development for interactive entertainment titles.
- PEGI Express Rating Tool Information Pegi express is the name of a newly developed version of pegi (pan european game information) rating system that allows games for windows phone to get an age rating.
- Compiled (XNB) Content Format
This article documents the format of the compiled data files (.xnb) produced by the xna game studio 4.0 content pipeline build process.
- Windows Phone Localization for Games
This document provides a step-by-step guide and recommended practices to ensure a windows phone game project made in xna game studio is localizable.
- XNA Game Studio or Silverlight: Which Product is Right for Me? (Updated for Mango) This article will help developers make an informed decision when choosing between the two.
- Game State Management (Mango, C# / VB)
This sample shows how to manage the transitions among menus and gameplay states.
- Silverlight XNA Game Components (Mango, C# / VB)
This sample provides an implementation and demonstration of a game component system for use in games leveraging silverlight and the xna framework.
- Paddle Battle (Mango, C# / VB)
This sample shows a very basic game written on top of the new silverlight/ xna framework application model.
- Model Viewer Demo (Mango)
This sample showcases a complex application built on top of the integrated silverlight / xna framework application model.
- Visual Basic Support in XNA Game Studio (Mango)
This document provides basic guidelines about developing games in visual basic with xna game studio 4.0 refresh
- Migration Guide: From the Game Class to Silverlight / XNA (Mango, C# / VB)
This document explains why and how to move your windows phone game to an architecture that integrates silverlight with the xna framework.
- What is New for Games (Mango)
This document aims to call out a few of the changes in windows phone os 7.1 and windows phone developer tools that affect game developers.
- Recipe: Push Notification Server Side Helper for WP7
This library provides an easy way for sending all three kinds of push notification messages currently supported by microsoft push notification services.
This is a complete gesture-based game for windows phone.
- Dynamic Menu
This sample demonstrates how to develop a dynamic user interface, which can be layed out in code or in xml, or a combination of both.
- Bing Maps for Games with Pathfinding
This sample expands on the bing maps sample by using road data to allow a tank to travel to markers while driving on the roads.
- Music Management for Windows Phone 7
This sample implements and demonstrates the usage of background-music-manager, a class that helps your windows phone 7 game play music and reliably respond to external events taht affect music playback.
This is a complete wi-fi supported multiplayer dice game for windows phone.
- Keyboard Input Scope Sample | Windows Phone
You can make it much faster and easier for users to enter data in your applications by changing the on-screen keyboard.
- Model-View-ViewModel (MVVM) Sample | Windows Phone
This sample demonstrates a simple mvvm application that uses xaml binding to connnect the views to the model.
- Translator Starter Kit | Windows Phone
This program enables the user to enter a word or phrase in one language and have it translated into another language.
- Silverlight Sound Sample | Windows Phone
This sample demonstrates how to play multiple sounds simultaneously in a silverlight application for windows phone and shows how to load a wave audio file into a stream that can be played by using the soundeffect classes.
- Custom Model Rigid & Skinned Animations
The custom model rigid and skinned animation sample demonstrates how animations can be imported on rigid models and then played automatically, additionally, this sample demonstrates applying an animation to rigid and skinned models.
- Ship game
This ship game is a complete 3D spaceship combat game.
- HTTP Multiplayer Tic Tac Toe
This sample demonstrates how to create an http multiplayer game for windows phone.
- Bing Maps for Games
This sample demonstrates how to use the bing maps api to load map data into an xna game studio game.
- Multi-Platform Game Training Kit
This training kit expands upon the honeycomb rush lab by bringing the game to the Xbox 360 and Windows.
- Loading Time Reduction for Windows Phone 7 Games
This article describes a variety of ways to reduce loading times on your windows phone 7 games.
- Recipe: Non-Linear Navigation Service for Windows Phone 7
Windows Phone recipes provide you with building blocks that you can use in your own applications to accelerate your development. We created the non-linear navigation services for windows phone in order to give you the ability to simplify and improve how the windows phone back stack works in your application.
- Xbox 360 Performance Best Practices
This article discusses best practices for achieving good performance on xbox 360 for xna game studio games.
- Graphics Profile Checker
This utility provides detailed information about hardware capabilities for xna game studio projects.
- Avatar Shadows
This sample demonstrates how to implement planar shadows for avatar characters to increase visual quality and richness of 3D scenes involving avatars.
- Windows Phone Silverlight Application Life Cycle
This whitepaper discusses the flow of events that occur in your application for common user scenarios, and what actions the developers should perform in each event. This paper references the unit conversion starter kit.
- Unit Converter Starter Kit
This Windows Phone 7 starter kit is a complete unit converter application written in C#. The program enables the user to convert values from one type of unit to another.
- Tombstoning Sample
This sample shows how to restore the visual state of a page and also application data when an application is reactivated after tombstoning.
- Silverlight Microphone Sample
This sample demonstrates how to get audio input from the windows phone microphone in a silverlight application by using the microsoft.xna.framework.audio.microphone class.
- Level Starter Kit
This windows phone 7 starter kit is a complete level application written in C#. The program provides the user with the ability to use their phone as a level.
- Custom Indeterminate Progress Bar
This sample shows you how to create a custom indeterminate progress bar that runs on the compositor thread for better performance.
- User Interface Controls
This sample demonstrates a set of extensible user interface controls that you can drop right into your windows phone 7 game.
- Path Drawing
This sample demonstrates how to translate touch input into a path that can be drawn on-screen and followed by a game object.
- Honecomb Rush Lab
This lab is a complete 2D touch action game for windows phone.
- Tilt Perspective
This sample uses the accelerometer to estimate the orientation of the phone's screen relative to the user's eyes, and renders a 3D scene corrected for that viewport in order to create an illusion of depth.
- Split Screen
This sample demonstrates how to display the same scene in two viewports by using two separate view and project matrices, simulating a two-player game scenario.
- Avoiding the Windows Phone Watchdog
This article gives tips on how to avoid the windows phone watchdog, which seeks out and shuts down unresponsive applications.
- Games for Windows Phone 7 Talks at PDC
Learn more about performance and features in windows phone 7 games with these talks from Microsoft's PDC '10.
- Camera Shake
This sample demonstrates a 3D camera shaking and controller vibration effect.
- Soccer Pitch
This sample demonstrates use of the dualtextured effect for detail map multi-texturing of procedurally generated surface. It also shows multipass rendering and simple shadow rendering by using depth biasing to avoid depth buffer aliasing.
This sample shows how to use the location service on windows phone 7 to store and navigate back to a location.
- Saving Embedded Images
This sample shows how to save an image from a phone application to the phone.
- Memory Madness Lab
The memory madness lab is a complete 2D touch-based memory game for windows phone.
- Best Practices for Windows Phone 7 Games
This article describes a variety of best practices to employ when preparing your windows phone 7 game for submission to windows phone marketplace.
- Tombstoning for Windows Phone 7 Games
This article demonstrates how to handle deactivation events (tombstoning) on windows phone 7 by using xna game studio.
- Shape Rendering
This sample demonstrates a method for adding debug shape rendering functionality to a game.
- Performance Consideration for Windows Phone 7 Games
This article demonstrates techniques of memory management, content loading, and profiling to increase performance of windows phone 7 games.
- Performance Utility
This utility contains three code tools that you can use to debug and optimize your game: a profiler, a frames-per-second counter, and a customizable debug console.
- Performance Measuring Sample
This sample demonstrates using the performance utility to understand the impact of drawing and colliding 3D meshes to game performance.
- Push Notifications
This sample shows how to use push notifications within an xna framework application on windows phone 7 and includes a tool to send text messages.
- Microphone Echo
This sample shows how to capture audio data from a microphone, perform an echo process on it using dynamicsoundeffectinstance, and play it back through the device speakers.
- Marble Maze
This marble maze lab is a complete 3D accelerometer-based game for windows phone 7.
The catapult sample is a quick, addictive game where the goal is to send a pumpkin flying as far as possible.
- Catapult Wars Extension Kit
This training kit expands upon the catapult wars lab with a series of exercises.
- Catapult Wars Lab
The catapult wars lab is a complete 2D gesture-based catapult battle game for windows phone 7.
The orientation sample for windows phone 7 demonstrates locking the screen to landscape or portrait mode.
- Rim Lighting
This sample demonstrates how to implement a rim lighting effect by using the standard graphics effects available on windows phone 7.
Platformer is a self-contained game solution for windows, xbox 360, and windows phone 7 that includes both game code and game assets. The game is a standard 2D platformer with levels, enemies, and collectable gems.
- Sound & Music
This sound and music sample demonstrates the basic of sound and music for games on windows phone 7.
This sample demonstrates how AIs can use algorithms to navigate a map by using three common pathfinding routines.
- 3D Graphics
This sample demonstrates several basic topics in 3D graphics utlization, including how to load a 3D model by using the xna content pipeline, how to manipulate the model, the view and teh lighting, and how to incorporate 2D graphic assets and make them interact with the loaded model.
The gestures article demonstrates the differences in using gestures on windows phone 7 and other major phone platforms
- Intro to C# From Objective-C & Java
This article is an essential guide for developers moving to windows phone 7 and C# from the objective-c or java languages.
- Dynamic Audio
This article demonstrates and describes the new dynamic audio features available in xna game studio 4.0.
- Intro to Game Loop
This article introduces the concept of a game loop as presented by the xna framework app model, and highlight the structure of loop-based game programming in xna game studio 4.0.
This sample shows how to read the accelerometer sensor on windows phone 7.
The bounce sample draws and physically simulates 100 spheres of varying size, mass and weight.
- Touch Thumbsticks
This sample demonstrates a technique for using the touch panel to provide thumbstick-style controls on windows phone 7.
- Stock Effects
Stock effects provides source code for the five effects (basiceffect, skinnedeffect, environmentmapeffect, dualtextureeffect, and alphatesteffect), and the default shader used by spritebatch (spriteeffect).
- Content Manifest Extensions
This sample shows how to build a list of deployed content for your game game to use.
- Touch Gestures
This sample demonstrates how to use touch-based gestures on windows phone 7 by using the xna framework.
- CPU Skinning
This sample shows how to improve performance on windows phone by skinning 3D models on the cpu.
This sample demonstrates collision detection for primitives, including triangles and oriented-bounding boxes.
- Redistributable Font Pack
These opentype fonts, created by ascender corporation and licensed by Microsoft, are free for you to use in your xna game studio game.
- Chase Camera
This sample demonstrates how to create a simple chase camera with spring physics.
- Chase & Evade
Featuring a cat, a mouse, and a tank, this sample demonstrates how to implement several simple behaviors for AI, including chasing, evading, and wandering.
This sample shows how to turn one object to face another. This can be useful for AI that aim at a player.
- Reach Graphics Demo
A sample demonstrating the six built-in graphical effects supported in the reach graphics profile.
- Snow Shovel
Snow shovel is a simple game designed for windows phone 7 that shows how to draw 2D sprites and handle player input by using the accelerometer.
- Inverse Kinematics Sample
This sample demonstrates how to implement the basic cyclic coordinate descent (ccd) inverse kinematics algorithm.
This sample implements a primitivebatch class, which can be used to easily draw points, lines, and triangles on the screen.
- Primitves 3D
This sample provides easy reusable code for drawing basic geometric primitives.
- Sound Lab
A collection of 170 audio files for use in your games and apps, including body hits, ui sounds, and ambient outdoor noises.
- Custom Avatar Animation Sample
This sample shows how to load and process a custom animation for an avatar by using the xna framework content pipeline.
- Avatar Animation Rig
The avatar rig is a model and animation setup for authoring custom avatar animations
- Avatar Animation Pack
This pack includes 21 custom avatar animations.
- Object Placement on Avatar Sample
This sample shows how to draw a model on part of an avatar, in this case, a baseball bat that is placed in the avatar's right hand.
- Avatar Multiple Animations Sample
This sample demonstrates how to play two animations simultaneously on different parts of a single avatar.
- Avatar Animation Blending Sample
This sample shows how to blend two avatar animations together so that they smoothly transition from one animation to the next.
- Avatar Usage Guidelines
Learn the rules about acceptable - and unnacceptable - avatar usage in xbox live indie games.
This space shooter sample includes elements of ai, collision detection, and other features.
- Input Sequence
Learn how to detect sequences of input such as combo moves or cheat codes.
- Safe Area
This sample shows how to make an xna framework game display correctly on a wide range of different televisions.
This sample shows how to localize an xna framework game into multiple languages.
This sample shows how to support invites in a networked xna framework game.
Spacewar is a complete starship combat game. It comes in two versions: retro and evolved.
- Waypoint Navigation
This sample demonstrates basic artificial intelligence navigation in 2D by using waypoints.
This sample demonstrates how AIs can use simple rules to move together and create complex behaviors.
- Shader Series Introduction
This article is an introduction to shader series, a set of samples and articles that allow an intermediate 3D developer to begin to explore the programmable graphics pipeline.
- Shader Series 1: Vertex Lighting
This sample shows one of the most basic uses of shader effects - vertex lighting.
- Shader Series 2: Textures & Colors
This sample shows how to combine texture operations with mathematical color operations to blend colors and achieve interesting lighting effects.
- Shader Series 3: Per-Pixel Lighting
This sample explains how to move lighting calculations to the pixel shader for high-quality per-pixel lighting.
- Shader Series 4: Materials & Multiple Light Sources
This sample is an example of how a developer might combine the techniques leading up to this sample into a usable system for composing a 3D scene.
- Shader Series Coordinate Spaces
This supplemental article outlines the different coordinate spaces that are necessary when creating shaders.
- Shader Series 5: Multipass Lighting
This sample use blend states to add the effects of individual draws to the back buffer, allowing multiple draws to light the same piece of geometry.
- Shadow Mapping
This sample shows you how to implement basic shadow mapping from a directional light, where the view and projection of the shadow map adapt to the viewing frustrum of the viewer's camera.
- SpriteBatch Shader
This utility provides the hlsl source code for the spritebatch shader that comes built into the xna framework, so you can make your own improvements and additions to the sprite drawing processs.
- BasicEffect Shader
This utility provides the hlsl source code for the basiceffect shader that comes built into the xna framework. You can use it to extend the simple 3D transform and lighting capabilities of basiceffect and add your own 3D effects.
Movipa is a puzzle game that demonstrates game features such as non-continuous rendering, asynchronous asset loading, game state saving and loading, multiple gameplay modes and complex scene-description system for layered 2D scenes.
- Role-Playing Game
This sample contains a two-dimensional role-playing game that utilizes a tile engine, complete with character classes, multiple party members, items and quests.
- Fuzzy Logic
This sample shows how AI can use fuzzy logic to make decisions. It also demonstrates a method for organizing different AI behaviors, similar to a state machine.
- Lens Flare
This sample shows you how to implement a lens flare effect by using occlusion queries to detect when the sun is hidden behind the landscape.
- Collision Series 1: 2D Rectangle Collision
This tutorial details several simple techniques for constraining motion and collision detection in two dimensions.
- Collision Series 2: 2D Per-Pixel Collision
This tutorial details how to perform per-pixel collision detection in two dimensions.
- Collision Series 3: 2D Collision with Transformed Objects
This tutorial explains how to perform per-pixel collision detection in two dimensions on sprites that use linear transformations such as rotation or scale.
- Collision Series 4: Collision with a Heightmap
This sample demonstrates how to move objects along a heightmap, useful when creating a game that requires interaction between moving objects and terrain.
- Collision Series 5: Heightmap Collision with Normals
This sample demonstrates how to use information about a heightmap's vertex normals to follow the contour of the terrain.
- WinForms Series 1: Graphic Device
This sample shows you how to use an xna framework graphicsdevice object to display 3D graphics inside a winforms application.
- WinForms Series 2: Content Loading
This sample shows you how to import arbitrary 3D models at runtime by running the content pipeline importers and processors dynamically.
- Sprite Sheet
This sample shows how to implement sprite sheets, combining many separate sprite images into a single larger texture that will be more efficient for graphics hardware.
- Network Prediction
This sample shows how to use prediction and smoothing algorithms to compensate for network lag, making remotely controlled objects appear to move smoothly even when their is a significant delay in packets being delivered over the network.
- Network Lobby & Chat Icons
This set of images is designed for displaying status within a networking game, including voice-chat and readiness.
- Network Game State Management
This sample shows how to implement the user interface for a multiplayer networked game. It provides menus for creating, finding, and joining sessions, a lobby screen, and robust network error handling.
- Network Architecture: Client / Server
This sample implements a simple multiplayer network session, using a client / server network topology where each computer sends its player input to the server, which updates the state of everyone in the session and sends results back to the clients.
- Network Architecture: Peer to Peer
This sample implements a simple multiplayer network session, using a peer-to-peer network topology where each computer is responsible for updating the state of its locally controlled players.
- Net Rumble
Net Rumble is a two-dimensional shooter where up to sixteen players compete online in a death match arena filled with asteroids and power-ups.
- Xbox 360 Controller Buttons
This pack is a set of images that represent the buttons, thumbsticks and triggers on the xbox 360 controller.
- Instanced Model
This sample shows how to efficiently render many copies of the same model, using gpu instancing techniques to reduce the cost of repeated draw calls.
This sample shows how you can apply an effect on any model in your game to shatter it.
- Input Reporter
This tool displays input data for all controllers connected to the system. It supports multiple controller types, including flight sticks, dance pads, and guitars.
- Curve Editor
This tool displays input data for all controllers connected to the system. It supports multiple controller types, including flight sticks, dance pads, and guitars.
This sample demonstrates how to implement a variety of screen-space distortion effects with a general post-processing technique.
- Optimization: Particles & High Frequency Code
This tutorial teaches you how to find and correct performance problems in your game. It highlights solutions to common performance problems on Xbox 360, using a particle system as an example.
- Vector Rumble
The vector rumble sample is a two-dimensional shooter, pitting up to four players against one another in a death match arena filled with asteroids and power-ups.
- Non-Realistic Rendering
This sample shows how to implement stylize, non-photorealistic rendering techniques, such as cartoon shading, edge detection, and a pencil sketch effect.
- Custom Model Class
This sample shows how to go beyond the limits of the standard model class by loading geometry data into an entirely custom class that can be extended more easily to cope with specialized requirements.
- Custom Model Importer
This sample shows how to implement a custom model importer for the xna framework content pipeline.
- Custom Model Effect
This sample shows how custom effects can be applied to a model using the xna framework content pipeline.
This pickture sample is a photo-based puzzle game with a twist: on the more difficult settings, the board is two sided and puzzle chips can be flipped.
This sample shows how to determine whether a player's cursor is over an object and how to find out where on the screen an object it.
- Picking with Triangle Accuracy
This sample extends the picking sample with a more accurate picking algorithm, which tests against individual triangles that make up a mesh.
This sample introduces the concept of a particle system, and shows how to draw particle effects by using spritebatch. Two particle effects are demonstrated: an explosion and a rising plume of smoke.
- Particles Pipeline
This sample builds on the particle 2D sample to allow authoring of particle effects in xml files, which makes creating new particle systems and modifying particle system parameters a much simpler task.
- Particles 3D
This sample shows how to implement a 3D particle system using point sprites. The sample builds on the ideas introduced in the particles sample, showing how those principles can be extended to work in 3D and optimized through the use of shaders.
- Authoring Particle Systems Using XML & the Content Pipeline
This tutorial teaches you how to extend the particle 3D sample so the particle systems are defined by xml files loaded with the xna content pipeline.
- Color Replacement
This sample demonstrates how to render parts of an object with a user-defined color.
- Racing Game
Racing game is a 3D auto racing game that features advanced graphics, audio, and input processing. Race around the track and try to beat the ghost car to achieve the best time.
- Xbox 360 Controller Images
This pack is a set of Xbox 360 controller graphics that you can use in your games.
- 3D Audio
This sample shows how to positions sounds in 3D space by implementing panning, doppler, and distance attenuation effects.
- Bloom Postprocess
This sample shows how to use bloom post-process filters to add a glow effect over the top of an existing scene.
- Data Structures
This article is an introduction to using data structures in games, with several game-specific examples of using data structures, and a quick-reference data structure performance "cheat sheet."
- Normal Mapping
In this example, we apply the normal mapping effect to a mesh, using a custom content processor, add and remove data for each vertex, and do the reading of the opaque data.
- Bitmap Font Maker
This tool converts windows truetype fonts into .bmp files. This enables you to modify the rendered font .bmp file before loading it into your game, including adding effects such as drop shadows.
- Generated Geometry
This sample shows how 3D models can be generated by code during the xna content pipeline build process.
This minjie sample is a puzzle game that challenges you to flip your opponent's pieces to your own color by surrounding them on two sides with your own pieces.
This sample shows how to efficiently render large numbers of billboard sprites, using a vertex shader to perform the billboard computations entirely on the gpu.
Marblets is a puzzle-style game that challenges you to eliminate groups of same-colored bubbles. This sample offers only a few game modes, providing ample opportunity to add your own unique game types and modes.
- Skinned Model
This sample shows how to process and render a skinned character model by using the xna framework content pipeline.
- Skinned Model Extensions Tutorial
This tutorial will teach you how to extend the skinned model sample by directly accessing and manipulating the positions of specific bones to add three new features.
- Simple Animation
This sample shows how to apply simple program rigid body animation to a model rendered using the xna framework.
- Sprite Effects
This sample shows how shaders can be used to implement special effects when drawing 2D graphics with spritebatch.
- Tiled Sprites
This sample shows how to manage data for tiling, animation, visibility determination, and virtualization of a 2D camera.
- Card Game Starter Kit
This starter kit contains a complete blackjack game that incorporates an easily re-usable set of card classes that you can use to build your own card game.
- Robot Game
Robot Game is a 3D robot combat sample. It demonstrates advanced graphics using shaders and post-processing effects, advanced particle systems and 3D positional sound for both single-player and split-screen two-player versus mode.
- XNA FPS Starter Kit
This sample was not actually posted to the XNA App Hub Content Catalog. It's the sample everybody has been wanting! This is a first-person shooter starter kit that allows developers to understand or to develop their own FPS game utilizing the XNA Framework. This kit was originally built in XNA 3.1. I will soon convert it to work with XNA 4.0 and MonoGame.
XNA App Hub Samples & More
Are you ready to take your game development to the next level? Checkout the content below. I have provided all of the education samples, technical articles, starter kits, mini-games, and utilities from the XNA App Hub website. Some of the following content has been updated to XNA 4.0 and MonoGame. More will be updated periodically, so check back to find something new. If you have questions regarding any of these links, please leave a comment below on their page. Likewise, if you have answers to anyone's questions, please comment and share your knowledge with others! This is a great way to interact with myself as well as other developers. I am still learning as well. So whether you are a hobbyist, student or developer working in the industry, we are all in this together. The App Hub Samples which are valuable for MonoGame Developers can also be found here.