DaemonWindows is an innovative action game that transforms the traditional Windows desktop environment into a dynamic gaming battlefield. Players control a character that can move between multiple windows, creating a unique multi-window gaming experience that blurs the line between game interface and desktop applications. This experimental project explores unconventional game design by utilizing the Windows API to create an immersive gameplay experience that extends beyond the typical single-window constraint.
- Multi-Window Navigation: Players can seamlessly move between different game windows, each serving as interconnected game environments
- Dynamic Entity System: Entities spawn and interact across multiple windows, creating complex spatial relationships
- Resource Management: Collect coins and manage health while navigating the window-based battlefield
- Progressive Shop System: Upgrade player abilities using collected currency through an integrated shop interface
- Windows API Integration: Advanced utilization of Windows system calls for multi-window management and focus control
- Cross-Window Collision System: Sophisticated physics and collision detection that works across multiple application windows
- Real-time Window Manipulation: Dynamic window resizing, positioning, and focus management as core gameplay mechanics
- Entity Lifecycle Management: Comprehensive system for spawning, updating, and destroying game entities across windows
- Audio-Visual Feedback: Integrated sound system with state-based audio management
- Upgrade Progression: RPG-like character improvement system with speed, health, and maximum health upgrades
- Game Engine: Custom Daemon Engine (C++)
- Programming Languages: C++, Windows API
- Graphics Pipeline: DirectX 11 with 2D sprite rendering
- Audio Engine: Custom audio system with positional sound
- Networking: Not applicable (single-player focused)
- Platform: Windows (x64) - leverages Windows-specific APIs for multi-window functionality
โโโ Code/
โ โโโ Game/
โ โโโ Gameplay/
โ โ โโโ Game.cpp/hpp (Main game controller)
โ โ โโโ Player.cpp/hpp (Player entity with window management)
โ โ โโโ Entity.cpp/hpp (Base entity class)
โ โ โโโ Bullet.cpp/hpp (Projectile system)
โ โ โโโ Circle.cpp/hpp (Enemy entity type)
โ โ โโโ Triangle.cpp/hpp (Enemy entity type)
โ โ โโโ Octagon.cpp/hpp (Enemy entity type)
โ โ โโโ Coin.cpp/hpp (Collectible currency)
โ โ โโโ Debris.cpp/hpp (Environmental objects)
โ โ โโโ Shop.cpp/hpp (Upgrade system)
โ โโโ Framework/
โ โโโ Subsystem/
โโโ Docs/
โ โโโ README.md
โโโ Run/
โโโ Temporary/
โโโ DaemonWindows.sln
- Visual Studio 2022 or later with C++ development tools
- Windows 10 SDK (10.0.19041.0 or later)
- DirectX 11 compatible graphics card
- Windows 10/11 (required for advanced window management features)
-
Clone the repository
git clone https://github.com/dadavidtseng/DaemonWindows.git cd DaemonWindows
-
Open the Visual Studio solution
start DaemonWindows.sln
-
Build the project
- Set platform to
x64
- Choose
Debug
orRelease
configuration - Press
Ctrl+Shift+B
to build
- Set platform to
-
Run the game
- Press
F5
to start with debugging orCtrl+F5
to run without debugging
- Press
- SPACE: Enter the game
- ESC: Exit the application
- WASD: Move the player character
- Left Mouse Button: Shoot projectiles
- SPACE: Open the upgrade shop
- ESC: Return to attract mode
- 1: Increase player movement speed
- 2: Restore player health
- 3: Increase maximum health capacity
- ESC: Return to the game
- Attract Mode: Main menu with game information and controls
- Survival Mode: Navigate multiple windows while avoiding enemies and collecting coins
- Shop Mode: Spend collected coins on character upgrades
- Phase 1: Core multi-window system implementation
- Phase 2: Entity management and collision detection across windows
- Phase 3: Player controls and basic game mechanics
- Phase 4: Shop system and progression mechanics
- Phase 5: Advanced enemy AI and spawn patterns
- Phase 6: Visual effects and particle systems
- Phase 7: Performance optimization and polish
- Window Focus Management: Occasional focus conflicts when switching between game windows rapidly
- Performance Scaling: Frame rate may decrease with high entity counts across multiple windows
- Window Positioning: Some edge cases with window boundary collision detection
- Multi-window entity movement and interaction
- Dynamic collision detection across window boundaries
- Real-time shop interface with upgrade purchasing
- Smooth player movement with momentum-based physics
- Advanced Windows API integration for window management
- Custom entity component system with cross-window capabilities
- Efficient collision detection optimized for multi-window scenarios
This project explores several innovative areas in game development and human-computer interaction:
- Multi-Window Game Design: Investigating how traditional game mechanics can be adapted for multi-window environments
- Desktop Integration Gaming: Exploring the boundaries between game applications and desktop environment interaction
- Window Management as Gameplay: Using operating system window management as a core gameplay mechanic
The development approach emphasizes experimental game design with focus on:
- User Experience Research: Understanding player behavior when interacting with multi-window game interfaces
- Technical Innovation: Pushing the boundaries of traditional game window constraints
- Performance Analysis: Optimizing game systems for multi-window rendering and event handling
- Player Adaptation: Users quickly adapt to multi-window navigation, finding it intuitive after initial learning curve
- Technical Feasibility: Windows API provides sufficient functionality for advanced window manipulation in games
- Design Opportunities: Multi-window gaming opens new possibilities for puzzle and strategy game mechanics
Contributions are welcome, especially in areas related to Windows API optimization and multi-window game design patterns.
- Fork the repository
- Create a feature branch (
git checkout -b feature/window-enhancement
) - Make your changes with clear commit messages
- Test on multiple Windows versions if possible
- Submit a pull request with detailed description
- Performance Optimization: Multi-window rendering efficiency improvements
- Cross-Platform Exploration: Investigating similar functionality on macOS/Linux
- Advanced Window Effects: Visual transitions and effects for window interactions
- Accessibility Features: Making multi-window gaming more accessible
- Technical Design Document (planned)
- Windows API Integration Guide (planned)
- Multi-Window Game Design Patterns (planned)
- Performance Optimization Guide (planned)
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Custom Daemon Engine: Built as part of personal engine development journey
- Windows API Documentation: Microsoft's comprehensive system programming resources
- Game Development Community: Inspiration from experimental and indie game developers
- Desktop Application Design: Insights from modern desktop application UX patterns
For questions about this project, please contact:
- Developer: Yu-Wei Tseng - [email protected]
- GitHub: https://github.com/dadavidtseng
- Portfolio: https://dadavidtseng.info
Development Period: 2023 - Present (Active Development)
Last Updated: August 7, 2025