4.1 KiB
4.1 KiB
Tetris SDL3 - Production Deployment Guide
🚀 Build Scripts Available
1. Quick Package (Recommended)
.\package-quick.ps1
- Uses existing Debug/Release build from build-msvc
- Creates distribution package with all dependencies
- Size: ~939 MB (includes all assets and music)
- Output:
dist/TetrisGame/+ ZIP file
2. Full Production Build
.\build-production.ps1 -Clean
- Builds from source with Release optimizations
- Complete clean build process
- More comprehensive but requires proper CMake setup
3. Simple Batch Build
build-production.bat
- Windows batch file alternative
- Simpler but less features
📦 Package Contents
The distribution package includes:
Essential Files
- ✅
tetris.exe- Main game executable - ✅
Launch-Tetris.bat- Safe launcher with error handling - ✅
README.txt- User instructions
Dependencies
- ✅
SDL3.dll- Main SDL library - ✅
SDL3_ttf.dll- Font rendering support
Game Assets
- ✅
assets/fonts/- PressStart2P-Regular.ttf (retro font) - ✅
assets/images/- Logo, background, block textures (BMP format) - ✅
assets/music/- Background music tracks (11 tracks) - ✅
assets/favicon/- Icon files - ✅
FreeSans.ttf- Main UI font
🎯 Distribution Options
Option 1: ZIP Archive (Recommended)
- File:
TetrisGame-YYYY.MM.DD.zip - Size: ~939 MB
- Usage: Users extract and run
Launch-Tetris.bat
Option 2: Installer (Future)
- Use CMake CPack to create NSIS installer
-
cmake --build build-release --target package
Option 3: Portable Folder
- Direct distribution of
dist/TetrisGame/folder - Users copy folder and run executable
🔧 Build Requirements
Development Environment
- CMake 3.20+
- Visual Studio 2022 (or compatible C++ compiler)
- vcpkg package manager
- SDL3 libraries (installed via vcpkg)
vcpkg Dependencies
vcpkg install sdl3 sdl3-ttf --triplet=x64-windows
✅ Pre-Distribution Checklist
Testing
- Game launches without errors
- All controls work (arrows, Z/X, space, etc.)
- Music plays correctly
- Fullscreen toggle (F11) works
- Logo and images display properly
- Font rendering works (both FreeSans and PressStart2P)
- Game saves high scores
Package Validation
- All DLL files present
- Assets folder complete
- Launch-Tetris.bat works
- README.txt is informative
- Package size reasonable (~939 MB)
Distribution
- ZIP file created successfully
- Test extraction on clean system
- Verify game runs on target machines
- No missing dependencies
📋 User System Requirements
Minimum Requirements
- OS: Windows 10/11 (64-bit)
- RAM: 512 MB
- Storage: 1 GB free space
- Graphics: DirectX compatible
- Audio: Any Windows-compatible audio device
Recommended
- OS: Windows 11
- RAM: 2 GB
- Storage: 2 GB free space
- Graphics: Dedicated graphics card
- Audio: Stereo speakers/headphones
🐛 Common Issues & Solutions
"tetris.exe is not recognized"
- Solution: Ensure all DLL files are in same folder as executable
"Failed to initialize SDL"
- Solution: Update graphics drivers, run as administrator
"No audio"
- Solution: Check audio device, update audio drivers
Game won't start
- Solution: Use
Launch-Tetris.batfor better error reporting
📈 Performance Notes
Asset Loading
- BMP images: Fast loading, reliable across systems
- Music loading: ~11 tracks loaded asynchronously during startup
- Font caching: Fonts loaded once at startup
Memory Usage
- Runtime: ~50-100 MB
- Peak: ~200 MB during asset loading
Optimizations
- Release build uses
/O2optimization - Link-time optimization enabled
- Assets optimized for size/performance balance
🔄 Update Process
- Code changes: Update source code
- Rebuild: Run
.\package-quick.ps1 - Test: Verify functionality
- Distribute: Upload new ZIP file
Ready for distribution! 🎮✨