Skip to content

DandelionBold/BlockCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

BlockCore

Navigation: BlockCore

License .NET Status

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.


🎯 Features

  • 🎨 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

🏗️ Architecture

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

🚀 Getting Started

Note: BlockCore is currently in early development (v0.1). APIs are subject to change.

Prerequisites

  • .NET 9 SDK
  • Windows 10/11, Linux, or macOS
  • GPU with Vulkan/DirectX 12/Metal support

Building from Source

# Clone the repository
git clone https://github.com/DandelionBold/BlockCore.git
cd BlockCore

# Build the engine
dotnet build

# Run tests
dotnet test

Using BlockCore in Your Game

# Add BlockCore as a dependency
dotnet add package BlockCore --version 0.1.0-preview

📚 Documentation


🎮 Example Games

  • MineWorld - A voxel sandbox game built on BlockCore

🛠️ Development

BlockCore follows semantic versioning (MAJOR.MINOR.PATCH):

  • MAJOR: Breaking API changes
  • MINOR: New features (backward compatible)
  • PATCH: Bug fixes only

Current Roadmap

  • 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

🤝 Contributing

Contributions are welcome! Please read our contributing guidelines before submitting PRs.

Development Guidelines

  • C# Conventions:
    • Constants: SCREAMING_SNAKE_CASE
    • Variables/Functions: camelCase
    • Classes: PascalCase
  • Commits: Reference task plan files in commit messages
  • Branching: MAJOR.MINOR.PATCH/feature/<short-slug>

📄 License

BlockCore is dual-licensed:


🌟 Related Projects

Core Ecosystem

  • MineWorld - Reference game implementation built on BlockCore
    • Demonstrates engine capabilities
    • Provides game development examples
    • Learning Guide

Developer Tools


💬 Community

  • GitHub Issues: Bug reports and feature requests
  • Discussions: Questions and community chat

📖 Navigation

Next: Learning Path | Planning Documentation

Built with ❤️ by the BlockCore Team

About

A modular, high-performance voxel game engine in C#/.NET 9 — rendering, physics, procedural world-gen, networking, plugins, and resource packs. The foundation behind MineWorld.

Topics

Resources

License

Unknown, CC-BY-4.0 licenses found

Licenses found

Unknown
LICENSE
CC-BY-4.0
LICENSE-CC-BY-4.0

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors