This page is for my benefit.  I use it to save links to sites that I want to remember.  They are in categories so they might be useful to others.

1. General posts and assets not specific to a development environment
2. XNA specific posts and examples
3. Android specific posts and examples
4. Unity 3D specific posts and examples

* 1. General *

Art, 2D Images, Textures and 3D Models
Download section includes original models and parts:
For Blender there are loads of models on most of which can be used free for commercial use, check the licences:
Buy Game ready 3D models: (nee also available from (most are for poser but often come with other formats)
List of sites:
Tony Hayes SciFi Gallery:
Lots of SciFi models:
Lots of stuff useful for detail:
Sponza Atrium, nice model used frequently for testing:
Some good samples of Google SketchUp models:
If you want textures:,,
The customer free samples show off this Photoshop plugin:
For character modeling there are some textures here:
Digital graph paper handy for design and development:
Online file convesion: (includes PDF to PNG or JPG)
Textures and Brush plugins for Photoshop and GIMP:
Loads of textures:
Loads of textures, models, drawing and other stuff but be careful some are GPL licenced.  Plenty are Creative Common or Public Domain:
Site bringing together loads of assets types including models and sound:
Icons and clipart, public domain:
Windows Icon requirements:  They also give away a few very nice free icons.
Simon Jackson has a long list of resources including tools as well as all sorts of assets for games:

Artists, Freelance
2D, 3D, Animations, Characters and Weapons:

Art Inspiration
- Futuristic weapons:
- Future cities:
- Futuristic environments
- Galleries

Artificial Intelligence (A.I.) In Games or
Getting started:
Goal-Oriented Action Planning (GOAP):
Pathfinding, Navigation Meshes and Nodes:
Brains by Sgt. Conker:
The Bots used in Counter Strike:
Some insights in this presentation:
C# Navigation Mesh created by Sick Kreation
Based on:

3D Modelling Applications and Instructions
Blender Home: and downloads:
Blender to XNA FBX Exporter which ships with Blender:
Blender More Documentation:
Blender to Sunburn tutorial. Useful tips on UV unwrapping and materials and generally a good blog to follow: By: @DDReaper
Blend Swap:
Lots of Blender tutorials:
3DS Max to XNA exporting:
.Blend files to XNA, I have not tried this yet...
Import FBX with Armature in to Blender 2.70:
UV Unwrap Head, typical cuts:

Satisfy yourself that the licence for each font is suitable for use in a game.
Free commercial font licenses with Google WebFonts:
The site has many for personal use but some are unrestricted.

XNA uses a right-handed coordinate system +Z faces the camera, +X to the right and +Y up:
XNA uses a Row Vector layout (row-major):
Good starting point for understanding matrix maths:
A general maths site:
The main stuff needed for Vectors:
A starter 3D matrix article (column-major):
The following helps a bit to understand rotating vectors and how Matrix rotations are constructed from 3 vectors, normally at right angles to each other:
The following gives one of the more understandable (still a bit detailed) descriptions of creating a rotation matrix:
Quaternion code:

Normal Mapping
Creating Normal Maps from 2D textures:

Mercury Particle Engine (CPU):
Nuclex framework including CPU particles:
Digital Runes CPU Particles (Paid):
Soft particles, summary of methods and links:, based on:,,,

Physics and Collision
Beginner tutorial:
Loads of excellent stuff by @gafferongames:
Open Source:
- XNA Bepu Physics 3D: and download: and documentation:
- XNA Bullet Physics port 3D: and source:
Example with C++ code:
- XNA Farseer Physics 2D:
Camera movement using Matrices: and
2D line against a grid using Digital Differential Analyser (DDA): This is not perfect as it can miss cells.
Algorithms that give super cover (don't miss any grid squares) of the line:
Object to object collision:
Ray to triangle C++:
Triangle to various including box:

Sounds and Music
Some sites that have 'royalty-free music and sounds' and or under the Creative Common licences:
Composer for games, TV and other with nice samples: and offer here:

Testing service for Indies:

My Own Example Code:
Game site with code samples:
3D Model Prep code:
Various tests and examples including how to add Winform menus to an XNA Game class and a bare bones Winform project with the XNA Graphics Device control, a floor and 3D Axes:
GPU Particles tool to help create effects based on the Microsoft 3D particle samples:
Bresenham line plot in C#:

Code Storage, Version and Source Control
Somewhere to dump examples: and my PasteBin:
Subversion for Windows Explorer:
Free or low cost commercial Subversion hosting:
- (200M free, good speed, medium cost)
- (100M free, fast in Europe, lower cost, no online payment!)
- (No free, higher cost)
- (500M for 45 days, slower speed, lowest cost) Monitor site:
Free open source Subversion hosting:
Other free repositories: (Free unlimited up to 5 users.  GIT and Mercurial only)
SourceTree Git client:
 - It took me a day to get my head round Git but it does work smoothly and my apps and explorer are tidier than with SVN.  I'm now migrating every project over to Git.(March 2014)
- Of the 3 Git clients I tried I found SourceTree far neater and nicest to use.
Using BitBucket with Unity3D:
GitHub support subversion as well as GIT clients so this is handy for open source projects:

Component Based Programming
This is an alternative to and complimentary to Object Oriented programming. Entities are made up of components such as health, movement and render etc. rather than a deep hierarchy of inheritance.
I find the following a good article which explains why I tend to end up using Composition and Interfaces for games rather than just Object Oriented Programming:

Games and Game Related
Indie AAA SciFi FPS for the PC:
This is the console I want: it was funded by
Where development teams share ideas:

Video Production
Microsoft Expression Encoder (free trial remember to get at least SP1):
Instructions for screen capture:
Use Movie Maker to enhance the results (free):

Game Reviews and Marketing
Dedicated to XBLIG reviews:
The Xbox Informer:
General Review sites:
Indie Gamer Chick, brutal reviews:
Gamasutra, jobs, reviews and news:
What Indies should be doing:
MSDN FAQ including box art sizes:
A fan video of this very page, how cool is that, thanks Charles:

* 2. XNA *
The main site:

XNA Animations
Libraries and samples:
Kilowatt animation library:
XNAnimation library: and a more up to date variant for Sunburn:
Skinning Sample:
Skinning Sample extensions:
Xbox Live Avatar animation blending:
Fault with multiple animations when imported from FBX with Windows Phone SDK 7.1:
Shawn Hargreave on how to merge animations:
A previous forum post to get people started:
Rag doll physics:

XNA Content Pipeline
XNA 4 COLLADA importer and model class:
Creating textures in the pipeline:

XNA Debug and Performance
A must for Xbox development.  This is what you need to get the games on to the Xbox.  It can be hard to find from the Xbox end so here is another way to get it:
XNA debugging tools:
How to use PIX included in this forum post:
A PIX Tutorial:
How to use the CLR Profiler: and
Garbage free strings:
Summary of methods to improve performance:
Slightly improved instancing and a discussion on timings:
CLR profiler version 4 download:
A discussion about it's use:
Xbox 360 internal workings:
More about avoiding garbage:
Checklists that Xbox Live Indie XNA games must be verfied against: and clarification:
Tip to on how to count garbage collections using a week reference;

XNA Engines and Frameworks
Integrates with the Sunburn engine:
Commercial but low cost render engine:
Open Source XNA engines:
Torque3D now with MIT licence open source:

XNA Forums and Discussion
Microsoft App Hub:
Microsoft XNA App Hub:

XNA Intancing
Drawing lots of things based on just one draw.
Using a texture atlas:

XNA Multithreading and Thread Safety
The 'lock' method has been recommended to me as the best method to use:
Value types are safe in that they don't error but they may not contain the expected value:
Simple value types like 'bool' cannot be relied on to lock a class because their contents cannot be guaranteed, use the 'lock' method as linked above.
You can use any reference type object to lock that section of code as long as it is the same object used throughout.  It is sometimes useful to create an object just to use as the lock but any existing member will do:
The following article is a good description of how to do it:
The volatile keyword is unlikely to be useful if you use lock instead: and
The 'interlocking' class can be used for simple tasks on static ints and longs but only some methods are available to the Xbox:
Each thread must use its own instance of Random:
Putting update and draw in different threads:

XNA Networking
XNA Methods:
Microsoft networking sample with explanations and lobby screens etc.:
Networking presentations, including proof the Internet sucks and only use UDP:
This is how Halo does it.
8k bytes per second and 200ms latency.  Don't argue that's all you've got, the Internet sucks!
A presentation to give options for what you do about it:
Using XNA to simulate that the Internet sucks!
Explanation of the basic terms used for the XNA networking:
Player to player Scoreboard for XNA 4:
Multiplayer example including getting the player state for displaying relevant information:
Network latency compensation and prediction: (Read all the comments they are as useful as the article.)
Windows networking library:

XNA Screen Resolution and Split Screen
Microsoft viewport example:
The Xbox cannot scale down from 1080p to 480i: and

XNA Shader Effects (HLSL), Rendering and Graphics
- HLSL Functions:
- Soft Particles:
- XNA Pipeline:
Derived Effects:
Graphics device in the pipeline:
- Ambient Occlusion (AO):
XNA SSAO Sample (GS4.0) and Deferred Render Tutorial:
XNA SSAO Sample (GS3.1):
Unsharpe depth buffer SSAO:
Blender version:
XNA SSAO Sample with smart blur:
- Terrain texturing:
Water in XNA 3.1:
Ocean in XNA:
Riemers Water, read the tutorials from this link down to the specular highlights page:
Primer for shader techniques:
Overview of the graphics pipeline:
- Deferred Rendering
Excellent tutorial by "Celal Cansin Kayi" using XNA:
An excellent and long list of shader tutorials with source code:

XNA ShadowMaps
MSDN Article on shadows:
ID Based Shadow Mapping:
Tom Forsyth: and shadowmap overview:
Full lighting with sample shaders with shadows:
Samples and blogs:
Solving the moving, waving or shimmering edges:
Understanding texels and pixels:
Moving the light is problematic:

XNA Sound Effects
Summary of XACT and SoundEffect:
3D sound with XACT:
Avoiding XACT garbage problems by using SoundEffect:

XNA Spritebatch
Billboard for 3D text:

XNA Storage
Saving and loading in game.
Easy Storage by Nick Gravelyn:
Tutorial for Easy Storage:

XNA Terrain
Heightmap terrain with LoD:
Amazing example of terrain creation: see also the terrain stuff on:

XNA Collections of Sample Code
Shawn Hargreaves blog index:
XNA Wiki:
XNA UK User Group:  and code samples:
XNA Creators Club Education Samples:
DHPOware, many useful samples:
Some 3D model helpers: including a different animation sample that overcomes some of 3DS's limitations:
3D Level Editor with some nice looking features:

XNA Games In Development
Several of the few XNA FPS games are created by the same team: 'End-Of-Days' is well worth the time to look at:
Nice work on Astralis: and
Clone of Duty FPS by another UK guy:
Aiming for AAA graphics in an Indie game:
Great work going in to this zombie game:  @PolyVector suspended work on this:
SciFi FPS with its own editor:
The shadow effects created by @SigilXNA in this 3D RPG are excellent:
Another very nice looking FPS in XNA:
Phil Fortier has a similar development blog at Ice Fall Games: and site here:
XNA Fan tutorials and blog:
Astralis: and see also @_Eclectus and
HollowFear, top down isometric:

XNA C# Managed Code, .NET Alternatives and C++
XNA support after Microsoft stopped:
MonoGame: and This is a well supported and arguably the most popular route to take to make XNA multiplatform.  You can write in C# with high XNA compatibility.  To run on some other platforms there are some unavoidable costs but is mainly open source.
Posting advice:
A tool to help port 2D XNA API to other platforms: and open source.
SDL 2 being added to MonoGame:
ANX an XNA source code compatible clone for other platforms: and
YNA: and
Sunburn Engine, C# XNA content using Sunburn rendering on serveral platforms:
XNA 4.0 refresh:
Windows Phone 7.1 SDK:
Unity 3D to XNA porting tools:
Microsoft DirectXTK C++ versions of some of the XNA features: see also:
3D Model Mesh format for DirectXTK:
Good starting point:
Charles Humphrey's blog on the subject:
Getting started with Direct3D 11:
Collada tutorial including animation information:
Collada main site:
Collada in to DirectX: and documentation: and source code:
Book (free): C++ for C# developers:
A base for Windows 8 games:
Another post with more alternatives:

XNA using WinForm
Timings for animations:
Sample apps: and

XNA Peer Review, Best Practice and Distribution
Best Practice guide by Jim Perry:
Packaging the finished game files:

XNA Blog Posting Helpers
Format Source Code:
Here for XNA specific:
I use this one to generate the HTML with colours but I do not include the background.  I remove the table tags add my own background <pre> and <code> wrapper round it to make it compatible with Blogger.
A few languages here using a style sheet:

XNA, Xbox, Microsoft and Admin
Subscribe and unsubscribe from Microsoft services:
Xbox XNA Forums:
XNA Microsoft AppHub Home
XNA Microsoft AppHub Forums

* 3. Android *
The main site:

Android Java
Beginner forums:
Support forums:!forum/android-developers
3D Java engine: based on
3D Java engine, open source: can load Collada.
Animation: includes the Collada loader from Ardor3D.
Getting started guide with further links:

Android OpenGL
Basic 3D OpenGL Tutorial:
HLSL to GLSL (OpenGL): and the source code:

* 4. Unity *
The main site:

Unity Animation and Character Modelling
Creating characters:
Importing animations:
Mecanim introduction:
Retargeting and creating an Avatar for Mecanim:
Mecanim blending and scripting tutorials and documentation: download tutorial files.
Animation transitions:

Unity Assets
Ultimate FPS.  This gets highly recommended and now supports PhotonCloud and 3rd person:!/content/2943
A recommended level editor for Unity:!/content/3558

Unity Editor
Extending the editor, general reference:
Displaying GUI controls in the editor:
Adding mouse over tooltips in the Inspector:
Customise the attributes [Range(1, 2)] etc. in the editor:

Unity Forums - main site - includes samples and tutorials

Unity General Tutorials and Tips
How to start for Ouya:
Collection of tutorials:
Fade in and out a scene:  (I would replace the GL methods with a GUI texture and put it in the OnGUI() method of a MonoBehaviour class.)
Best practice guide (this is still someone else's view but I like most of the suggestions):
A long list of more unity related sites:
Rigid body and controller summary:
Character Controller is recommended for FPS but if you want to interact with physics behaviour rigidbody may be more appropriate:

Unity GamePad and other Input Devices
The manual says:
This free project supports Ouya and others at the level I need: (works well, I am using this as the base for my version)
GamePad support on the forums:
This starts with button 0:
This has a different map:
Blog with some problems and solutions using the Xbox controller:
XInput project for Xbox 360 GamePads: and (Failed to work for me!)
How to programme the InputManager from a script:
Touch input in Windows, as at Jan 2014 (v4.3), is not natively supported so needs something like the following:
Unity supports the Xbox One in version 4.3 and eventually 5.0 (but not 4.5 or 4.6) of Unity:

Unity Networking
Unity Documentation:
Online providers:
Multiplayer tutorials:
Networking in Unity -
Online multiplayer including prediction:
Multiplayer video tutorials (detailed but slow going):
Multiplayer FPS from scratch video tutorials (easy to follow):
Quick and simple networking, no fuss, use this as a starter:
Server side networking links:
Using a local connection or a local copy of the master server:

Unity Programming Techniques
C# Programming with Unity:
How to create a pseudo-singleton in Unity:
How to letterbox to keep a fixed aspect ratio:
How to make a GUITexture always fit the full screen:
Coroutines, useful for timed events:
See also Invoke to launch methods after a time:
Gizmos, icons visible in the editor:

Unity Samples
My own code including ToolTips and other useful stuff:
All the Unity team projects:
FPS Kit by OneManArmy (free) Includes vehicles:
Some well respected tutorials and samples.  Some are paid for:
A compilation of useful scrips by @nickgravelyn
A list of open source code:

Unity Save and Load User Files
User preferences have a simple built in method:
This may be out of date but apparently the built in UserPrefs is a bit slow on mobile devices so here is a faster version: It also uses a file location which may be more appropriate than the registry on Windows.

Unity Split Screen
Basics and links to tutorials:
List of topics:
Paid asset, Splitscreen Manager:
Scale the GUI To match the split screen size:

Unity Terrain
Ramp Brush:!/content/2393 and video tutorial
Terrain Toolkit (old): and video tutorial