XNA Developer's Survival Kit


Cameras & Scenes 
  • XNA Camera - this will help you understand how the XNA camera works
  • Camera Shake - learn how to increase immersion by shaking the game's camera
  • Split-Screen - learn how to render the same scene to multiple viewports
  • Safe Area - learn how to make your game display correctly on a wide range of TV screens

Effects, Lighting & Shaders 
  • Custom Model Effect - learn how to apply a custom effect using the XNA Framework Content Pipeline
  • Distortion - learn how to implement a variety of screen-space distortion effects 
  • Fluid Shader - real-time fluid dynamics (give the author credit if used!)
  • FX Composer - a powerful integrated development environment for shader authoring 
  • NShader - Syntax Highlighting for your HLSL files
  • Non-Realistic Rendering - learn how to implement stylized non-photorealistic rendering techniques
  • XNA Lens Flare - an XNA and MonoGame lens flare effect tutorial with lighting
  • Lens-Flare - learn how to create an awesome lens-flare effect for your game 
  • Motion Blur - learn how to implement a motion blur effect based on GPU Gems 3
  • Real-Time Fur - learn how to create and apply real-time fur to a model
  • Shatter Effect - learn how to apply an effect on any model and shatter it apart
  • XNA Shader Programming Tutorials - need help with HLSL (High-Level-Shader-Language)

  • digitalerr0r Tutorials
  • 1. Ambient Light - an introduction to HLSL shader programming in XNA 4.0
  • 2. Diffuse Light - second tutorial explaining how to implement diffuse lighting
  • 3. Specular Light - learn how to implement specular lighting in this third tutorial
  • 4. Normal Mapping - learn how to implement normal mapping in this fourth tutorial
  • 5. Deform Shader - learn how to create a pure vertex shader for deforming objects
  • 6. Simple Ocean - learn how to create an ocean shader 

Mapping Techniques 


Plants & Vegetation

