I should have done this years ago. I always save links to articles and code samples that I think I will find useful in the future but don't need today. Trouble is when I want them I can never remember where I put them.
Starting from today I am going to add all my reminders to this page so I know where to find them.
Art, 2D Images and 3D Models
Download section includes original models and parts: http://www.scifi-meshes.com/
Buy Game ready 3D models: http://www.3drt.com/
Tony Hayes SciFi Gallery: http://my-art-gallery.co.uk/
Lots of SciFi models: http://solcommand.blogspot.com/
Lots of stuff useful for detail: http://www.3dxtras.com/
Sponza Atrium, nice model used frequently for testing: http://hdri.cgtechniques.com/~sponza/
If you want textures: http://www.cgtextures.com/
The customer free samples show off this Photoshop plugin: http://www.filterforge.com/filters/
For character modeling there are some textures here: http://www.photoshoptextures.com/human-textures/human-textures.htm
Digital graph paper handy for design and development: http://incompetech.com/graphpaper/
Online file convesion: http://www.zamzar.com/ (includes PDF to PNG or JPG)
Artificial Intelligence (A.I.) In Games
http://aigamedev.com/articles/ or http://AiGameDev.com/members/
http://www.gameai.com/
Getting started: http://www.gamedev.net/topic/592473-recommended-ai-books-and-sites/
Goal-Oriented Action Planning (GOAP): http://web.media.mit.edu/~jorkin/goap.html
Pathfinding, Navigation Meshes and Nodes: http://www.ai-blog.net/archives/000152.html
Brains by Sgt. Conker: http://www.sgtconker.com/affiliated-projects/brains/
The Bots used in Counter Strike: http://hpb-bot.bots-united.com/
3D Modelling Applications and Instructions
Blender Home: http://www.blender.org/ and downloads: http://download.blender.org/release/
Blender to XNA FBX Exporter which ships with Blender: http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/Import-Export/Blender-toXNA
Blender More Documentation: http://foreverblender.blogspot.com/
Blender to Sunburn tutorial. Useful tips on UV unwrapping and materials and generally a good blog to follow: http://faux-motion.blogspot.com/ By: @DDReaper
Blend Swap: http://www.blendswap.com/
3DS Max to XNA exporting: http://www.cgarena.com/freestuff/tutorials/max/xna/
Content Pipeline
XNA 4 COLLADA importer and model class: http://bunkernetz.wordpress.com/2011/04/03/open-source-project-for-animated-collada-models-in-xna-4/
Debug and Performance
XNA debugging tools: http://www.thecomplot.com
Profiler: http://code.google.com/p/slimtune/
How to use PIX included in this forum post: http://forums.create.msdn.com/forums/p/95191/569128.aspx#569128
How to use the CLR Profiler: http://www.flatredball.com/frb/docs/index.php?title=FlatRedBallXna:Tutorials:CLR_Profiler
Garbage free strings: http://www.gavpugh.com/2010/04/05/xnac-a-garbage-free-stringbuilder-format-method/
Summary of methods to improve performance: http://www.sgtconker.com/2011/05/high-end-performance-optimizations-on-the-xbox-360-and-windows-phone-7/
Slightly improved instancing and a discussion on timings: http://forums.create.msdn.com/forums/p/83535/503785.aspx#503785
CLR profiler version 4 download: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=be2d842b-fdce-4600-8d32-a3cf74fda5e1
A discussion about it's use: http://forums.create.msdn.com/forums/p/84317/508080.aspx#508080
Xbox 360 internal workings: http://www.cis.upenn.edu/~cis501/papers/xbox-system.pdf
More about avoiding garbage: http://www.simple-talk.com/dotnet/.net-framework/5-tips-and-techniques-for-avoiding-automatic-gc-collections/
Engines and Frameworks
Integrates with the Sunburn engine: http://indiefreaks.com/
Commercial but low cost render engine: http://www.synapsegaming.com/products/sunburn/engine/
Open Source XNA engine: http://xnafinalengine.codeplex.com/
Fonts
Satisfy yourself that the licence for each font is suitable for use in a game.
Free commercial font licenses with Google WebFonts: http://www.google.com/webfonts
The http://www.dafont.com/ site has many for personal use but some are unrestricted.
Forums and Discussion
Microsoft App Hub: http://create.msdn.com/
Microsoft XNA App Hub: http://forums.create.msdn.com/forums/
Intancing
Drawing lots of things based on just one draw.
Using a texture atlas: http://www.float4x4.net/index.php/2011/07/hardware-instancing-for-pc-in-xna-4-with-textures
Multithreading and Thread Safety
The 'lock' method has been recommended to me as the best method to use: http://msdn.microsoft.com/en-us/library/c5kehkcz(v=VS.100).aspx
Value types are safe in that they don't error but they may not contain the expected value: http://msdn.microsoft.com/en-us/library/system.data.metadata.edm.primitivetype.aspx
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: http://forums.create.msdn.com/forums/t/98109.aspx
The following article is a good description of how to do it: http://www.albahari.com/threading/part2.aspx
The volatile keyword is unlikely to be useful if you use lock instead: http://bytes.com/topic/c-sharp/answers/256953-threadsafe-value-types and http://www.yoda.arachsys.com/csharp/threads/volatility.shtml
The 'interlocking' class can be used for simple tasks on static ints and longs but only some methods are available to the Xbox: http://msdn.microsoft.com/en-us/library/system.threading.interlocked.aspx
Each thread must use its own instance of Random: http://msdn.microsoft.com/en-us/library/system.random(v=VS.100).aspx
Putting update and draw in different threads: http://forums.create.msdn.com/forums/p/83031/501084.aspx
Networking
XNA Methods: http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.net.aspx
Networking presentations, including proof the Internet sucks and only use UDP: http://gafferongames.com/
8k bytes per second. Don't argue that's all you've got, the Internet sucks! http://blogs.msdn.com/b/shawnhar/archive/2007/12/18/network-bandwidth-packet-headers.aspx
Using XNA to simulate that the Internet sucks! http://msdn.microsoft.com/en-us/library/bb975762.aspx
Player to player Scoreboard for XNA 4: http://spyn-doctor.blogspot.com/2010/12/global-scoreboard-component-for-xna-40.html
Normal Mapping
Creating Normal Maps from 2D textures: http://www.katsbits.com/tutorials/textures/how-not-to-make-normal-maps-from-photos-or-images.php
Particles
Mercury Particle Engine (CPU): http://mpe.codeplex.com/
Nuclex framework including CPU particles: http://nuclexframework.codeplex.com/
Digital Runes CPU Particles (Paid): http://www.digitalrune.com/Products/GameEngine/Particles.aspx
Physics and Collision
Beginner tutorial: http://sharky.bluecog.co.nz/?p=119
XNA Open Source: http://www.bepuphysics.com/ and download: http://bepuphysics.codeplex.com/ and documentation: http://bepu-games.com/BEPUphysics/downloads/Documentation/BEPUphysicsGettingStartedDocumentation.pdf
XNA Port of Bullet Physics: http://forums.create.msdn.com/forums/p/78966/478283.aspx#478283 and source: http://code.google.com/p/bullet-xna/
Example with C++ code: http://www.peroxide.dk/download/tutorials/tut10/pxdtut10.html
Camera movement using Matrices: http://forums.create.msdn.com/forums/p/97818/583322.aspx#583322 and http://stevehazen.wordpress.com/2010/02/15/matrix-basics-how-to-step-away-from-storing-an-orientation-as-3-angles/
2D line against a grid using Digital Differential Analyser (DDA): http://www.bloodfromastone.co.uk/boundarydda.html This is not perfect as it can miss cells.
Algorithms that give super cover (don't miss any grid squares) of the line: http://lifc.univ-fcomte.fr/~dedu/projects/bresenham/index.html
Object to object collision: http://realtimerendering.com/intersections.html
Ray to triangle C++: http://softsurfer.com/Archive/algorithm_0105/algorithm_0105.htm
Shader Effects (HLSL)
- HLSL Functions:
http://msdn.microsoft.com/en-us/library/ff471376.aspx
Methods: http://msdn.microsoft.com/en-us/library/windows/desktop/bb509656(v=VS.85).aspx
Operators: http://msdn.microsoft.com/en-us/library/windows/desktop/bb509631(v=vs.85).aspx
- Soft Particles:
http://forums.create.msdn.com/forums/t/31387.aspx
- XNA Pipeline:
Derived Effects:http://www.sgtconker.com/2010/08/article-derived-effect-classes-in-xna-4/
Graphics device in the pipeline: ttp://forums.create.msdn.com/forums/p/79538/481662.aspx#481662
- Ambient Occlusion (AO):
Notes: http://meshula.net/wordpress/?p=145
XNA SSAO Sample (GS4.0) and Deferred Render Tutorial: http://thecansin.com/2011/01/deferred-rendering-in-xna-4-and-ssao-with-normals/
XNA SSAO Sample (GS3.1): http://www.codeplex.com/wikipage?ProjectName=XNACommunity&title=SSAO&referringTitle=Home
Unsharpe depth buffer SSAO: http://graphics.uni-konstanz.de/publikationen/2006/unsharp_masking/webseite/
Blender version: http://mke3.net/weblog/unsharp-mask-ao/
XNA SSAO Sample with smart blur: http://www.garrywilliams.fr/ssao
- Terrain texturing:
http://www.dhpoware.com/demos/xnaTerrainTexturing.html
http://www.catalinzima.com/tutorials/4-uses-of-vtf/terrain-rendering-using-heightmaps/
Water in XNA 3.1: http://graphicsrunner.blogspot.com/2008/11/water-game-component.html
Ocean in XNA: http://channel9.msdn.com/coding4fun/articles/Making-an-Ocean-with-XNA
Riemers Water, read the tutorials from this link down to the specular highlights page: http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series4/The_water_technique.php
ShadowMaps
ID Based Shadow Mapping: http://forums.create.msdn.com/forums/p/62145/382262.aspx
Tom Forsyth: http://home.comcast.net/~tom_forsyth/ and shadowmap overview: http://home.comcast.net/~tom_forsyth/papers/Tom_Forsyth_Practical_Shadows.ppt.zip
Full lighting with sample shaders with shadows: http://jcoluna.wordpress.com/
Samples and blogs:
http://channel9.msdn.com/coding4fun/blog/Adding-awesome-lighting-effects-to-your-XNA-game
http://forum.beyond3d.com/showthread.php?t=40805
http://thecansin.com/2011/01/deferred-rendering-in-xna-4-and-ssao-with-normals/
http://www.olhovsky.com/2011/07/shadow-map-filtering-experimentation/
Solving the moving or waving edges:
http://forums.create.msdn.com/forums/p/88298/529561.aspx#529561
Understanding texels and pixels: http://drilian.com/2008/11/25/understanding-half-pixel-and-half-texel-offsets/
Split Screen
Microsoft viewport example: http://msdn.microsoft.com/en-us/library/bb313965(v=xnagamestudio.40).aspx
Spritebatch
Billboard for 3D text: http://blogs.msdn.com/b/shawnhar/archive/2011/01/12/spritebatch-billboards-in-a-3d-world.aspx
Terrain
Heightmap terrain with LoD: http://www.dustinhorne.com/page/XNA-Terrain-Tutorial-Table-of-Contents.aspx
Collections of Sample Code
Shawn Hargreaves blog index: http://www.talula.demon.co.uk/blogindex.html
XNA Wiki: http://xnawiki.com/
XNA UK User Group: http://xna-uk.net/ and code samples: http://xna-uk.net/media/
XNA Creators Club Education Samples: http://create.msdn.com/en-US/education/catalog/
DHPOware, many useful samples: http://www.dhpoware.com/demos/index.html
My own site with code samples: http://games.discoverthat.co.uk/
My own 3D Model Prep code: http://code.google.com/p/3d-model-prep/
Example of how to add Winform menus to XNA Game class: http://code.google.com/p/xna-game-menu/
Some 3D model helpers: http://metlab.cse.msu.edu/xna.html including a different animation sample that overcomes some of 3DS's limitations: http://metlab.cse.msu.edu/betterskinned.html
Code Storage, Version and Source Control
Somewhere to dump examples: http://pastebin.com/ and my PasteBin: http://pastebin.com/u/JCBDigger
Subversion for Windows Explorer: http://tortoisesvn.tigris.org/
Free or low cost commercial Subversion hosting:
- http://unfuddle.com/ (200M free, good speed, medium cost)
- http://www.sliksvn.com/ (100M free, fast in Europe, lower cost, no online payment!)
- http://codesion.com (No free, higher cost)
- http://www.codespaces.com (500M for 45 days, slower speed, lowest cost) Monitor site: http://www.siteuptime.com/prem_statistics.php?Id=4247&UserId=73518
Free open source Subversion hosting:
- http://code.google.com/p/support/wiki/GettingStarted
Other XNA Games In Development
Several of the few XNA FPS games are created by the same team: http://sickkreations.com/ 'End-Of-Days' is well worth the time to look at: http://sickkreations.com/end-of-days/
Aiming for AAA graphics in an Indie game: http://www.nelxon.com/
Great work going in to this zombie game: http://deadshift.com/ @PolyVector suspended work on this: http://vvgtv.com/2011/05/04/dead-shift-what-happened-xblig/
SciFi FPS with its own editor: http://afallenapple.wordpress.com/
The shadow effects created by @SigilXNA in this 3D RPG are excellent: http://ophidianwars.blogspot.com/
Another very nice looking FPS in XNA: http://tomlooman.com/current-projects/game-project-sunburn/
Phil Fortier has a similar development blog at Ice Fall Games: http://mtnphil.wordpress.com/ and site here: http://www.icefallgames.com/
C# Managed Code XNA and .NET Alternatives
ANX an XNA source code compatible clone for other platforms: http://anxframework.codeplex.com/ and http://forums.create.msdn.com/forums/p/94450/565347.aspx#565347
SharpeDX: http://code.google.com/p/sharpdx/
SlimDX: http://slimdx.org/
XNA 4.0 refresh: http://www.microsoft.com/download/en/details.aspx?id=27599
Windows Phone 7.1 SDK: http://www.microsoft.com/download/en/details.aspx?id=27570
WinForm with XNA
Timings for animations: http://blogs.msdn.com/b/shawnhar/archive/2010/12/06/when-winforms-met-game-loop.aspx
Sample apps: http://create.msdn.com/en-US/education/catalog/sample/winforms_series_2 and http://create.msdn.com/en-US/education/catalog/sample/winforms_series_1
Non-XNA Games
Indie AAA SciFi FPS for the PC: http://www.interstellarmarines.com/
Video Production
Microsoft Expression Encoder (free trial remember to get at least SP1): http://www.microsoft.com/expression/products/encoderpro_overview.aspx
http://www.microsoft.com/download/en/details.aspx?id=24601
Instructions for screen capture: http://urbngeek.blogspot.com/2011/03/how-to-record-screen-casts-using.html
Use Movie Maker to enhance the results (free): http://explore.live.com/windows-live-movie-maker
Game Reviews and Marketing
http://indietrials.com/
The Xbox Informer: http://paper.li/danord24/1308573684
Indie Gamer Chick, brutal reviews: http://indiegamerchick.com/category/tales-from-the-dev-side/
What Indies should be doing: http://wootcomms.com/2011/10/3-reasons-create-press-kit-game/
Review sites: http://forums.create.msdn.com/forums/p/92716/555803.aspx#555803
Blog Posting Helpers
Format Source Code: http://codeformatter.blogspot.com/2009/06/about-code-formatter.html
#ims211 or #ims211