All Projects → Hugobros3 → Chunkstories

Hugobros3 / Chunkstories

Licence: lgpl-3.0
Somewhat fancy blocky game engine written in Kotlin

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Chunkstories

Pydark
PyDark is a 2D and Online Multiplayer video game framework written on-top of Python and PyGame.
Stars: ✭ 201 (+1.01%)
Mutual labels:  framework, game, engine
Flying Squid
Create Minecraft servers with a powerful, stable, and high level JavaScript API.
Stars: ✭ 311 (+56.28%)
Mutual labels:  game, minecraft, voxel
Awesome Haxe Gamedev
Resources for game development on haxe
Stars: ✭ 213 (+7.04%)
Mutual labels:  framework, game, engine
Open Builder
Open "Minecraft-like" game with multiplayer support and Lua scripting support for the both client and server
Stars: ✭ 569 (+185.93%)
Mutual labels:  game, minecraft, voxel
Expo Voxel
🎮🌳 Voxel Terrain made in React Native. ∛
Stars: ✭ 169 (-15.08%)
Mutual labels:  game, minecraft, voxel
Voxelman
Plugin-based client-server voxel game engine written in D language
Stars: ✭ 105 (-47.24%)
Mutual labels:  game, engine, voxel
Rpg Core
UNITY engine RPG framework
Stars: ✭ 146 (-26.63%)
Mutual labels:  game, engine
Aerogameframework
AeroGameFramework is a Roblox game framework that makes development easy and fun. The framework is designed to simplify the communication between modules and seamlessly bridge the gap between the server and client.
Stars: ✭ 150 (-24.62%)
Mutual labels:  framework, game
Fxgl
Stars: ✭ 2,378 (+1094.97%)
Mutual labels:  framework, game
Rubeus
A cross platform 2D game engine written in C++ for beginners
Stars: ✭ 159 (-20.1%)
Mutual labels:  game, engine
Cubeworld
Minecraft like game made in Unity
Stars: ✭ 130 (-34.67%)
Mutual labels:  game, minecraft
Inexor Core
UNMAINTAINED: Please have a look at the entity-system
Stars: ✭ 156 (-21.61%)
Mutual labels:  game, engine
Mundus
A 3D world/level editor built with Java, Kotlin & libGDX.
Stars: ✭ 164 (-17.59%)
Mutual labels:  game, engine
Mine.js
🌏 A Minecraft-like voxel engine built in Javascript. (formerly mc.js)
Stars: ✭ 136 (-31.66%)
Mutual labels:  engine, voxel
Azuriom
Azuriom is a modern, reliable, fast and secure game CMS.
Stars: ✭ 135 (-32.16%)
Mutual labels:  game, minecraft
Sourcehold
Open source re-implementation of Stronghold 1
Stars: ✭ 152 (-23.62%)
Mutual labels:  game, engine
Gocraft
A Minecraft like game written in go
Stars: ✭ 1,704 (+756.28%)
Mutual labels:  game, minecraft
Openminer
Minecraft-like game engine written in C++17 with a client/server architecture and support for Lua modding
Stars: ✭ 156 (-21.61%)
Mutual labels:  game, minecraft
Creature ue4
Unreal Engine 4 Runtimes for Creature, the 2D Skeletal + Mesh Animation Tool
Stars: ✭ 174 (-12.56%)
Mutual labels:  game, engine
Htframework
Unity HTFramework, a rapid development framework of client to the unity.
Stars: ✭ 179 (-10.05%)
Mutual labels:  framework, game

Chunk Stories

alt text

What is Chunk Stories ?

Chunk Stories is an advanced Minecraft clone, with a tailor-built engine boasting first-class modding support. It is written in Kotlin and tries to emulate the appeal of the proprietary Java Edition, but as free software and built in a more modern, and a more modular architecture. The engine features modern features such as a Vulkan rendering backend and a traits-based system for entities, and the developpers adopt a pragmatic approach to code complexity and technical challenges.

Why yet another Minecraft clone ?

