Skip to content
This repository has been archived by the owner on Aug 1, 2023. It is now read-only.

ajh123-archives/HistorySurvival-cy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

History Survival

History Survival

❝More than a silly blocky game❞ — @ajh123

and a fork of cybrion!

Cybrion preview

💡 Features

  • Infinite, procedurally generated world
  • Multithreading for world generation
  • Beautiful and colorful world
  • Custom shape blocks (fence, chess, table)
  • Wide variety of flowers and trees
  • Save and load world using custom file type
  • Complex GUI (Block menu, inventory)

🔧 Building

Windows

Requirements

Don't forget to add CMake to environment variables

Installing libraries and compiling

  • Step 1: Open terminal and dowload source code
> git clone https://github.com/qninhdt/cybrion
  • Step 2: Install vcpkg and libraries
> cd cybrion
> build.bat
  • Step 3: Rerun build.bat to compile project
> build.bat

After compiling, executable files and resource files will be put in folder cybrion/build

To play game, you need to run cybrion.exe in that folder

Linux

Requirements

Installing libraries and compiling

  • Step 1: Dowload source code
$ git clone https://github.com/qninhdt/cybrion
  • Step 2: Run build.sh. It will install tools, libraries and compile automatically
$ cd cybrion
$ ./build.sh

Similar to Windows, build folder will be cybrion/build

📁 Project structure

    ├── resources           # Game textures, shader files and config files
    └── src                 # Source files
    |   ├── client              # Everything that relates to rendering, window, controls          
    |   |   ├── GL                  # OpenGL primitive elements (mesh, framebuffer, texture, ...)
    |   |   ├── graphic             # Handle rendering for block, world, sky, ...
    |   |   ├── resource            # Load config files, shader files and block textures
    |   |   └── ui                  # Handle user interface (inventory, menu, text, ...)
    |   ├── core                # Custom data structures and some useful classes
    |   ├── physic              # Handle physic (AABB, ...)
    |   ├── uitl                # Utility functions
    |   ├── world               # Manage world components (block, chunk, entity, ...)
    |   └── ...
    └── ...

🎮 How to play

Hello world

  • Step 1: Enter the name of your world then click Create
  • Step 2: Click Play
  • Step 3: Enjoy the game 🗿🍷

Controls

  • Left Click to break a block
  • Right Click to place a block
  • WASD to move around
  • Space to go up
  • Shift to go down
  • E to open block menu
  • Esc to pause game
  • Ctrl to move faster
  • F1 to hide GUI
  • F3 to open Debug tools

Releases

No releases published

Packages

No packages published

Languages