A Unity-based recreation of the classic Advance Wars strategy game, featuring turn-based tactical combat, multiple unit types, and a complete battle system. Designed for WebGL and online play.
- Turn-based Strategy: Classic Advance Wars gameplay mechanics
- Grid-based Movement: Strategic unit positioning on a 20x20 grid
- Complete Combat System: Damage calculations with terrain bonuses, health modifiers, and counter-attacks
- Multiple Unit Types: Infantry, Tanks, Artillery, and more with unique stats and abilities
- Faction System: Multiple armies (Orange Star, Blue Moon, etc.) with distinct visual styles
- Damage Tables: Authentic unit vs unit damage calculations
- Terrain Defense: Mountains, forests, and cities provide defensive bonuses
- Health Impact: Damaged units deal reduced damage (10 HP = 100% damage, 1 HP = 10% damage)
- Counter-attacks: Defending units can strike back when in range
- Ammo System: Units have limited ammunition for attacks
- Random Variance: ยฑ10% damage variation for realistic combat
- Strategic AI: Computer opponents that make tactical decisions
- Multiple Difficulty Levels: Easy, Normal, Hard, and Expert modes
- Configurable Behavior: Adjustable aggressiveness and play style
- Automatic Turn Management: AI players automatically take their turns
- Smart Targeting: AI prioritizes weak enemies and valuable targets
- Terrain Awareness: AI uses defensive terrain bonuses effectively
- 3D Models: High-quality unit and terrain models
- Multiple Terrains: Normal, Desert, Snow, and Wasteland environments
- Faction Buildings: Army-specific structures (airports, factories, cities)
- Unity URP: Modern rendering pipeline for optimized performance
- Engine: Unity 2022.3+ LTS
- Rendering: Universal Render Pipeline (URP)
- Platform: Windows/WebGL ready
- Architecture: Component-based design with ScriptableObjects for data
Assets/
โโโ Scripts/
โ โโโ Core/ # GameManager, InputManager, combat logic
โ โโโ Data/ # ScriptableObjects for units, terrain, factions
โ โโโ Grid/ # Grid system and tile management
โ โโโ Units/ # Unit behavior and management
โ โโโ Combat/ # Combat calculations and systems
โโโ Models/
โ โโโ units/ # 3D unit models for all factions
โ โโโ terrain/ # Terrain tiles and buildings
โ โโโ buildings/ # Faction-specific structures
โโโ Materials/ # Unit and terrain materials
โโโ Scenes/
โโโ GameScene # Main gameplay scene
- Unity 2022.3 LTS or newer
- Git for version control
-
Clone the repository:
git clone https://github.com/binkyfishai/advancewars-online-3s.git
-
Open Unity Hub and add the project folder
-
Open the project in Unity
-
Open the
GameScenein the Scenes folder -
Press Play to start the game
- The game automatically generates a 20x20 grid of terrain tiles
- Test units are spawned at startup for immediate gameplay testing
- Click on units to select them, then click on tiles to move or attack
- Left Click: Select units or tiles
- Unit Selection: Click on your units to select them
- Movement: Click on empty tiles within range to move selected units
- Combat: Click on enemy units within attack range to engage in battle
- Select a Unit: Click on one of your units (Orange Star faction)
- Move or Attack:
- Click on highlighted tiles to move
- Click on enemy units to attack (if in range and have ammo)
- Turn Management: Each unit can move and attack once per turn
- Strategic Combat: Use terrain for defense bonuses and plan unit positioning
- High Ground Advantage: Mountains provide +4 defense, forests +2
- Health Matters: Damaged units deal proportionally less damage
- Range Considerations: Different units have different attack ranges
- Ammo Management: Units have limited ammunition - use it wisely
- Central game state management
- Turn handling and player switching
- Unit spawning and selection logic
- Damage calculation algorithms
- Terrain bonus calculations
- Health impact modifiers
- Random variance application
- 20x20 grid generation and management
- Tile positioning and reference system
- Pathfinding and movement validation
- Unit lifecycle management
- Unit data and stats handling
- Movement and action coordination
- UnitData: ScriptableObjects defining unit stats, movement, and combat values
- TerrainData: Tile types, movement costs, and defense bonuses
- FactionData: Army colors, building styles, and unit variants
- Unit models: Custom 3D models for authentic Advance Wars look
- Terrain tiles: Multiple environment variants (Normal, Desert, Snow, Wasteland)
- Buildings: Faction-specific structures for each army
- Orange Star (Player default)
- Blue Moon (Enemy faction)
- Green Earth
- Yellow Comet
- Red Tower
- Purple Lightning
- Teal Galaxy
- Silver Claw
- Umber Wilds
- White Nova
- Online Multiplayer: Real-time multiplayer battles
- Campaign Mode: Single-player story missions
- Map Editor: Custom battlefield creation
- CO Powers: Special commander abilities
- More Unit Types: Naval and air units
- Weather System: Rain, snow affecting gameplay
- Fog of War: Limited visibility mechanics
- Unit Production: Factory and airport unit creation
- WebGL Optimization: Enhanced web performance
- Mobile Support: Touch controls and UI scaling
- Save System: Game state persistence
- AI Opponents: Computer-controlled enemies โ
- Animation System: Unit movement and combat animations
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is a fan recreation of Advance Wars for educational purposes. All original game concepts belong to Nintendo/Intelligent Systems.
- Nintendo/Intelligent Systems for the original Advance Wars series
- Unity Technologies for the game engine
- Nova-Odos for the video game models
The core gameplay loop is complete and functional:
- โ Unit selection and movement
- โ Combat system with damage calculations
- โ Turn-based mechanics
- โ Terrain interactions
- โ Strategic AI system with multiple difficulty levels
- โ Automated enemy turns with tactical decision-making
Ready to play and test! ๐
For detailed AI configuration instructions, see AI_SETUP_GUIDE.md
