8.2 KiB
8.2 KiB
🟦 MorriCraft
MorriCraft is a high-performance, multiplayer-ready voxel engine built from the ground up using C++ and Raylib. Inspired by classic survival games, it features a custom physics engine, real-time world synchronization, and a deep crafting system.
🌟 Key Features
⚔️ Combat & Survival
- PvP Combat: Real-time melee combat with synchronized hit registration, knockback, and audio feedback.
- Health System: 8-heart health system with a visual HUD and damage mechanics.
- Survival Mechanics: Block-breaking progress and material-specific dig times.
👥 Multiplayer & LAN
- P2P Architecture: Cross-platform networking stack using standard sockets (Windows/Linux).
- Instant LAN Hosting: Host your world with a single click from the pause menu.
- Skin Personalization: Built-in skin editor to customize your character's shirt and pants, fully synchronized across the network.
- Global Chat: Press
Enterto communicate with other players in real-time.
🔨 Crafting & Inventory
- 20+ Recipes: Full crafting tree from logs to tools — wooden & stone tier tools, furnace, chest, doors, fences, ladders, and more.
- Dual Crafting Modes: 2×2 player inventory grid and 3×3 Workbench with pattern matching.
- Smart Stacking: Left-click merges same-type stacks, right-click picks up or places one item at a time.
- Inventory Tooltips: Hover over any item to see its name.
🌲 World & Visuals
- Multi-Texture Blocks: Oak logs render with bark sides and ringed tops/bottoms. Grass has separate top/side/bottom faces.
- High-Detail Foliage: Custom leaf textures with natural green tinting.
- Dynamic Lighting: Full day/night cycle with atmospheric color shifts.
- Optimized Rendering: Texture batching, neighbor-chunk caching, and frustum culling for 60+ FPS.
⚙️ Technical
- Dynamic World Gen: Multi-octave Perlin noise (FBM) with forests, sand beaches, and ore veins.
- Cross-Platform: Standalone binaries for Windows and Linux with zero external DLL dependencies.
- Auto-Update System: Built-in version checking and download support.
🚀 Getting Started
Prerequisites
- Linux:
libpulse-dev,glfwdevelopment headers. - Windows: Download the pre-built zip from Releases, or cross-compile with MinGW-w64.
Build Instructions
🐧 Linux
mkdir build-linux && cd build-linux
cmake ..
make -j$(nproc)
./MorriCraft
🪟 Windows (Cross-compile)
mkdir build-windows && cd build-windows
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-windows.cmake ..
make -j$(nproc)
A pre-built MorriCraft-Windows.zip is available in the repository root.
🎮 Controls
| Key | Action |
|---|---|
| WASD | Movement |
| Space | Jump |
| Mouse | Look / Aim |
| Left Click | Attack / Destroy Block |
| Right Click | Place Block / Use Workbench |
| E | Open Inventory |
| Enter | Open Chat |
| 1-9 | Hotbar Selection |
| ESC | Pause / Menu |
📜 Crafting Recipes
2×2 Player Grid
| Input | Output |
|---|---|
| 1 Log | 4 Planks |
| 4 Planks (2×2) | 1 Crafting Table |
| 2 Planks (vertical) | 4 Sticks |
3×3 Crafting Table
| Recipe | Output | Recipe | Output |
|---|---|---|---|
| PPP / .S. / .S. | Wooden Pickaxe | CCC / .S. / .S. | Stone Pickaxe |
| PP. / PS. / .S. | Wooden Axe | CC. / CS. / .S. | Stone Axe |
| .P. / .P. / .S. | Wooden Sword | .C. / .C. / .S. | Stone Sword |
| .P. / .S. / .S. | Wooden Shovel | .C. / .S. / .S. | Stone Shovel |
| PP. / .S. / .S. | Wooden Hoe | CC. / .S. / .S. | Stone Hoe |
| CCC / C.C / CCC | Furnace | PPP / P.P / PPP | Chest |
| PP. / PP. / PP. | Door ×3 | PSP / PSP | Fence ×3 |
| S.S / SSS / S.S | Ladder ×3 | ... / ... / CCC | Stone Slab ×6 |
P = Plank, S = Stick, C = Cobblestone. Mirrored variants supported.
📜 Version History
v2.3.1 - Major Update: Hunger System & Accurate Updater (Current)
- Hunger System: Added player hunger bar, starvation mechanics, and health regeneration when full.
- Apple Item: Added edible Apple item to restore hunger.
- Grass Texture: Improved
grass_toptexture with better pixel art. - World Spawn Fix: Fixed missing terrain chunks behind the player on new world generation.
v2.2.26 - Hunger & World Gen Patch
- 'E' Key Bug Fix: Resolved an issue where the inventory overlay would get out of sync with container/cheat GUIs, preventing the menu from staying open or resulting in a missing cursor.
- /test Command: Refined the
/testcommand to grant exactly 1x Crafting Table and 64x Oak Logs with descriptive feedback. - Help Command: Updated
/helpto include all debug commands (/test,/cheat,/fly,/seed). - /fly Command: Added a simple toggle behavior to the
/flycommand.
v2.2.23 - Persistence & Viewmodel Fixes
v2.2.22 - World Generation Polish
v2.2.21 - Save Fix & Updater Polish
v2.2.20 - UI Polish & Spawn Fixes
v2.2.19 - Torch & persistence Overhaul
v2.2.18 - Persistence & UI Fixes
v2.2.6 - World Management
- 7:00 AM Spawn: New worlds now start in the morning for immediate daylight.
- Naming System: Cleaner sequential naming (
World,World 1,World 2) instead of nested parentheses. - Anti-Stuck Physics: Active collision resolution pushes players out of blocks if they overlap.
- Build Path: Windows artifacts are now stored in
build-windows/for easier deployment.
v2.2.5 - UX & Inventory Polish
- Shift-Click: Holding Shift and clicking picks up entire item stacks instantly.
- Scrollable Menus: Added scroll bars and mouse-wheel support for the "Load World" menu.
- UI Padding: Increased padding across all panels to ensure text never overlaps borders.
v2.2.4 - Visual & Update Stability
- X-Ray Fix: Neighborhood chunk dirtying ensures internal faces are culled immediately.
- Smart Updates: Client only prompts for updates if the remote version is strictly higher.
- 15x15 Pre-Gen: Expanded spawn area pre-generation (225 chunks) to eliminate horizon drop-offs.
v2.2.3 - Async Generation & Help
- Loading Screen: Added a progress bar for asynchronous world generation/loading.
- Help Command: Added
/helpto chat to display all available console commands. - Spawn Surface: Guaranteed surface placement after full chunk pre-generation.
v2.2.1 - World & Seed Polish
- Cliff Fix: Resolved issues where new worlds would spawn with missing chunks.
- Render Distance: Increased default render distance to 4 for a more expansive view.
- Auto-Updater: Platform-aware updates target Windows vs Linux binaries.
v2.2.0 - Biome & Generation Update
- Seed Fix: Proper avalanche-hash for seeds, making every world truly unique.
- Biomes: Added Grassland, Desert, and Rocky biomes with sand beaches at sea level.
- Commands: Added
/seedcommand to view the world seed in chat.
v2.1.9 - Crafting Overhaul
- 20+ Recipes: Added Log→Planks and full wooden/stone tool tier crafting.
- Smart Inventory: Left-click stacks same items, right-click picks up or places one.
- Future Item IDs: Added furnace, chest, ladder, fence, torch, door, and stone slab types.
v2.1.8 - Forest Fidelity
- HQ Leaves: New high-definition leaf texture with proper green tinting.
- Tree Fix: Corrected log rendering to use multi-texture bark/ring mapping.
v2.1.7 - Log Realism
- Oak Log Textures: Dedicated bark (side) and ring (top) textures for logs.
v2.1.6 - Inventory Insight
- Item Tooltips: Mouse-over identification for all inventory items.
v2.1.2 - Combat & Health
- PvP Melee: Ray-traced hit detection with knockback and audio feedback.
- Heart HUD: 8-heart health system.
v2.1.0 - Personalization
- Skin Editor: Shirt and pants color customization, synced across network.
- Humanoid Models: Multi-cube player avatars replacing placeholder blobs.
v2.0.0 - Multiplayer
- P2P Networking: Cross-platform sockets with direct connect and LAN hosting.
- Chat System: Real-time text communication between players.
Developed by the MorriCraft Team. Built with Raylib 5.0.
