Code Monkey home page Code Monkey logo

redhand's Introduction

logo Welcome to RedHand

GitHub license build status code quality Discord stable release

The goal is to create an easy to use 2D Game engine using C++. Its purpose is to give new programmers an easy introduction into game programming and even more abstract topics like object oriented programming and graphics programming in general. The used OpenGL APIs are GLFW and glad so this project should run on all operating systems. This Project is still in the alpha phase and there might be srastic changes to the codebase and API causing your Programs to break with an update. Backwards compatibility will be a consideration after the release of version 0.1.0 everything prior to that might include drastic changes! This Project provides several functions and objects that make it easier to start building your own games. While these objects give you a simple way to get started, they also allow you to insert advanced OpenGL commands.

You can find all the documentation here.

License information

The code is licensed under the LGPL-3.0 License. All the other stuff, like Textures, Images and Sounds are Licensed under CC-0. You can find the full information here.

How to compile/install this project

There are two release types tagged and latest. The tagged version is generally more stable and tested while the latest version has all the features but might break some games.

Ubuntu (bionic) based distributions

There are two personal package archieves you can choose from:

Windows

For an mostly automated install check the manual Installation.

You can download the either the latest or the last tagged realese form github. The dlls are automatically compiled and uploaded on every tagged and versioned commit. You can just include those dlls and the headers to you project to build your program using redhand. You might also need to install glfw to get it working properly Make sure your C++ compiler supports the <filesystem> include (gcc > 9.2.0 or llvm > 9) since redhand needs it

Manually compiling the project

Extra Notes for contibutors

All changes have to be made on the dev branch and merged to master via a pull request. Open a Terminal in the folder where you cloned the repository to, type git checkout dev and you are ready to go. To update the branch from master first type git fetch then git rebase origin/master. The CI has to succeed in compiling before you are allowd to push your changes to master.

Getting started

If you want to get started using this project, begin by modifying the games.cpp file. The functions that specify the game logic are here.

game_init is called in the beginning to construct the main world that the game will enter first. game_loop is called every game tick, here is where all the logic happens.

How to contribute to this project

Just open a new issue if you find a bug or miss a feature, just make shure to use the appropiate tags.

If you have implemented a new feature or bugfix just make a pull request and wait till I have time to watch it. Please document your changes, this will mak it easier for everyone.

Also feel free to propose updates/changes for the wiki to improve the overall documentation and allow newcomers to have more fun (because they don't have to guess what the functions and objects are doing).

redhand's People

Contributors

akuhana avatar callmeelle avatar noah1510 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.