Minecraft Classic 0.0.30a reimplemented in C.

Overview

MinecraftC - A 0.0.30a implementation in C

Features

  • True to the original version
  • Implemented fully in C using SDL2 and OpenGL 1.1
  • Two different binaries, one for creative mode and one for survival mode

Screenshots

Screen Shot 2021-03-10 at 2 09 46 PM

Screen Shot 2021-03-10 at 2 16 12 PM

Screen Shot 2021-03-10 at 2 19 15 PM

Screen Shot 2021-03-10 at 2 20 07 PM

Downloads (B1)

Missing features

  • Sound effects and music
  • Saving and loading levels
  • Multiplayer

Compiling

Requirements:

  • Clang
  • SDL2

Instructions:

Related projects

Discord

Find any bugs? Want to show off something cool? Join our discord server.

Comments
  • source dir and exe name are the same

    source dir and exe name are the same

    the source folder and the executable name are the same, meaning

    • if you try building it fails because it can't create a file over a directory
    • if you make clean it wipes the source folder
    opened by TheAwesome98-Real 6
  • Flowing water crashes the game on MacOS

    Flowing water crashes the game on MacOS

    Attempting to update a water block (whether with TNT or just by punching a block next to it) causes the game to crash, and gives a "segmentation fault" error.

    opened by SuperStik 3
  • Fix for Linux

    Fix for Linux

    Compiling fails on Linux (at least on Debian)

    You can fix this by adding set(FLAGS ${FLAGS} "-I/usr/include/SDL2" "-D_GNU_SOURCE=1" "-D_REENTRANT") to the UNIX section.

    opened by jakiki6 1
  • Can this client build to android and iOS?

    Can this client build to android and iOS?

    Hi @johnpayne-dev I just see this client and want to test it on an android device, is this possible, and how to build it on an android device? (I think we can implement touch control later)

    opened by codingwatching 1
  • Add Makefile

    Add Makefile

    Adds a Makefile, only links properly for linux library names at this point.

    To build, run

    make all
    

    or

    make -j T all
    

    where T is how many threads you want it to use, so for example, for 8 threads:

    make -j 8 all
    

    It produces a directory ./bin, and there you find the MinecraftC executable. It only builds one, but you can easily change it to build one for creative, one for survival, but I wasn't sure which files to use there. It also copies the resources into the bin folder.

    To run the game, cd into the bin directory and execute ./MinecraftC.

    make clean will delete all files produced by make.

    opened by lionkor 1
  • Fix compilation errors when compiling with -pedantic-errors on clang

    Fix compilation errors when compiling with -pedantic-errors on clang

    First issue: In many places a void function tries to return the result of another void function which is not allowed. Change these places to call the function and return in the next step.

    Second issue: Some of the list utility functions do a bunch of arithmetic on void pointers which is not allowed. Instead use unsigned char pointers to do the arithmetic.

    opened by Biolunar 0
  • a personal question

    a personal question

    Hello I pay my respects to your work I'd like to ask you a question

    1. How long has it been since you started programming? (Because my dream is to be a game programmer. I wonder how long it takes to have skills like you)

    2. Did you develop the logic of Minecraft C by yourself? Or is it based on other references?

    I shouldn't write this here, but I was curious about your work I'd appreciate it if you could answer

    P.S. If you answer, I'll delete this post right away

    opened by lookau1004 0
  • Blocks Don't Disappear When Raytracing Is Enabled.

    Blocks Don't Disappear When Raytracing Is Enabled.

    I Made a video on this a while ago, and revisited it today to see the raytracing, and found an issue that when its enabled the blocks you see don't update in the world. Collision wise they are destroyed but physically they are not. View The VIdeo Here If Needed.

    opened by ParallelProductions 0
  • Can't build: fatal error: icd_cmake_config.h: No such file or directory

    Can't build: fatal error: icd_cmake_config.h: No such file or directory

    ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── inc │   └── README.txt ├── LICENSE ├── loader │   ├── icd.c │   ├── icd_cmake_config.h.in │   ├── icd_dispatch.c │   ├── icd_dispatch_generated.c │   ├── icd_dispatch.h │   ├── icd_envvars.h │   ├── icd.h │   ├── icd_platform.h │   ├── linux │   │   ├── icd_exports.map │   │   ├── icd_linux.c │   │   └── icd_linux_envvars.c │   └── windows │   ├── adapter.h │   ├── icd_windows_apppackage.c │   ├── icd_windows_apppackage.h │   ├── icd_windows.c │   ├── icd_windows_dxgk.c │   ├── icd_windows_dxgk.h │   ├── icd_windows_envvars.c │   ├── icd_windows.h │   ├── icd_windows_hkr.c │   ├── icd_windows_hkr.h │   ├── OpenCL.def │   ├── OpenCL-mingw-i686.def │   └── OpenCL.rc ├── README.md ├── scripts │   ├── gen │   │   └── init.py │   ├── gen_loader.py │   ├── gen_print_layer.py │   ├── icd_dispatch_generated.c.mako │   ├── icd_print_layer_generated.c.mako │   └── README.md └── test ├── CMakeLists.txt ├── driver_stub │   ├── cl.c │   ├── cl_ext.c │   ├── cl_gl.c │   ├── CMakeLists.txt │   ├── driver_stub.def │   ├── icd.c │   ├── icd_driver_exports.map │   ├── icd_structs.h │   └── rename_api.h ├── inc │   └── platform │   └── icd_test_log.h ├── layer │   ├── CMakeLists.txt │   ├── icd_print_layer.c │   ├── icd_print_layer.def │   ├── icd_print_layer_generated.c │   ├── icd_print_layer.h │   └── icd_print_layer.map ├── loader_test │   ├── callbacks.c │   ├── CMakeLists.txt │   ├── icd_test_match.c │   ├── main.c │   ├── param_struct.h │   ├── test_buffer_object.c │   ├── test_clgl.c │   ├── test_cl_runtime.c │   ├── test_create_calls.c │   ├── test_image_objects.c │   ├── test_kernel.c │   ├── test_platforms.c │   ├── test_program_objects.c │   └── test_sampler_objects.c ├── log │   ├── CMakeLists.txt │   └── icd_test_log.c └── pkgconfig ├── bare │   └── CMakeLists.txt ├── pkgconfig.c └── sdk └── CMakeLists.txt

    opened by tryte000 1
  • Can't launch or build

    Can't launch or build

    So, i tried building, that did not work(i will say something about that), and then I've thought "you know what, lets get the prebuilt", i downloaded the prebuilt one, and this is the error i get(after getting every dll for it): The application could not start properly (0xc000007b). Click OK to close the application.

    The building for me just fails with these errors: image

    opened by AnonimFan 12
