Code Monkey home page Code Monkey logo

citybuildergame's Introduction

Image

City Builder Game

Overview

A simple turn-based puzzle game based on the 2016 video game 'Lara Croft Go' (https://store.steampowered.com/app/540840/Lara_Croft_GO/)

This was a weekend project to make a game using an entity-component system (entt) that has since evolved into porting the renderer to raylib.

The project was forked from CityBuilderGame (https://github.com/PhiGei2000/CityBuilderGame) and still takes inspiration.

Features

  • GUI
  • Turn-based movement
  • Example levels (currently the first 5 from Lara Croft Go)
  • Level switches
  • Traps / Falling
  • Fog
  • Cell shaing (https://bedroomcoders.co.uk/posts/223)
  • Enemies (saws)
  • Enemies (snakes)
  • Weapons (spears)
  • Weapons (pistols)
  • Directional Lighting
  • Level dressing
  • Character animations
  • Collectables
  • Volumetric shadows

Getting started

Check the requirements

Requirements:

  • CMake 3.22.1 and above
  • C++ 20
  • OpenGL 4.5

Packages (only on Linux):

Clone and build

1. Clone the repository

git clone --recursive https://github.com/x1nixmzeng/CityBuilderGame.git

the --recursive option is only needed on windows to download the libraries from github.

2. Change your current directory to the downloaded project

cd ./CityBuilderGame

3. Run CMake to build the project

cmake --build ./build

After that keep sure you link or copy the res directory to the build directory

cp -r ./res ./build/

or to create a symbolic link

cd ./build && ln -s ../res res

3. Run build script (Linux)

bash ./build.sh

4. Start the game

./cityBuilderGame

Controls

Button(s) Description
LEFT/RIGHT/UP/DOWN Move
SPACE Interact
ESC Pause menu
(Hold) C Free camera
WASD Move free camera
1 Toggle the light
9 Toggle wireframe
F1 Toggle debug panel
F2 Toggle control panel
F3 Toggle thumbnail generation

Issues and questions

Feel free to report issues and questions to the issues section.

License

This code is licensed under the GNU GLP license

citybuildergame's People

Contributors

phigei2000 avatar x1nixmzeng avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.