Created by Arar Game
A retro-inspired space shooter that has evolved from XNA Framework to modern MonoGame
Paint Trek is an exciting 2D space shooter game that takes you through 10 challenging levels filled with enemies, bosses, and power-ups. Originally developed in 2014 using XNA Framework 4.0 for Windows Desktop and Windows Phone, the game has been completely rebuilt in 2025 using MonoGame 3.8 and .NET 9.0.
2014: Born as an XNA Framework 4.0 game for Windows Desktop and Windows Phone
2025: Reborn with MonoGame 3.8, enhanced graphics, improved performance, and modern architecture
- 10 Unique Levels - Each with increasing difficulty and unique challenges
- Epic Boss Battles - Face off against 10 different bosses with unique attack patterns
- Diverse Enemy Types - 18+ different enemy types with varied behaviors
- Power-Up System - Collect various weapons and abilities:
- 🔵 Blue Diamond - Speedy Attack (+60% attack speed)
- 🔴 Red Diamond - Power Attack (+250-400% damage)
- 🟢 Green Diamond - Poison Attack (50% enemy slow)
- ⚫ Black Diamond - Critical Attack (+33% speed, +500-1000% damage)
- 🎯 Bouncing Fire - Bouncing projectiles with 500 HP
- 🌟 Diffused Fire - 8-way spread shot
- 🚀 Guided Rockets - Heat-seeking missiles
- 🛡️ Bubble Shield - +50 Armor
- 🔧 Wrench - +20 HP repair
- Original Soundtrack - 10 unique background tracks by Sahin Meric
- Dynamic Sound Effects - Immersive audio for weapons, explosions, and UI
- Retro-Inspired Graphics - Pixel-perfect 2D sprites
- Smooth Animations - 60 FPS gameplay
- Dynamic Backgrounds - Parallax scrolling space environments
- Particle Effects - Explosions, weapon trails, and visual feedback
- Story Mode - Progress through 10 levels
- Scenario Scenes - Narrative elements between levels
- Score System - Compete for high scores
- Save System - Continue your progress
The iconic player ship - Your vessel through the Paint Trek universe
Atmospheric space environments with dynamic backgrounds
- Custom screen manager with state handling (Active, Frozen, Inactive)
- Singleton pattern for critical screens (GameBoard)
- Proper resource disposal and memory management
- Owner-based input handling to prevent input bleeding between screens
- Per-Pixel Collision Detection - Accurate collision using color data
- Transform Matrix Calculations - Rotation, scaling, and positioning
- Sprite Pooling - Efficient memory usage
- Animation System - Frame-based sprite animations
- Layered Rendering - Depth sorting for proper draw order
- Multi-Input Support:
- Keyboard (WASD + Arrow Keys)
- Mouse (Click to shoot, menu navigation)
- Touch (Windows Phone legacy support)
- ClickableArea System - UI interaction with hover and click states
- Input State Management - Debouncing and state tracking
- Enemy AI - Pathfinding and attack patterns
- Weapon System - Multiple weapon types with unique behaviors
- Collectible System - Power-ups and score items
- Boss System - Complex multi-phase boss battles
- Level Builder - Dynamic level loading from text files
- Explosion System - Particle-based visual effects
- Sound Manager - Audio playback and management
- Texture data caching for collision detection
- Bounding box caching with dirty checking
- Sprite culling (off-screen sprites not rendered)
- Object pooling for bullets and particles
- Efficient update loops with early exits
Language: C# 12.0
Framework: MonoGame 3.8
Runtime: .NET 9.0
Platform: Windows Desktop (x86/x64)
Graphics: DirectX (via MonoGame)
Audio: XAudio2 (via MonoGame)
Content: MonoGame Content Pipeline
PaintTrek/
├── Animation/ # Sprite animation system
├── Audio/ # Sound management
├── Automates/ # AI behaviors
├── Content/ # Game assets (textures, sounds, fonts)
├── Globals/ # Global state and settings
├── Indigators/ # UI indicators
├── IO/ # Input handling
├── Level/ # Level management and loading
├── ScreenManagement/ # Screen system
├── Screens/ # Game screens (Menu, Game, etc.)
│ ├── Game/ # Gameplay screens
│ └── Menu/ # Menu screens
├── Settings/ # Game settings
├── Sprites/ # Sprite classes
│ ├── Bosses/ # Boss enemies
│ ├── CollectableObjects/ # Power-ups
│ ├── Enemies/ # Enemy types
│ ├── Guns/ # Weapon systems
│ └── Main/ # Base sprite classes
├── Systems/ # Core game systems
├── TimeClasses/ # Time tracking
└── Utilities/ # Helper classes
Coming Soon to Microsoft Store
Download from Microsoft Store
Note: Windows Phone version is no longer maintained
- WASD or Arrow Keys - Move ship
- Space or K - Fire weapon
- P or Esc - Pause game
- F1 - Toggle debug info
- F12 - Take screenshot
- Left Click - Fire weapon / Menu selection
- Move - Navigate menus
- Visual Studio 2022 (17.8 or later)
- .NET 9.0 SDK
- MonoGame 3.8 templates
-
Clone the repository:
git clone https://github.com/arargame/PaintTrek.git cd PaintTrek -
Restore NuGet packages:
dotnet restore
-
Build the project:
dotnet build -c Release
-
Run the game:
dotnet run
See MICROSOFT_STORE_PUBLISHING_GUIDE.md for detailed instructions.
- Level 1-3: Introduction to basic enemies and mechanics
- Level 4-6: Increased difficulty with new enemy types
- Level 7-9: Advanced challenges and complex boss patterns
- Level 10: Final boss showdown
- Cacao - Basic enemy
- Eye - Tracking enemy
- Asteroid - Obstacle
- JellyFish - Floating enemy
- Sharp Cube - Fast enemy
- Comet - Projectile enemy
- Monster Fish - Large enemy
- MR Brain - Smart enemy
- Bone - Skeletal enemy
- Bristle - Spiky enemy
- Space Snake - Serpentine enemy
- UFO - Flying saucer
- Snake Stone - Stone enemy
- Invaders (1-3) - Classic space invaders
- Child Trilobit - Small boss minion
- Heart Breaker - Special enemy
Each level features a unique boss with special attack patterns and multiple phases.
- Resolution: 1280x800 (Fullscreen) or 800x600 (Windowed)
- Frame Rate: 60 FPS (locked)
- Scaling: Automatic letterbox/pillarbox for different screen sizes
- Music: On/Off toggle
- Sound Effects: On/Off toggle
- Volume: Adjustable in-game
- Auto-Attack: Toggle automatic firing
- Difficulty: Scales with level progression
- ✅ Complete migration from XNA to MonoGame 3.8
- ✅ Updated to .NET 9.0
- ✅ Fixed memory leaks and sprite disposal issues
- ✅ Implemented singleton pattern for GameBoard
- ✅ Enhanced screen management system
- ✅ Fixed BouncingFire collision bug
- ✅ Added debug overlay (F1)
- ✅ Improved UI positioning
- ✅ Re-enabled resolution options
- ✅ Updated game icon
- ✅ Prepared for Microsoft Store submission
- 🎮 Initial release for Windows Desktop
- 📱 Windows Phone version
- 🎵 10 original music tracks
- 🎯 10 levels with unique bosses
This is a personal project and is not currently accepting contributions. However, feel free to:
- Report bugs via Issues
- Suggest features via Discussions
- Fork for educational purposes (see License)
Non-Commercial Use Only
Copyright © 2014-2025 Arar Game. All rights reserved.
- ✅ Allowed: Personal use, educational purposes, code study
- ❌ Not Allowed: Commercial use, redistribution, asset extraction for other projects
- ❌ Not Allowed: Selling, sublicensing, or monetizing this software or its assets
All game assets (graphics, music, sounds) are proprietary and may not be used in other projects without explicit permission.
The source code is provided for educational and reference purposes. You may study and learn from it, but may not use it in commercial projects.
For commercial licensing inquiries, please contact via LinkedIn or GitHub
- Game Design & Programming: Koray Arar
- Original Framework: XNA Framework 4.0 (Microsoft)
- Current Framework: MonoGame 3.8 (MonoGame Team)
- Migration Assistance: Antigravity IDE (Kiro AI)
- Composer: Sahin Meric
- Tracks: 10 original compositions
- Las Calles
- UFO
- Funk My Heart
- Clubber
- Optimism
- Kovalamaca
- My Summer Hits 2014
- Sahur Vakti
- Transition
- Just For Me
- MonoGame Community
- XNA Game Studio Community
- All playtesters and supporters since 2014
- Developer: Koray Arar
- GitHub: @arargame
- LinkedIn: Koray Arar
If you enjoy Paint Trek, please:
- ⭐ Star this repository
- 🐛 Report bugs
- 💡 Suggest features
- 📢 Share with friends
Paint Trek - Journey through space, one pixel at a time 🚀
Made with ❤️ using C# and MonoGame



