Navigation: BlockCore
A modular, open-source voxel game engine powering sandbox worlds.
BlockCore is a high-performance game engine built with C# and .NET 9, designed specifically for voxel-based games. It provides the foundational systems for rendering, physics, world generation, networking, plugins, and resource management—everything needed to build immersive sandbox experiences like MineWorld.
- 🎨 High-Performance Rendering: Modern graphics pipeline with greedy meshing, shader support, and optimized chunk rendering
- 🌍 Infinite Procedural Worlds: Deterministic world generation from seeds with configurable biomes and structures
- ⚡ Physics Engine: AABB collision detection, character controller, and voxel-based physics
- 🔌 Plugin System: Sandboxed Lua/JS plugin host with versioned APIs and capability checks
- 📦 Resource Packs: VFS-based pack system supporting textures, models, shaders, and localization
- 🌐 Networking: Client-server architecture with chunk streaming and authoritative server
- 💾 Save System: Compressed region files with atomic writes and version migration
- ⚙️ Configuration: TOML/JSON-based config with hot-reload support
BlockCore/
├─ Core/ # App loop, platform abstraction, job system
├─ Render/ # GPU abstraction, materials, shaders
├─ Voxel/ # Blocks, chunks, meshing, lighting
├─ WorldGen/ # Noise generation, biome system
├─ Physics/ # Collision detection, character controller
├─ Commands/ # Command dispatcher, permissions
├─ Resources/ # VFS, pack loader, hot-reload
├─ Plugins/ # Plugin host, sandbox, event bus
├─ IO/ # Save format, compression, backups
├─ Net/ # Protocol, serialization, replication
└─ Config/ # Configuration system
Note: BlockCore is currently in early development (v0.1). APIs are subject to change.
- .NET 9 SDK
- Windows 10/11, Linux, or macOS
- GPU with Vulkan/DirectX 12/Metal support
# Clone the repository
git clone https://github.com/DandelionBold/BlockCore.git
cd BlockCore
# Build the engine
dotnet build
# Run tests
dotnet test# Add BlockCore as a dependency
dotnet add package BlockCore --version 0.1.0-preview- 🎓 Learning Path: Comprehensive guides for developers transitioning from enterprise development to game engine development
- Planning & Roadmap - Long-term vision and architecture
- v0.1 Development Plan - Current milestone details
- API Documentation - Complete API reference
- Tutorials - Step-by-step guides
- MineWorld - A voxel sandbox game built on BlockCore
BlockCore follows semantic versioning (MAJOR.MINOR.PATCH):
- MAJOR: Breaking API changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes only
- v0.1 - Foundation (window, rendering, single chunk, camera)
- v0.2 - World generation & saves
- v0.3 - Physics & editing
- v0.4 - Commands & resource packs
- v0.5 - Plugin system
- v0.6 - Networking
- v1.0 - Stable API release
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
- C# Conventions:
- Constants:
SCREAMING_SNAKE_CASE - Variables/Functions:
camelCase - Classes:
PascalCase
- Constants:
- Commits: Reference task plan files in commit messages
- Branching:
MAJOR.MINOR.PATCH/feature/<short-slug>
BlockCore is dual-licensed:
- Code: Apache License 2.0
- Example Assets: CC BY 4.0
- MineWorld - Reference game implementation built on BlockCore
- Demonstrates engine capabilities
- Provides game development examples
- Learning Guide
-
BlockCore-SDK - Developer toolkit for engine extensions
- CLI tools for plugin development
- Schemas and validation tools
- SDK Documentation
-
MineWorld-SDK - Modding toolkit for MineWorld
- Game-specific modding tools
- Content creation utilities
- Modding Guide
- GitHub Issues: Bug reports and feature requests
- Discussions: Questions and community chat
Next: Learning Path | Planning Documentation
Built with ❤️ by the BlockCore Team