• This repository has been archived on 26/May/2021
  • Stars
    star
    110
  • Rank 306,078 (Top 7 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 8 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Voxel-based game client (based on AlwayGeeky's Vox)

Cubby-v1

Notice: This project is archived to maintain an initial version of Cubby. If you want to see a project that is actively working, please visit Cubby project.

Cubby is an open source voxel-based game client, that is written in C++ and OpenGL and can be used to create easy and fast voxel based games and applications. The client is written to be highly functional and very efficient at allowing voxel game creation and provides a simple framework for creating 3D voxel games.

The main code of this repository is based on AlwaysGeeky's Vox.

License

Features

  • 3D voxel game client with cuboid and box-based rendering aesthetic.
  • GLSL shader support.
  • Support for deferred or forward rendering.
  • Fully dynamic and unlimited lighting system using deferred lighting model.
  • Advanced graphics shaders included - SSAO, shadow mapping, dynamic lighting, FXAA.
  • Full 3D math and geometry library (vector, matrix, quaternion, plane, bezier).
  • Extensive camera functionality, either 3rd person or 1st person.
  • In-built GUI that can be easily hooked up to gameplay functioanlity (re-skinable).
  • Qubicle Binary (.qb) voxel model loading.
  • Polygon model loading via ms3d and obj files.
  • Keyframe and skeleton animation support.
  • Basic 'player' functionality - movement, controls, animation.
  • 'Voxel character' encapsulating character behaviours - idle looking, breathing, etc.
  • Facial animation support for voxel characters.
  • Voxel scenery and world items.
  • Block/cube particle effect system.
  • Modding and scripting support via LUA.
  • Gamepad and controller support.
  • Voxel world and terrain generation.
  • Procedural content creation.
  • Audio and music playback.

Gameplay Features

Some parts of the Cubby gameplay logic are also incorporated into this source code repo, to better facilitate code sharing and the different sub-systems that make up the game. Some of the gameplay features of Cubby are as follows:

  • Player movement and controls.
  • Inventory and item management.
  • NPC AI and player interations.
  • Quets and gameplay objectives.
  • Enemies and monsters.
  • Combat using melee and ranged weapons, magic and spellcasting.
  • Farming and crop management.
  • Character creation and player generation.
  • World customization and creation elements.

What's the difference between Cubby and Vox?

All of the Cubby source code is based on AlwaysGeeky's Vox. To develop MMORPG, we'll improvement and differentiate Cubby game client.

  • Apply Modern C++ (C++11/14/17) features
  • (To-do) Multi-play support.
  • (To-do) DirectX 11/12 and Vulkan support.
  • (To-do) World map generator support.
  • (To-do) Resource simulator support.
  • (To-do) Monster controller support.
  • and so on...

How to Build

To learn how to build, test, and install the SDK, please check out INSTALL.md.

Screenshots

How To Contribute

Contributions are always welcome, either reporting issues/bugs or forking the repository and then issuing pull requests when you have completed some additional coding that you feel will be beneficial to the main project. If you are interested in contributing in a more dedicated capacity, then please contact me.

Contact

You can contact me via e-mail (utilForever at gmail.com). I am always happy to answer questions or help with any issues you might have, and please be sure to share any additional work or your creations with me, I love seeing what other people are making.

License

The class is licensed under the GNU General Public License:

Copyright ยฉ 2017 Chris Ohk.

The GNU General Public License is a free, copyleft license for software and other kinds of works.

The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.

For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.

Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.

Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.

More Repositories

1

game-developer-roadmap

Roadmap to becoming a game developer in 2022
Rust
4,644
star
2

awesome-cafe

โ˜• ๋ชจ๊ฐ์ฝ”ํ•˜๊ธฐ ์ข‹์€ ๊ตญ๋‚ด ์นดํŽ˜ ๋ฆฌ์ŠคํŠธ
1,099
star
3

RosettaStone

Hearthstone simulator using C++ with some reinforcement learning
C++
642
star
4

2023-MatKor-Rust-Interpreter

2023๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋งŒ๋“ค๊ธฐ
Rust
342
star
5

modern-cpp-tutorial

A curated list of Modern C++ articles, examples, tutorials, frameworks, libraries, and shiny things.
C++
320
star
6

rl-paper-study

Reinforcement Learning paper review study
202
star
7

2022-Korea-Rust-Backend

2022๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต Google Developer Student Clubs ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + Backend ๊ฐœ๋ฐœ
Rust
151
star
8

2022-Make-Interpreter-Rust

2022๋…„ ์˜จ๋ผ์ธ ์Šคํ„ฐ๋”” - Rust๋กœ ๋งŒ๋“œ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ
Rust
141
star
9

baba-is-auto

Baba Is You simulator using C++ with some reinforcement learning
Python
135
star
10

modern-cpp-next

Modern C++ Next: Comprehensive Guide for C++20
Shell
107
star
11

CubbyFlow-v1

Voxel-based fluid simulation engine for computer games
C++
88
star
12

cpp-developer-roadmap

Roadmap to becoming a C++ developer in 2020
76
star
13

2023-UNIST-Rust-Minecraft

2023๋…„ UNIST HeXA ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ๋งŒ๋“ค๊ธฐ
Rust
75
star
14

CubbyCalc

Simple Console Calculator using C++
C++
69
star
15

2021-KAIST-Include-AlphaGoZero

2021๋…„ KAIST ๋™์•„๋ฆฌ Include ์Šคํ„ฐ๋”” - AlphaGo์™€ AlphaGo Zero๋ฅผ ํ™œ์šฉํ•œ ์ธ๊ณต์ง€๋Šฅ ๋ฐ”๋‘‘
Python
66
star
16

awesome-restaurant

๐Ÿด ๊ตญ๋‚ด ๋ ˆ์Šคํ† ๋ž‘ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ
63
star
17

2022-INFCON-Rust-CrossPlatform

INFCON 2022 - Rust ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Rust
58
star
18

BOJ

About Baekjoon Online Judge problem solving by Rust
Rust
53
star
19

Runeterra

Legends of Runeterra simulator using C++ with some reinforcement learning
C++
49
star
20

CubbyTower

Simple tower defense game using C++ with Entity Component System (ECS)
C++
48
star
21

2022-CppKorea-DataStructure

2022๋…„ C++ Korea ์—ฌ๋ฆ„ ์Šคํ„ฐ๋”” - C++ ์ž๋ฃŒ๊ตฌ์กฐ
C++
48
star
22

2019-OSS-Summer-RLBasic

2019๋…„ OSS ๊ฐœ๋ฐœ์ž ํฌ๋Ÿผ ์—ฌ๋ฆ„ ์บ ํ”„ - ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ์ดˆ ๊ด€๋ จ ์˜ˆ์ œ ์ฝ”๋“œ
Python
45
star
23

SnowSimulation

Snow simulation based on Disney's "The material point method for Snow Simulation" paper using Qt and CUDA
C++
39
star
24

PolyMapGenerator

Polygonal map generator for games. Generates island maps with a focus on mountains, rivers, coastlines.
C++
37
star
25

2022-Make-Compiler-Rust

2022๋…„ ์˜จ๋ผ์ธ ์Šคํ„ฐ๋”” - Rust๋กœ ๋งŒ๋“œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ
35
star
26

DirectX

Visual Studio 2015 version of Frank D. Luna's book "Introduction to 3D Game Programming using DirectX 11"
C++
35
star
27

rust-oss-template

Rust Open Source Software Template
Rust
33
star
28

2024-Konkuk-Rust-Roguelike

2024๋…„ ๊ฑด๊ตญ๋Œ€ํ•™๊ต Google Developer Student Clubs + EDGE ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋กœ๊ทธ๋ผ์ดํฌ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
Rust
33
star
29

PokeMaster

Pokรฉmon battle simulator using Rust with some reinforcement learning
Rust
32
star
30

SimpleRPG-Text

Text-based Simple RPG using C++
C++
32
star
31

2023-SNU-Rust-CrossPlatform

2023๋…„ ์„œ์šธ๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€ ํŠน๊ฐ• - Rust ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Rust
31
star
32

OpenGLTutorial

OpenGL Study with Examples and Homeworks
C
31
star
33

CubbyDNN

Deep learning framework using C++17 in a single header file
C++
30
star
34

2021-HYU-HAI-RLBootCamp

2021๋…„ ํ•œ์–‘๋Œ€ํ•™๊ต ๋™์•„๋ฆฌ HAI ์Šคํ„ฐ๋”” - ๊ฐ•ํ™”ํ•™์Šต ๋ถ€ํŠธ ์บ ํ”„
Python
30
star
35

PBRStudy

Physically Based Rendering, 2nd Edition Study
29
star
36

2024-SNU-Rust-Application

2024๋…„ ์„œ์šธ๋Œ€ํ•™๊ต SCSC + WaffleStudio ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ํฌ๋กœ์Šคํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
29
star
37

polarlight

A Machine Learning Framework for High Performance written in Rust
Rust
28
star
38

ProceduralContentGeneration

Sample code repository for 'Procedural Content Generation for C++ Game Development'
C++
27
star
39

RTRStudy

Real-time rendering, 4th edition study
27
star
40

GPU-Pathtracer

GPU Pathtracer from scratch using C++ and CUDA
26
star
41

RosettaStone-GUI

GUI program of RosettaStone
C++
24
star
42

CGStudy

Computer Graphics study from scratch to Neural Rendering
24
star
43

ProgrammingPractice

Programming Practice Examples
C++
24
star
44

2021-CoMu-ECS-Development

๊ฒŒ์ž„์ด๋ž‘ ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค๋งŒ ๋ฐ‹์—… - ECS ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
C++
23
star
45

utilForever

My Github Profile
23
star
46

CubbyCity

Analyze the causes of urban engineering problems such as gentrification
C++
23
star
47

rust-wasm-ts-template

A template of Rust + WebAssembly with TypeScript (๐Ÿฆ€ + ๐Ÿ•ธ๏ธ = ๐Ÿ’–)
JavaScript
23
star
48

Diablopp

Modern C++ version of Diablo - magic behind the 1996 computer game
21
star
49

2021-JBSH-Summer-RLBasic

2021๋…„ ์ „๋ถ๊ณผํ•™๊ณ ๋“ฑํ•™๊ต ์—ฌ๋ฆ„ ํŠน๊ฐ• - ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ์ดˆ
Python
21
star
50

2023-MatKor-Rust-Compiler

2023๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust๋กœ ์ปดํŒŒ์ผ๋Ÿฌ ๋งŒ๋“ค๊ธฐ
20
star
51

zero-to-production

The code of Zero To Production In Rust for exercise
Rust
20
star
52

introduction-to-rust

The book "Introduction to Rust" for beginners
20
star
53

DiscoveringTheModernCpp

<๋ชจ๋˜ C++ ์ž…๋ฌธ> ์˜ˆ์ œ ์ €์žฅ์†Œ
C++
19
star
54

onboarding-for-beginners

A step-by-step onboarding plans and related materials for beginners
19
star
55

Civilizationpp

Civilization simulator using C++ with some reinforcement learning
C++
19
star
56

conquer-the-spire

Slay the Spire simulator using C++ with some reinforcement learning
CMake
19
star
57

2020-OSS-Winter-AlphaZero

2020๋…„ OSS ๊ฐœ๋ฐœ์ž ํฌ๋Ÿผ ๊ฒจ์šธ ์บ ํ”„ - AlphaZero ์ธ๊ณต์ง€๋Šฅ ์˜ค๋ชฉ ๊ด€๋ จ ์˜ˆ์ œ ์ฝ”๋“œ
Jupyter Notebook
18
star
58

hiking-for-developers

โ›ฐ๏ธ ๊ฐœ๋ฐœ์ž๋“ค์˜ ๊ฑด๊ฐ• ์ฆ์ง„์„ ์œ„ํ•œ ๋“ฑ์‚ฐ ๊ด€๋ จ ์ •๋ณด ๋ชจ์Œ ๐Ÿฅพ
18
star
59

2022-KW-RLEnv

2022๋…„ ๊ด‘์šด๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ์ •๋ณด๊ณตํ•™๋ถ€ ํŠน๊ฐ• - ๊ฐ•ํ™”ํ•™์Šต ํ™˜๊ฒฝ ๊ฐœ๋ฐœ
Python
18
star
60

2022-SWMaestro-Rust-Basic

2022๋…„ ์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ ํŠน๊ฐ• - Rust ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ
Rust
18
star
61

2022-KW-ECS-Development

2022๋…„ ๊ด‘์šด๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ์ •๋ณด๊ณตํ•™๋ถ€ ํŠน๊ฐ• - ECS ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
C++
18
star
62

rust-for-cpp

A tutorial and example of Rust for C++ programmers
17
star
63

CppIdioms

A curated list of Modern C++ idioms
C++
17
star
64

AlphaGo-tutorial

AlphaGo and AlphaGo Zero step-by-step tutorial using TensorFlow and PyTorch
16
star
65

InfinityMetro

Mini Metro simulator using C++ with some reinforcement learning
Rust
16
star
66

algorithm-rs

Common data structures and algorithms for competitive programming in Rust
Rust
16
star
67

CubbyEngine

Entity Component System (ECS) based game engine for Creative Coding using C++20/23
16
star
68

Corailed

Unrailed! simulator using C++ with some reinforcement learning and Unrailed! AI using Python with OpenCV
Python
16
star
69

rust-wasm-game-of-life

A simple Rust and WebAssembly example implementing the Game of Life
Rust
15
star
70

minesweeper-rs

A simple minesweeper game using Rust and windows-rs
Rust
15
star
71

ray-tracing-the-rest-of-your-life-cpp

C++ implementation of Peter Shirley's "Ray Tracing: The Rest of Your Life"
C++
15
star
72

CubbyMenu

A header only Modern C++ library to easily create simple menus for programs
CMake
15
star
73

HellSolver

Helltaker simulator using C++ with some reinforcement learning
C++
14
star
74

styler

A header only Modern C++ library for styling output text in Terminal based on rang
C++
14
star
75

CppLinq

LINQ implementation for Modern C++
C++
14
star
76

phys

2D/3D physics engine for games written in Rust
Rust
14
star
77

Presentations

My various presentations to conferences, user groups and so on.
13
star
78

problem-solving-roadmap

Roadmap to solving a problem using data structures/algorithms in 2022
13
star
79

recommend-books

My recommended computer programming book list
13
star
80

cpp-oss-template

C++ Open Source Software Template
CMake
13
star
81

CubbyEnums

A special way to convert string<->enum in C++ using X Macro technique and template specialization
C++
13
star
82

marvel-snap

Marvel Snap simulator using Rust with some reinforcement learning
Rust
13
star
83

YahtzeeMaster

Yahtzee simulator using C++ with some reinforcement learning
C++
12
star
84

minecraft-rs

A reimplementation of Minecraft written in Rust
Rust
12
star
85

ml-developer-roadmap

Roadmap to becoming a ML/DL/RL developer in 2020
12
star
86

2021-AIFrenz-RLEnv

AIํ”„๋ Œ์ฆˆ ์ œ72ํšŒ ์„ธ๋ฏธ๋‚˜ - ๊ฐ•ํ™”ํ•™์Šต ํ™˜๊ฒฝ ๊ฐœ๋ฐœ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Python
12
star
87

CubbyRocket

A simple rocket simulation engine from water rocket to satellite
CMake
12
star
88

ray-tracing-in-one-weekend-cpp

C++ implementation of Peter Shirley's "Ray Tracing in One Weekend"
C++
12
star
89

Shop

C++ Practice Example by making Shop in Game stage by stage
C++
12
star
90

battlegrounds-rs

Hearthstone:Battlegrounds simulator using Rust with some reinforcement learning
Rust
11
star
91

nerf-rs

Rust implementation of NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis and its extension to follow-up research projects
Rust
11
star
92

AlphaTFT

Teamfight Tactics simulator using C++ with some reinforcement learning
CMake
11
star
93

Starlight

A Programming Language for Games: performance, data-oriented, and so on.
11
star
94

Sunshine

Cross-platform rendering engine that supports DirectX 11/12, OpenGL and Vulkan
CMake
10
star
95

Dolphin

Dolphin Engine โ€“ Multi-platform 2D and 3D game engine
10
star
96

owning-ref-rs

A library for creating references that carry their owner with them
Rust
10
star
97

utilforever.github.io

Blog repository - utilForever's Programming Life!
CSS
10
star
98

game-developer-interview-question

A list of helpful game developer related questions you can use to interview potential candidates.
10
star
99

2023-SICP-Rust

2023 Momenti Study - Structure and Interpretation of Computer Programs: Rust Edition
10
star
100

2024-MatKor-Rust-Blog

2024๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋ธ”๋กœ๊ทธ ๋งŒ๋“ค๊ธฐ
Rust
10
star