# MorriCraft ![MorriCraft](assets/TitleImage.png) MorriCraft is a high-performance voxel engine built with C++ and Raylib. It features a custom physics engine, dynamic world generation, and an interactive inventory and crafting system. ## Features - **Custom Physics**: Stable "Ground-Lock" system prevents camera jitter and ensures smooth movement. - **Dynamic World Generation**: Multi-octave Perlin noise (FBM) for realistic terrain, including biomes like grass, sand, and forests. - **Advanced Crafting**: Includes both a 2x2 player inventory grid and a 3x3 workbench system. - **Optimized Rendering**: Texture batching and neighbor-chunk caching for stable 60+ FPS. - **Cross-Platform**: Builds for both Linux and Windows. ## Version History ### v1.6.3 (Latest) - **Atmospheric Music**: Added nighttime theme with dynamic crossfading based on time of day. - **Viewmodel Improvements**: Stabilized the first-person arm and added billboard item rendering. - **Tool Progression**: Implemented the Wooden Axe and Stick crafting system. - **Block Durability**: Added hold-to-mine logic with visual breaking progress and tool speed multipliers. ### v1.5.2 - **Stability Fixes**: Resolved texture corruption and state-management bugs with workstations. - **In-Game Clock**: Added a 12-hour AM/PM HUD clock and day/night status indicator. - **Lighting Engine**: Implemented a global day/night cycle (300s) with dynamic sun/moon and world tinting. ### v1.4.2 - **UI Redesign**: Overhauled the inventory and crafting windows to match the classic Minecraft layout. - **Character Preview**: Added a player preview placeholder in the inventory. - **Centered Layout**: All UI grids are now symmetrically centered. ### v1.4.1 - **Texture Fixes**: Corrected leaf and log textures. - **Inventory Stability**: Fixed the double-toggle bug when pressing 'E'. - **Bug Fixes**: Resolved grass rendering issues and fixed tree generation. ### v1.4.0 - **Crafting Table**: Implemented the Crafting Table block and 3x3 grid interaction. - **Advanced UI**: Centered stack counts and added red versioning to the title screen. ### v1.3.x - **Physics**: Implemented "Ground-Lock" stabilization. - **Inventory**: Added basic drag-and-drop support. - **Wireframes**: Added real-time block selection highlights. ## Build Instructions ### Linux 1. `mkdir build-linux && cd build-linux` 2. `cmake ..` 3. `make -j$(nproc)` ### Windows (Cross-compile from Linux) 1. `mkdir build-windows && cd build-windows` 2. `cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-windows.cmake ..` 3. `make -j$(nproc)` ## Controls - **WASD**: Movement - **Space**: Jump - **Mouse**: Look / Aim - **Left Click**: Destroy Block - **Right Click**: Place Block / Use Crafting Table - **E**: Toggle Inventory - **1-9**: Hotbar Selection - **ESC**: Pause Menu / Close Inventory