Not everyone is happy with the direction Minecraft is taking under the direction of Microsoft. While the game is doing very well for now, (See edit later) it's clear Redmont wants to keep an iron grip over it's modding potential, and refuses to provide a real modding API with a permissive licensing scheme. There is also the issue of the Bedrock edition, which is a dystopian version of the game, complete with paid mods, microtransactions and completely locked-down executables, which threatens to replace the good old Java Edition over time. Edit 2020.12.02: this threat is now a much more concrete one with the move to Microsoft accounts forcing players to submit to very problematic terms of service if they do not want to give up their access to the game, further highliting the importance of a free (as in beer) alternative.

Chunk Stories is free software and runs on any platform someone can be bothered to port the implementation to.

You didn't answer the question, there already are multiple open minecraft clones!

For the author, Chunk Stories is and always has been a side project, made for fun and to become a better programmer. The author also finds the existing offerings poor, and has the smug belief he can do better, especially in the mods handling department (Yes, that).

To this end, Chunk Stories borrows heavily from one of two best things about the Minecraft modding ecosystem: The Bukkit-style of plugins, and the server-downloadable "resource packs", mixing the two into the idea of a "Mod". Mods are merely zip files with resources ( images, 3d models, sounds, json files ) and code ( inside jars ), and are very simple to both build and use.

Main engine features

  • Uses hjson for content definitions (Blocks, Items, Entities, Particles, etc)
  • Support for hot-(re)loading mods
  • Advanced graphics with a rendergraph-based renderer
    • Vulkan and OpenGL 3.3 backends
    • Very high view distances, to 1km and above via heightmaps
    • Simple data-oriented API for having objects drawn on the screen and passing data to shaders
    • Experimental voxel global illumination*
  • Multiplayer, with dedicated servers and the ability to serve mods
  • Entities use traits to store data and organize their logic
  • DPI-agnostic UI with seamless scaling
  • Sane-ish codebase thanks to years of bikeshedding and refactoring

* some stuff might not be quite done right now

Links

Building

This is for building chunkstories, the core engine. If you are only looking to write mods, you do not have to mess with this at all and should rather follow the mods creation guide on the project Wiki !

Setup

Video tutorial

IMAGE ALT TEXT HERE

Brief Instructions

First you need to clone both chunkstories-api and chunkstories-core as both are needed to compile this. You can try to build from the artifacts in the repo, but only those used in released versions of the games are guaranteed to be present.

  • git clone both chunkstories-api and chunkstories-core
  • in the chunkstories-api folder: ./gradlew install or gradlew.exe installon Windows
  • in the chunkstories-core folder: ./gradlew install or gradlew.exe installon Windows

The local maven repository on your computer (.m2 folder) now contains copies of both the api and core content the chunkstories engine requires. These are not automatically rebuilt when building the implementation as they are completly seperate projects, so keep that in mind.

Gradle Tasks

  • ./gradlew client:shadowJar builds the Client executable (chunkstories.jar)
  • ./gradlew server:shadowJar builds the Server executable (server.jar)
  • ./gradlew converter:shadowJar builds the Map converter executable (converter.jar)
  • ./gradlew launcher:createExe builds the launcher executables (.exe and .jar as well)
  • ./gradlew buildAll builds all of the above

Make it work with OS X

In order to launch ChunkStories on OS X (tested only on 10.11), you need to follow steps above, and use following command line arguments:

# At least 2GB of RAM
java -XstartOnFirstThread -Djava.awt.headless=true -Xmx2G -jar client/build/libs/chunkstories.jar --backend=OPENGL --core=../chunkstories-core/res/

License

The chunkstories implementation is released under LGPL, see LICENSE.MD

Code of Conduct

We haven't yet adopted a CoC as to us it would come off more as a political statement than anything else at this point, given the small size of this project. In general we'd like to keep this space safe from extremely polarized political flamewars, and ideally everyone would put their differences aside within this project. So don't be a jerk, exercise some empathy, verbal restraint and try to understand where others are coming from.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].