atxi / Polymer

In-development Minecraft client using C++ and Vulkan.
MIT License
88 stars 3 forks source link
c-plus-plus minecraft minecraft-client minecraft-clone vulkan

Polymer

In-development Minecraft client using C++ and Vulkan.

It can only connect to offline Java servers at the moment, but online mode is planned. There's currently no physics, but there's a spectator-like camera for looking around.

It uses the original assets that are downloaded from the resources server.
The downloaded assets will be stored in %appdata%/Polymer/ on Windows and ~/.polymer/ on Linux.

Screenshots

Polymer Image

Running

Main development is done on Windows. It can run on Linux, but not tested much.

Running the exe will connect to localhost with the username 'polymer'. The server must be configured to be in offline mode.

You can specify the username and server ip by command line.
polymer.exe -u username -s 127.0.0.1:25565

Currently only a spectator camera is implemented for flying around and rendering the world. By default, you will be in the survival gamemode on the server. If you want chunks to load as you move, you need to put yourself in spectator gamemode. You can do this in the server terminal or in game with the command /gamemode spectator.

Building

The project is configured to use vcpkg as a dependency manager, so follow the directions below.

Requirements

Windows

Compiling the shaders requires glslc, which can be obtained from Vulkan SDK.

Linux

Linux uses GLFW for managing the window. Install it with your package manager.

Compiling the shaders requires glslangValidator.