This repository contains a collection of cross-platform MonoGame samples and game projects that should compile on Windows, macOS, Linux, iOS and Android. Each sample demonstrates different game development concepts, features, or genres. For detailed information about each sample, see the linked README in each sub-directory.
I welcome contributions to the MonoGame Samples repository! Here's how you can get involved:
| Project | Description |
|---|---|
| AsteroidBeltAssault | |
| Cards Starter Kit | Card framework showing how to implement a Blackjack game. |
| FloodControl | |
| HoneycombRush | Arcade-style honeycomb collection game. |
| CatapultWars | Single Player and Networked multiplayer catapult game. Works on LAN |
| PacMan | Cross-platform Pac-Man clone. |
| RobotRampage | |
| RockRain | Arcade-style falling rocks game. |
| RolePlayingGame | RPG sample with tile engine and menus. |
| StarWarrior | Classic space shooter sample. |
| Project | Description |
|---|---|
| Shaders2D | Custom 2D shader effects in MonoGame. |
| Aiming | Aiming mechanics and input handling. |
| BouncingBox | Simple physics sample with bouncing boxes. |
| Cards Starter Kit | Card framework showing how to implement a Blackjack game. |
| ChaseAndEvade | AI sample showing chase and evade behaviors. |
| CollisionSample | Collision detection techniques. |
| Draw2D | Basic 2D drawing and sprite rendering. |
| FarseerPhysics | Physics engine integration sample. |
| Flocking | Flocking AI behaviors. |
| GameDevelopmentbyExample | 4 2D samples from the "XNA Game Development by Example" book. Namely: AsteroidBeltAssault, FloodControl, GemstoneHunter, RobotRampage |
| GameStateManagement | Sample for managing game states and screens. |
| GooCursor | Custom cursor rendering and effects. |
| HoneycombRush | Arcade-style honeycomb collection game. |
| Input | Input handling for keyboard, mouse, and gamepad. |
| InputReporter | Displays live input values for controllers. |
| MultiTouch | Multi-touch input support. |
| PacMan | Cross-platform Pac-Man clone. |
| Particle2D | Particle systems and effects. |
| Primitives | Drawing primitive shapes (lines, points). |
| RectangleCollision | Rectangle collision detection. |
| RenderTarget2D | Render-to-texture techniques. |
| RockRain | Arcade-style falling rocks game. |
| RolePlayingGame | RPG sample with tile engine and menus. |
| StarWarrior | Classic space shooter sample. |
| TouchGesture | Touch gesture and mouse support. |
| Waypoint | AI navigation and waypoint sample. |
| Project | Description |
|---|---|
| Audio3D | 3D audio positioning and effects. |
| BloomEffect | Bloom post-processing effects. |
| Colored3DCube | Renders a colored 3D cube. |
| Graphics3D | Advanced 3D graphics techniques. |
| LensFlare | Lens flare post-processing effects. |
| ReachGraphicsDemo | Demonstrates Reach profile graphics features. |
| ShadowMapping | Demonstrates shadow mapping techniques in 3D. |
| ShatterEffect | 3D shatter effect demonstration. |
| Project | Description |
|---|---|
| CatapultNetWars | Single Player and Networked multiplayer catapult game. Works on LAN |
| MonoGame.Xna.Framework.Net | Networking API compatibility sample. Partially implemented for Peer 2 Peer, LAN games |
| NetRumble | Networked multiplayer space shooter. (NOT working yet) |
| NetworkPrediction | Networked gameplay prediction and synchronization. Works on LAN |
| NetworkStateManagment | The project template for most of the networked games in this repo, that use a Lobby. Works on LAN |
| Peer2Peer | Peer-to-peer multiplayer tank demo. Works on LAN |
| Project | Description |
|---|---|
| AdMob | Integrate AdMob ads into a MonoGame project. |
| BackgroundThreadTester | Using background threads in game logic. |
| BatteryStatus | Battery status and power management. |
| CompiledContent | Pre-built content files for other samples. |
| GameComponents | Using and managing game components. |
| ContentBuilder | Build and load content assets using MonoGame's content pipeline. |
| Sound | Cross-platform sound playback. |
For platform-specific details, build instructions, and troubleshooting, see each sample's README.