Terrain & Heightmap




  • DigitalRune Physics –  A module from DigitalRune Engine - Physics with lots of features, (fast & Xbox, $300)
  • Bepu Physics – Nice Physics engine with many features, (fast,  FREE) (blog)
  • BEPU Physics MG - This is a MonoGame 3.4+ version of the 1.4 verison of BEPU Physics. Also, check out my blog posts here on BEPU.  
  • Jitter Physics –  A real-time Physics Engine for .NET created by the author of JigLibX  (fast,  FREE) The Google Code Archive can be found here
  • Oops! Framework - fast on the PC and Xbox 360 (good, but needs more features)
  • Matali Physics -fast with lots of potential (fast on PC, average on Xbox 360, $130 – $260)
  • Henge 3D Physics – Lot of Features and multi-threaded (okay on PC, slow on Xbox 360, FREE)
  • JigLibX – a C# port of the C++ JigLib physics engine, formerly known as JiggleX. Initially its not multi-threaded and runs slow however its FREE. Many developers recommend using Jitter instead. You can download the XNA 4.0 version of JigLibX here. Also, check out my blog posts here on ways I improved the JigLibX physics engine. Also, see Nikescar' vehicle class modifications)
  • Farseer Physics Engine – a 2D Physics Engine (Farseer Physics Platformer 3.3.1)
  • Box2D.XNA – a C# XNA port of Box2D
  • Bullet for XNA - loaded with features (slow on PC and Xbox 360)
  • Soft Body Physics in XNA - cloth, chains, slinky (awesome tutorial and samples)



  • 3D Audio - learn how to position sounds in 3D space 
  • Dynamic Audio - learn about the audio features to the XNA Sound Effect API
  • EasyXnaAudio – easy interface to load, play, and manage songs and sounds
  • XNA Final Engine – Audio engine included in framework
  • Microphone Echo - learn how to play back recorded sound with an echo effect applied to it
  • Music Management - meet the requirements around music playback in Windows Phone games in order to be accepted into the Windows Phone Marketplace
  • Audacity - a free multi-track audio editor and recorder
  • Sound Lab - a collection of more than 170 free audio files for use in your games
  • Sound & Music - learn the basics on sound and music for games on Windows Phone

  • Creating a Basic Synth by David Gouveia
  • Part 1 - introduces the reader to the world of sound synthesis with XNA 4.0 and cover some of the basic theory that should be understood before proceeding
  • Part 2 -  introduces the DynamicSoundEffectInstance class present in the XNA 4.0 framework and how it can be used to play some simple waveforms. By the end of part II you should be able to create and reproduce a single waveform of different kinds (such as a sine wave, sawtooth wave, pulse wave and square wave).
  • Part 3 - guides the reader through the construction of a Synth class that allows the application to communicate with the low-level audio playback engine through a much simpler, music-oriented interface. The class will also be flexible enough for new sounds to be created and swapped easily. By the end of part II you should be able to play many musical notes simultaneously, while controlling their individual pitch, duration, volume and panning. You should also be able to create entirely new sounds and use them with minimal changes to the code.




  • EasyStorage - the easiest way to save games, store date, etc... (tutorial here by Robot Foot Games)
  • XNAInput - nice library to handle input controls 
  • XNA Input Handlers - library to handle mouse and keyboard input
  • Input Sequence - learn how to detect sequences of input such as combo series, cheat codes, and other multi-button functions
  • WP7 Saving/ Loading - a tutorial on saving and loading for windows phone based games


  • DigitalRune Game UI – Basically Neoforce Controls on steroids, part of  the Digital Rune Engine
  • Neoforce Controls - my 1st Favorite tool for Interfaces and open source (Also on GitHub) (Check out the monogame version
  • MonoForce - an improved MonoGame based version of Neoforce Controls 
  • XNA Interface Elements - my 2nd Favorite tool for Interfaces
  • Nuclex Framework- skinnable interface included
  • 3D XNA Gizmo- you may need this for level editing…
  • XNA and Windows Forms – this article explains the best
  • GLEED2D - a 2D level editor for your XNA games
  • XNA LED - a C# level editor created in XNA using xWinForms (has lots of potential)
  • tIDE - This a full-featured .NET based tile map editor using XNA 3.1 and 4.0 technology. The editors supports multiple layers (WYSIWYG parallax), tile animation and custom properties at map, layer, tile sheet and individual tile level. The editors works in tandem with xTile, an XNA-ready tile rendering engine. (click here for a quick tutorial for integrating xTile within an XNA game project)


  • Xna Screen Manager – clean, simple and easy to use
  • Oops! Framework - has a game state manager included
  • Nuclex Framework – game manager included (nicely done)
  • GameStateManager – a great starter  to learn how to build your own game menu system. Learn how to manage transitions among menus and gameplay states 
  • Multiple Columns - learn how to add multiple columns to the Game State Management Sample by adding left and right movement to your menus
  • Splash-Screen - learn how to create a splash screen for your menu system (also be sure to check out my blog post here)
  • User Interface Controls - learn how to build on the Game State Management sample adding user interface elements with a look and feel 
  • Handle Multiple Controllers - learn how to handle multiple player controllers in your games


  • Network Prediction - learn how to use prediction and smoothing algorithms to compensate for network lag
  • Network Lobby & Chat Icons - a free set of images designed for displaying status within a networking game
  • Network Game State Management - learn how to implement the user interface for a multiplayer networked game
  • Network Architecture: Client / Server - learn how to implement a simple multiplayer network session by using a client/server network topology
  • Network Architecture: Peer 2 Peer - learn how to implement a simple multiplayer network session by use P2P network topology in which each computer is responsible for updating the state of its locally controlled players
  • Invites - this sample builds on the Peer 2 Peer sample by adding support for invites 
  • Net Rumble - a 2D shooter where up to sixteen players compete online in a death match
  • Picking - learn how to determine whether a player's cursor is over an object and how to find out where on the screen the object it. This sample could be helpful for drawing text above a player's head if you want to display the name of players over their characters in online matches. Doing so helps players identify each other.  

  • Lidgren
  • Lidgren.Network - a networking library for the .net framework which uses a single udp socket to deliver a simple API for connecting a client to a server, reading and sending messages
  • An Intro to Lidgren - an article introducing networking in C# games using Lidgren
  • How to: Lidgren Network - an example on how to use the lidgren networking library
  • Lidgren P2P - an article explaining how to implement Peer to Peer networking using Lidgren 


  • 3DS, OBJ, and NFF - three content importers for XNA content pipeline extensions
  • Custom Model Importer - learn how to implement a custom model importer in XNA
  • Custom Model Class - learn how to go beyond the limits of the Model class that comes built in to the XNA Framework
  • Tiff Importer - learn how to create a Tiff content importer besides the default XNA images
  • ColladaXNA - learn how to create an importer for animated collada 3d models (see more here and more about loading and rendering collada models here) (Git)
  • StichUp - an XNA 4.0 content pipeline extension which implements the idea of Shawn Hargreave's article Generating Shaders From HLSL Fragments (See an Introduction to StitchUp here)
  • Osiris - a set of XNA 4.0 content pipeline extensions 
  • Weaver - an HLSL surface shader parser, implemented as a content pipeline extension for XNA/ MonoGame
  • XBuilder - This lets you preview your content assets right in Visual Studio
    (See more here and version 0.2)
  • Xamarin Asset Previewer - lets you preview various MonoGame/ UrhoSharp assets in the IDE



  • Performance Utility - learn three tools you can add to your XNA projects for performance tuning and debugging
  • Performance Measuring - understand how to utilize the Performance Utility when adding 3D spheres to a scene as they collide with one another
  • Performance Tools - Performance tools including graphs to help measure garbage and CPU performance 
  • Profiling
  • Instanced Model - learn how to efficiently render many copies of the same model by using the GPU to reduce the cost of repeated draw calls
  • Speedup Rendering Model - learn a new approach to save processing power and speed up rendering 3D models 
  • Xbox 360 Best Performance Practices - a great article which discusses ways to improve performance for XNA targeting the Xbox 360 (this article is helpful for less advanced hardware)
  • Remote Performance Monitor - a tutorial by stevepro studios on using the Remote Performance Monitor



  • Font Squirrel –  need Free Commercial-Use Fonts for your game?



Sound Effects

  • HyperDuck Music Studios – need custom music for your game?
  • The Spin Wires - Need free instrumental tracks for use in your games, videos and other media. Check out this site here. The Spin Wires are a Punk/ Dance Rock band from Buffalo, NY. They embody the best elements of bands like Franz Ferdinand, The Black Keys and The Arctic Monkeys. If you use their tracks, please give them credit! 
  • ccmixter -  Royalty free music you can use in your games (check the licenses for how to credit people)
  • FL Studio Cookbook - learn how to make your own style of songs with Fruity Loop Studio

  • Mixamo – need Animation for your Characters?
  • CMU Mocap Database -  need the largest collection of free Mocap available?


Articles, Blogs, Tips and Tutorials

Not XNA Exclusive Articles, but Handy


XNA 4.0 & MonoGame Books


Are you trying to convert XNA 3.1 projects to XNA 4.0?

*Most of the articles above are from Shawn Hargreaves Blog, posted here to make 
them easier to find.

Sites that promote and review Xbox Indie Games

       If there are any resources you would like to share or see added to the XNA Developer's Survival Kit, please post them in the comments section. Also, if you have found this page helpful please comment below.

No comments:

Post a Comment