XNA Arcade tutorial (1 of 5) – loading games dynamically [Overview]
This tutorial covers how to make an XNA game which can host other games.
It is a complete tutorial based on my previous blogpost. The code is expanded significantly in this tutorial series, and explained in more detail. You need Xna 4.0 installed to run the demo.
2 minute introduction to the XNA Arcade
What we will cover
- creating an XNA game which can act as a host to others
- creating a tool to discover games in external assemblies (DLLs)
- embedding textures and sounds inside external assemblies, and extracting those resources
- making a scrollable menu with icons and the names of the discovered games (using RenderTarget)
- creating a subgame (Tic-Tac-Toe), by coding a concrete implementation of AbstractGame
- initializing subgames and passing control to them
IMPORTANT
The code presented here does not allow you to load other standard XNA games.
The games playable using this method are based on an AbstractGame class, where you implement Draw() and Update(). If you want to load a regular XNA game, you will have to move your code into a new class inheriting the AbstractGame class, and embed your resources in the DLL.
Links to the lessons
Part 0 - The initial blogpost which got this ball rolling (a Betaversion of this tutorial )
Part 1 - This introduction to what the XNA Arcade is and what this tutorial-series covers
Part 2 - The AbstractGame class and the ArcadeGamesManager
Part 3 - Creating the hosting game and selecting a game to play
Part 4 - Creating a scrollable menu for gameselection using RenderTarget2D
Part 5 - Coding a new subgame and embedding XNA resources in the DLL
The code
Complete code (you may have to build the projects individually)
Just the playable version (no source code)
Just the ArcadeLibrary.DLL you need for making your own games