Code Monkey home page Code Monkey logo

gameproject-1's Introduction

๐ŸŽฎ Untitled Game Project

This is a community-driven game project from people in TheCherno's community Discord server.

๐Ÿคทโ€โ™‚๏ธ How do I contribute?

The first step in contributing is to download all the necessary tools. You will need Premake5 (see Premake) and a C++ compiler (if you're using Visual Studio, you're all set!).

Next, you'll need to fork this repository. You don't have permissions to push code directly to this repository, so you'll need to make your own copy. To do this, press the "Fork" button in the upper-right corner of this page, and GitHub magic will take care of the rest!

Now that you've got a fork, you'll need to clone it. This means that you create a local (i.e. on your own hard drive) copy of the repository.

git clone --recurse-submodules -j8 https://github.com/<MyGitHubAccount>/GameProject-1.git
cd GameProject-1

If that didn't work, due to using an older version of git, you might want to try

git clone https://github.com/<MyGitHubAccount>/GameProject-1.git
cd GameProject-1
git submodule update --init --recursive

Excellent, you've got a local copy of this repository. Now you need to build the code (see Building) and make your changes (for a basic Git workflow, see Git). Remember to re-run Premake whenever you add a new file.

Changes committed and pushed? Great! Create a Pull Request by going to the "Pull Requests" tab in GitHub. This allows others to review your code, and maybe ask you to make changes if needed. If all goes well your changes will be merged, and you will see them appear in the main repository.

Premake

This project uses Premake for project configuration. (What is Premake?)
You can get the latest version here! Make sure you have it in your PATH or in the project root directory.

๐Ÿ”ง Building

  1. Open a terminal in the project root directory.

  2. Run premake with the action of your choice. It's as simple as: ./premake5 my-favorite-action.
    A few examples of actions are: vs2017/vs2019 (Visual Studio), gmake2 (GNU Make) and xcode4 (Xcode).
    Here is a full list of available actions.

    (Psst! There are also a few third-party premake extensions at your disposal, in case none of the official generators pique your interest)

  3. Premake will now have generated project files for the action you specified. You should see a workspace file in the project root directory. For Visual Studio this takes the shape of a .sln file. For GNU Make; a Makefile, etc..
    This means that you can now build the project using the corresponding build tool on your computer. If you're using GNU Make, for instance, you can now simply call make. Otherwise, if you're using an IDE, you should open the workspace file with said IDE and you will be able to build the project.

โ“ FAQ

  • I get invalid value 'Objective-C++' for compileas, what do I do?

    • Update Premake, you are likely not using the latest version
  • Visual Studio keeps asking me to "Retarget Solution", how can I avoid this?

    • Use the right Premake action, vs2017 for Visual Studio 2017 and vs2019 for Visual Studio 2019

โœ‰ Git

Note: This is just a basic workflow, for more detailed descriptions see the documentation.

Checking the status of your repository:

git status

Saving (committing) your changes (do this regularly):

# For a list of files
git add <file1> <file2>
# For all files
git add *

git commit -m "Message"

Branch management:

git branch branchName		# Creates the branch
git checkout branchName		# To switch to that branch
git branch -d branchName	# Deletes the branch (local)
git push origin :branchName	# Deletes the branch (remote)

Pushing your changes to a remote repository:

git push

Reverting back to an older commit: (WARNING: you will lose all uncommitted work)

# Find the commit ID (e.g. a1b2c3d4)
git log --oneline

git reset --hard a1b2c3d4

Ensuring your local repository is up-to-date with the ChernoCommunity one:

# Only do this once:
git remote add upstream https://github.com/TheChernoCommunity/GameProject-1.git

git fetch upstream
git checkout master
git merge upstream/master

Rebasing your branch (first, ensure your local repository is up-to-date with the ChernoCommunity one):

git checkout branchName
git rebase master

gameproject-1's People

Contributors

amelieheinrich avatar dr01d3k4 avatar fancykillerpanda avatar gaztin avatar marcasrealaccount avatar matty2048 avatar rtryan98 avatar sfulham avatar yh-hat-trick 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.