Skip to content

This is My first time making Game .... Please wishlist on steam :DD

Notifications You must be signed in to change notification settings

Saba-Burduli/Minecraft-Using-C-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 

Repository files navigation

Minecraft-Using-C-

An experimental C# recreation / inspired sandbox game.
This is my first time making a game — thanks for checking it out! If you like where it's heading, please consider wishlisting on Steam. :DD

Status Made With C# Contributions Welcome


Table of Contents

  1. Vision
  2. Features
  3. Screenshots / Media
  4. Roadmap
  5. Tech Stack
  6. Project Structure
  7. Getting Started
  8. Development Guide
  9. Performance Notes
  10. Contributing
  11. FAQ
  12. Wishlist / Support
  13. License
  14. Acknowledgements

Vision

A block-based world simulator focusing on:

  • Creative building
  • Procedural terrain
  • Optimized voxel rendering in C#
  • Learning-by-doing: code clarity over premature optimization (early phase)

Goal: Evolve from an experiment into a polished sandbox experience powered by custom systems.


Features

Current (Implemented or In Progress):

  • Basic world generation (flat / noise-based)
  • Block placement & removal mechanics
  • Chunk system (configurable size)
  • Simple lighting (placeholder)
  • Input handling (keyboard + mouse)
  • Basic HUD / debug overlay

Planned / Upcoming:

  • Entity system (mobs / players)
  • Inventory & crafting
  • Save / load world data
  • Advanced lighting / shadows
  • Biomes & weather
  • Audio system
  • Multiplayer (stretch goal)
  • Modding API (long-term)

Screenshots / Media

Prototype Debug Overlay World Gen
Prototype Debug WorldGen

If you don't have images yet, create a docs/images folder and add them, then update the paths above.


Roadmap

Phase Focus Status
0.1 Core rendering & chunks ✅ Done / Stabilizing
0.2 World gen & basic blocks 🚧 In progress
0.3 Inventory + persistence ⏳ Pending
0.4 Lighting + performance ⏳ Pending
0.5 Entities & AI basics ⏳ Pending
0.6 Polish + UI overhaul ⏳ Pending
1.0 Steam-ready build ⏳ Future

Tech Stack

  • Language: C# (~98.7%)
  • Shaders: HLSL (~1.3%) for GPU acceleration
  • Framework / Engine:
  • Target Runtime: .NET
  • Build System: dotnet CLI
  • Rendering Approach: Chunked voxel mesh generation (greedy or naive meshing)
  • Noise Generation:

Update placeholders once confirmed.


Project Structure

Minecraft-Using-C-/
├─ src/                # Main C# source code
│  ├─ Core/            # Core abstractions (game loop, services)
│  ├─ World/           # Chunk, block, biome logic
│  ├─ Rendering/       # Mesh builders, shaders, camera
│  ├─ Input/           # Player input mapping
│  ├─ UI/              # Basic HUD / overlays
│  └─ Utils/           # Helpers & extensions
├─ shaders/            # HLSL shader files
├─ assets/             # Textures / audio / fonts (future)
├─ docs/               # Documentation & media
├─ tests/              # Unit / integration tests (planned)
└─ README.md

Adjust the tree to reflect the actual layout.


Getting Started

Prerequisites

  • .NET SDK:
  • IDE: Visual Studio / Rider / VS Code
  • GPU: Shader Model 5.0+
  • OS: Windows (primary) /

Clone

git clone https://github.com/Saba-Burduli/Minecraft-Using-C-.git
cd Minecraft-Using-C-

Build

dotnet build

Run

dotnet run --project src/YourGameEntryPoint.csproj

(Replace project path with the actual entry assembly.)

Configuration (optional)

Create or edit a config.json:

{
  "chunkSize": 16,
  "viewDistance": 8,
  "enableDebugOverlay": true
}

Development Guide

Suggested Workflow

  1. Fork the repo
  2. Create a feature branch: feat/chunk-optimization
  3. Implement & test locally
  4. Open a Pull Request with screenshots + benchmarks

Coding Conventions

  • Prefer explicit types over var in complex logic
  • Keep methods ~40 lines or less
  • Use XML docs for public classes
  • Avoid premature micro-optimizations until profiler data suggests

Debugging

Enable debug overlay (toggle key: ).
Profiler suggestion: use dotnet trace or an engine profiler if applicable.

Testing (Planned)

  • Block placement logic
  • World seed reproducibility
  • Serialization / save integrity

Performance Notes

Early focus:

  • Minimize chunk mesh rebuilds via dirty flags
  • Consider greedy meshing to reduce face count
  • Add frustum + occlusion culling (planned)
  • Cache noise lookups for terrain generation

Benchmarks (example):

Scenario: 8 view-distance, 16^3 chunks
Faces Before Optimization: XXXX
Faces After Optimization:  XXXX
Frame Rate (1080p):        ~XXX fps

Contributing

Contributions are welcome — even small improvements help.

  1. Open an Issue to discuss major changes
  2. Follow roadmap priorities
  3. Keep PRs focused (single feature / fix)
  4. Include screenshots or logs for visual/performance changes

See CONTRIBUTING.md for details.


FAQ

Q: Is this a clone of Minecraft?
A: No — it's an educational voxel sandbox inspired by similar mechanics.

Q: Will it be multiplayer?
A: Potentially. Networking is a later-phase feature.

Q: Can I help with shaders?
A: Yes! Please open an Issue describing your optimization or effect idea.


Wishlist / Support

If you want to support development:

  • Wishlist on Steam:
  • Star the repository
  • Share feedback through Issues

License

This project is licensed under the MIT License — see LICENSE.


Acknowledgements

  • Inspiration: Minecraft, Minetest, Terasology
  • Learning Resources: Catlike Coding, GameDev forums, ShaderToy examples
  • Community: Everyone who stars & shares feedback

Next Steps (Immediate To-Do)

  • Confirm engine/runtime details in README
  • Add screenshots
  • Add LICENSE file
  • Add initial Issues + Milestones
  • Set up CI (GitHub Actions build test)
  • Create CONTRIBUTING.md

About

This is My first time making Game .... Please wishlist on steam :DD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published