Releases(v1.2)
Owner
John Payne
I do C
John Payne
A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC)

PolyMC is a custom launcher for Minecraft that focuses on predictability, long term stability and simplicity. This is a fork of the MultiMC Launcher a

null 1.7k Dec 27, 2022
A clone of the classic QBasic Gorillas written in the Zig programming language

⚡ Zig Gorillas ?? A clone of the classic QBasic Gorillas written in the Zig programming language. Take turns in throwing an exploding banana at each o

Fabio Arnold 44 Jun 18, 2022
Classic Tomb Raider open-source engine

Classic Tomb Raider open-source engine

Timur Gagiev 4.1k Jan 8, 2023
C++17 exploration of a classic MUD like game

MUD++ - C++17 Simple MUD Engine MUD++ is a small attempt at building a C++17, modern version of a MUD server engine. Consider it half-serious (I wish

Joel Falcou 13 Jul 20, 2021
Classic video game revived with a new story, now available for your MySQL database.

mysql-snake Classic video game revived with a new story, now available for your MySQL database. A supermarket is giving out free buckets to visitors.

Ville-Markus Yli-Suutala 14 Feb 16, 2022
Replace Minecraft entity with MMD model.

KAIMyEntity Replace Minecraft entity with MMD model. KAIMyEntitySaba 将Github项目 benikabocha/saba (https://github.com/benikabocha/saba) 魔改成一个以JNI形式Expor

null 30 Oct 16, 2022
Minecraft 4k: decompiled, translated to C using SDL for graphics and input, and improved upon

M4KC Minecraft 4K - C Rewrite For those who don't know, Minecraft 4K was a stripped down version of Minecraft submitted by Notch to the Java 4K Game P

Sasha Koshka 38 Oct 9, 2022
A simplified version of the famous game Minecraft.

This program uses the concept of the famous game Minecraft but with better graphics. It procedurally generates an infinite world, the player has an animated character and can break blocks, there are also different biomes and mobs.

Angel Uriot 56 Dec 30, 2022
A voxel game/Minecraft clone for the iCE40 UP5K FPGA

FPGA craft A voxel game/Minecraft clone for the iCE40 UP5K FPGA (for the iCEBreaker board). Disclaimer Use this project at your own risk. This project

null 166 Nov 27, 2022
A Minecraft-clone written in C++/Vulkan

Minecraft A Minecraft-clone written in C++/Vulkan Current state It is currently very bare-bones. Planned features Textures Procedural generation Colli

null 4 Feb 27, 2022
A fully-featured Minecraft server startup script

A fully-featured Minecraft server startup script suite that offers a friendly user interface, blazing fast speeds, and wide compatibility.

null 81 Dec 14, 2022
Randomizes Minecraft's loot tables.

Minecraft Loot Randomizer Randomizes Minecraft's loot tables. Use Instructions To use this program, which you can either do via the provided exe file

bryceio 1 Oct 20, 2021
MotorMC is a blazing fast, multi threaded, asynchronous Minecraft server software

MotorMC is a blazing fast, multi threaded, asynchronous Minecraft server software that aims to handle many players (1000+) on a single world while still providing an experience as close to vanilla Minecraft as possible.

Garet Halliday 77 Jan 4, 2023
A Minecraft like game with basic rendering, movement, block placement.. All made from scratch

Voxel-Game-Demo A Minecraft like game with basic rendering, movement, block placement.. All made from scratch Downlod Pre-compiled binaries (executabl

null 1 Dec 30, 2021
📦 A familiar Minecraft Launcher with native support for macOS arm64 (M1)

ManyMC A familiar Minecraft Launcher with native support for macOS arm64 (M1) ⚠️ This is an UNOFFICIAL project. DO NOT report any issues to the MultiM

Minecraft Machina 530 Dec 30, 2022
A minecraft clone built in c++ opengl for the purpose of prefecting graphics programming skills.

LearnOpenGL - CLion This is a project template for OpenGL development with JetBrains CLion IDE. It was created mainly for LearnOpenGL tutorials. Inclu

Jeremy Dellock 1 Dec 28, 2021
StreamMinecraftClone - A Minecraft Clone developed live on stream at twitch.tv/gameswthgabe

Minecraft Clone This is a Minecraft clone that will be used for an education YouTube series. I will link the YouTube series here once I begin creating

null 95 Jan 2, 2023
A third party program to change Minecraft RTX's settings externally, directly in-memory.

RenderBender A third party program to change Minecraft RTX's settings externally, directly in-memory. Get the latest release here. About RenderBender

Jesse Daems 20 Dec 19, 2022
A clone of Media Player Classic reimplemented in Qt.

Media Player Classic Qute Theater A clone of Media Player Classic reimplemented in Qt. Media Player Classic Home Cinema (mpc-hc) is considered by many

Media Player Classic Qute Theater 154 Jan 6, 2023
Minecraft Classic Clone in C

Minecraft Classic Clone in C This was my first large-scale OpenGL project. I've personally never used OpenGL, and so I apologize for any bizzare/slopp

null 3 Oct 9, 2022