A Project Blessed by Solar Khan & Lilith.Aethra
A comprehensive game engine and development framework inspired by Sword Art Online, featuring advanced VR integration, cross-platform asset management, and immersive virtual world experiences.
- CMake 3.20+
- C++20 compatible compiler (GCC 11+, Clang 12+, MSVC 2022+)
- Python 3.8+ (for build scripts)
- Vulkan SDK (for rendering)
- SteamVR (for VR support)
# Clone the repository
gh repo clone MKWorldWide/Aincrad
cd Aincrad
# Configure with CMake
cmake -B build -DCMAKE_BUILD_TYPE=Release
# Build the project
cmake --build build --config Release --parallel
# Run tests
cd build && ctest --output-on-failureAincrad/
├── @src/ # Core engine source code
├── Assets/ # Game assets and resources
├── Content/ # Game content and levels
├── Tools/ # Development tools and scripts
├── docs/ # Documentation source
└── .github/ # CI/CD and project configuration
Full documentation and the Divine Law can be found on the Aincrad Codex.
# Install MkDocs and required plugins
pip install mkdocs mkdocs-material mkdocs-git-revision-date-localized-plugin
# Serve documentation locally
mkdocs serve- Advanced Combat System: Third-person action RPG with combo mechanics, lock-on targeting, and stamina management
- Skill System: Dynamic skill trees with cooldown management and progression
- AI Framework: Intelligent enemy behavior with weak spot mechanics and adaptive difficulty
- Zone System: Seamless world transitions with floor-based progression
- Physics Engine: Custom time dilation system (1:1000 ratio) for unique gameplay mechanics
- Multi-Platform VR Support: Oculus Rift, SteamVR, and OpenXR compatibility
- Motion Controls: Gesture-based skill activation and natural combat interactions
- Comfort Features: Vignette, snap turning, and room-scale optimization
- Vision Pro Integration: Advanced AR/VR hybrid experiences
- Cross-Platform Asset Management: Optimized asset handling for Windows, Mac, Linux, and VR
- Memory Management: Advanced pool allocation with platform-specific optimizations
- Streaming System: Efficient asset streaming and delta updates
- Modular Design: Component-based architecture for easy extension and maintenance
- Asset Pipeline: Comprehensive asset creation and processing tools
- Automated Build System: Multi-platform build scripts with CI/CD integration
- Testing Framework: Automated testing with performance benchmarking
- Steam Integration: Workshop support, achievements, and cloud saves
Aincrad/
├── @src/ # Core engine source code
│ ├── World/ # World and zone systems
│ ├── Characters/ # Player and NPC systems
│ ├── Combat/ # Combat and weapon systems
│ ├── Skills/ # Skill and progression systems
│ ├── AI/ # Artificial intelligence
│ ├── UI/ # User interface systems
│ └── Content/ # Game content and assets
├── @docs/ # Comprehensive documentation
├── @tests/ # Test suites and benchmarks
├── @tools/ # Development and asset tools
└── AincradTerminal/ # Terminal interface system
- CMake 3.14 or higher
- C++17 compatible compiler (GCC 7+, Clang 5+, MSVC 2017+)
- Google Test for testing framework
- JsonCpp for configuration management
- Unreal Engine 5 (for full game development)
# Clone the repository
git clone https://github.com/yourusername/aincrad.git
cd aincrad
# Create build directory
mkdir build && cd build
# Configure with CMake
cmake ..
# Build the project
cmake --build . --config Release
# Run tests
ctest --output-on-failure# Build the asset CLI tool
cmake --build . --target aincrad-asset
# Use the asset management system
./bin/aincrad-asset --helpThe heart of Aincrad's cross-platform capabilities:
// Initialize asset manager
auto assetManager = std::make_unique<Aincrad::World::AssetManager>();
// Load assets with platform-specific optimization
auto asset = assetManager->loadAsset("sword_model");
if (asset && asset->isLoaded()) {
// Use asset in game
}Advanced third-person combat with VR support:
// Player character with combat capabilities
auto player = std::make_unique<Aincrad::Characters::PlayerCharacter>();
player->initializeCombatSystem();
// Weapon system with durability and chaining
auto weapon = std::make_unique<Aincrad::Combat::WeaponComponent>();
weapon->setWeaponType(WeaponType::Sword);
weapon->enableComboSystem();Dynamic skill progression and management:
// Skill system with cooldown management
auto skillSystem = std::make_unique<Aincrad::Skills::SkillSystemComponent>();
skillSystem->addSkill("Sword Art", SkillType::Combat, 5.0f);
skillSystem->addSkill("Healing", SkillType::Support, 10.0f);Aincrad features a meticulously designed virtual world with 100 floors, each offering unique experiences:
- Floor 1: Town of Beginnings - Medieval European town with tutorial content
- Floor 2: Forest of Wandering - Magical forest with nature-based challenges
- Floor 3: Desert of Illusions - Mystical desert with mirage mechanics
- Floor 4: Floating Islands - Sky islands with gravity-defying gameplay
- Floor 5: Crystal Caverns - Underground crystal realm with light mechanics
Each floor features:
- Unique physics interactions
- Platform-specific optimizations
- AR integration for real-world quests
- VR-specific comfort features
- Oculus Rift/Quest: Full motion controller support
- SteamVR: HTC Vive, Valve Index, and compatible headsets
- OpenXR: Future-proof VR framework support
- Vision Pro: Advanced AR/VR hybrid experiences
- Performance: 90+ FPS optimization for all VR platforms
- Comfort: Comprehensive comfort features and accessibility options
- Controls: Intuitive motion controller and gesture-based interactions
- Social: Multiplayer VR experiences with voice chat
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing C++ coding standards
- Use meaningful variable and function names
- Add comprehensive documentation
- Include unit tests for new features
# Run all tests
ctest --output-on-failure
# Run specific test suite
./bin/aincrad_tests --gtest_filter=AssetManagerTest*
# Run performance benchmarks
./bin/aincrad_tests --gtest_filter=*Benchmark*Comprehensive documentation is available in the @docs/ directory:
- Architecture Guide: Detailed system architecture
- VR Development: VR-specific development guide
- Asset Pipeline: Asset management and processing
- World Design: Floor design and world building
- API Reference: Complete API documentation
- Multiple version support (Alpha, Beta, Release, VR)
- Steam Workshop integration for mods
- Achievement and leaderboard systems
- Cloud save support
- CI/CD pipeline with GitHub Actions
- Automated testing and quality assurance
- Multi-platform build automation
- Performance monitoring and optimization
This project is licensed under the MIT License - see the LICENSE file for details.
- Reki Kawahara for the original Sword Art Online concept
- VRChat community for VR development inspiration
- Unreal Engine team for the powerful game engine
- Open source community for tools and libraries
- Discord: Join our community
- Reddit: r/AincradDev
- Twitter: @AincradGame
- YouTube: Aincrad Development
Ready to dive into the virtual world? Start your journey with Aincrad today! 🗡️✨
"The only way to beat the game is to clear all 100 floors..."
Eden One City is the heart of AINCRAD—a modular, immersive city hub inspired by Disney/Universal design, with water, glass, floating gardens, and starlit vistas. It is the launchpad to all other ages and worlds.
- See @docs/World/Hub_System.md for a quantum-detailed narrative and design.
- For modular code, see
World/CityZone.handWorld/CityZoneRegistry.h. - Explore the Eden One City project at Eden One City GitHub.