GP-Engine-team / GP_Engine

The Green Portal Engine is a student project built over the span of 5 months, aimed at learning how to code a functional game engine comprehensive enough to make a game (GPGame) out of it.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Editor graphical user interface

Game made entirely with the engine

Documents

Production Pipeline document
Architecture diagrams
Google Drive

Getting started

  1. Clone this repository with:
git clone --recurse-submodules https://github.com/GP-Engine-team/GP_Engine.git

If you already cloned the repository, you can use:

git submodule update
  1. Download the assets from the Drive (projects folder or project.zip) and extract them from the root of your local copy of this repository. For now, they are only accessible by someone with an ISART email address
  2. Open projects/GPGame/GPGame.sln in Visual Studio
  3. Either set the "GPLauncher" or "GPEditor" project as startup project to launch the game alone, or with the editor, respectively
  4. Choose either Debug or Release mode, and hit F5 to compile

Here is a link toward a build.

Features

  • Fully-fledged game editor with various edition tools
  • Game launcher
  • Serialization
  • Reflexion
  • Resource manager
  • Custom resource and resource importation under multiple formats (.fbx, .obj, .wav, .jpeg, ...)
  • Custom prefab exportation and importation
  • Sound (Stereo, mono, spatialized)
  • In-game UI
  • Lights
  • Shadows
  • Scripts
  • Hot reload with Visual Studio
  • Particle system
  • Animation system
  • PhysX-based physics
  • Custom math library implemented with unit tests (see the GPM repository)
  • A game made entirely with the engine's editor

Game controls

Key Action
S Move backward
Z Move forward
Q Strafe left
D Strafe right
R Reload
Space Jump
Shift Toggle sprint
Right-click Aim
Left-click Fire
Esc Exit the program

Known bugs

  • Sounds sometimes stutter when there are several sources playing sound simultaneously
  • On older/low-end machines, FPS drops may sometimes be experienced

Repository folders architecture

  • editor/: code relative to the editor
  • engine/: the heart of the engine's C++ API
  • generator/: reflexion with Refureku
  • launcher/: game-only launcher code
  • projects/: where the games made with the engine are edited

Global architecture

The following diagram, as well as other more specific UML diagrams, are available on the project's Google Drive.

Click the image to get a zoomable version of it. Global architecture diagram

Dependencies

About

The Green Portal Engine is a student project built over the span of 5 months, aimed at learning how to code a functional game engine comprehensive enough to make a game (GPGame) out of it.


Languages

Language:C++ 100.0%Language:C 0.0%