Project3CITM / CulverinEngine-Project3

We are a group of 35 students from CITM. UPC. and we made a dungeon crawler game with a theme of Game of Thrones. Web:
https://project3citm.github.io/CulverinEngine-Project3/
MIT License
12 stars 2 forks source link
dungeon-crawler-game engine njoy-game

# nJoy Game's Unthrone

CONTENTS

0) WHAT IS OUR GAME?
1) SYSTEM REQUIREMENTS
2) INSTALLATION
3) GENERAL INFORMATION
4) CONFIGURATION
5) CONTROLS
6) KNOWN ISSUES
7) CONTACT INFORMATION
8) CHANGELOG
9) TEAM

0) WHAT IS OUR GAME?

nJoy Game is an accessible dungeon crawler game based on Game of Thrones TV series universe featuring King's Landing as a playable level.

You can find more information about our game in our GDD: https://github.com/Project3CITM/CulverinEngine-Project3/wiki/Game-Design-Document

KingsLanding

1) SYSTEM REQUIREMENTS

nJoy Game uses and requires Microsoft DirectX 11.0.

Supported Operating Systems are:

Windows

The following operating systems are NOT supported/tested:

Linux, Mac

Minimum Hardware Requirements

2 GHz Intel core i5
4Gb of RAM
1 500 MB of free hard disk space
video card support OpenGL 3.3
Keyboard or Gamepad
Mouse

2) INSTALLATION

Download our latest build at https://github.com/Project3CITM/CulverinEngine-Project3/releases

Just download the release, unpack it, open the NjoyGames_VerticalSlice3 folders and open the NjoyGames_VerticalSlice1.exe file.

3) GENERAL INFORMATION

License: MIT

OpenGL:

nJoy Game requires OpenGL 3.3 to run. For the game to run properly, it is necessary to have video drivers that are OpenGL 3.3 compliant.

Windows 10:

We recommend manufacturer distributed drivers for Windows 10 (i.e. drivers that expose the user controls for changing settings on the particular piece of hardware), instead of the default drivers installed by Microsoft as part of the machine setup process.

Build status

4) CONFIGURATION

Sound Provider:

We use Wwise for the sound management. & provided some audios from https://freesound.org/ and ___

Screen Resolution:

For this release, is recommended to not rescale the window

5) CONTROLS

As a player you can execute the following controls:

//Debug

6) KNOWN ISSUES

https://github.com/Project3CITM/CulverinEngine-Project3/issues

7) CONTACT INFORMATION

Web Site: https://github.com/Project3CITM/CulverinEngine-Project3

8) CHANGELOG

Pre Alpha 2 V 0.5

* the maps have been changed to 7 different maps
* New Assets at the stages
* New boss AI
* New Transitions between stages
* Bug Fixing
* Improved and added particles
* Added new Visual Effects
* New options menu
* Anchor points for UI

Alpha V 0.3

* Radial Filler in Habilities
    * Shielded Enemy Animations improved
    * New Visual Feedback on hp/stamine bars
    * New Particles
* Bug Fixes

Pre-Alpha 1 V0.19.3

Pre-Alpha 1 V0.19.2

* Radial Filler in Habilities
    * Shielded Enemy Animations improved
    * New Visual Feedback on hp/stamine bars
    * New Particles
* Bug Fixes

Pre-Alpha 1 V0.19

* New Map Lvl2 distribution 
* New 2 Puzzle on lvl 2, (one binari, open the gates )
* New Enemy life feedback 
* New Puzzle on lvl 3
* Bug Fixes 

Vertical Slice 3 V0.17.1

* Iddle Camera
* Dead player animations
* Animations improve
* Bug Fixes

Vertical Slice 3 V0.10

* 2 Enemy added
* realistic AI for each of the enemies
* New Map
* New Puzzle
* New PBR materials
* New Map Assets
* Bloom
* GameLoop
* New UI Menus & win/lose Windows
* BUG fixes

Vertical Slice 2 v0.09:

* Enemy added   
* Puzzle completed
* Lights added

Vertical Slice 2 v0.08.2:

* 2 more characters added (Theon and Daenerys)
* Simple puzzle
* Simple PBR material tests
* New UI art

Vertical Slice 1 v0.08:

* Character can Move between tiles and rotate.
* Character can Attack and block.
* Simple combat with the AI.
* AI Pathfinding.
* Character Arms model and his Animations
* Character Sword
* Enemy Model and his Animations
* Hand-painted Textures
* Environment Props
* 1 Level
* Interactive UI Buttons
* Healt and Stamina UI representation
* Level Music and FX such as footsteps, torch fire…

9) TEAM

Member Rol
Management
Carlos Peralta Sorolla Producer
Art
Sergio Alvarez Llorca Artist
Gerard Gil Calvo Artist
Daniel Olóndriz Rosique Lead Artist
Javier Ariel Ortiz Peirano Artist
Guillermo Jesus Pinto Henriques Artist
José Antonio Rodriguez Millán Artist
Marc Samper Tarancón Artist
Pau Serra Colome Artist
Daniel Triviño Merida Artist
Code
Nicolás Babot Altisén Programmer
Carlos Cabreira Sánchez Programmer
Josep Casanovas Vidal Programmer
Adrián Castillo López Programmer
Marc Fabián Vilà Programmer
Miquel Izquierdo Cunill Programmer
Elliot Jiménez Bosch Programmer
Marc Latorre Freixes Programmer
Daniel López López Programmer
Martí Majó Ylla-Català Programmer
Ferran Martín Vilà Programmer
Xavier Olivenza Busquets Lead Programmer
Jordi Oña Rufí Programmer
Joan Pareja Piñol Programmer
Pere Rifà Planella Programmer
Andreu Rojas Barrera Programmer
Èric Solà Vila Programmer
Design
Aleix Cardona Zuecos Designer
Sebastian Delgado Vargas Designer
Adrián Higuero Torres Designer
Marc López Fàbregas Lead Designer
Francisco Ruiz Giménez Designer
Sergio Sáez Calero Designer
Rubén Gonzalo Sardón Roldán Designer

Culverin 3D Engine

This is a project consistent of creating a Game Engine that allows you to use tools to create video games.

It's created for educational purposes, and we are two students that are studying a Video Games Development and Design degree at CITM, Terrassa (UPC).

Check out our Web: https://github.com/elliotjb/3D-Engine

Download Last Version: https://github.com/elliotjb/3D-Engine/releases/tag/Assignment3

VERY IMPORTANT!

Make sure that you store the Release in a path without spaces, because the system won't detect successfully the path, and you won't be able to compile any script.

Example Street scene:

FEATURES

HIGH LEVEL SYSTEM: SCRIPTING SYSTEM.

You can create your own scripts (.cs files), with restricted functionality, and attach them to the GameObjects of the scene.

HOW TO CREATE A NEW SCRIPT:

1) Create-> C# Script. 2) Write the class name to generate the script.

IMPORT EXTERNAL SCRIPTS:

You can drag and drop a script into the engine window to import it. If it has no errors, it will be compiled successfully.

Otherwise you will have to edit it and save changes to recompile it.

EDIT SCRIPTS:

1) To edit it, you have to attach it to a GameObject first: Inspector->Add Component-> Script. 2) You will have to choose between all imported scripts ("Select script...") 3) : opens a new window with the code will apepear. You can edit it and Save changes (File->Save).

SCRIPTS IN THE INSPECTOR

FUNCTIONS TO USE

In your scripts, you can call these specific functions to:

1) ACT ON GAMEOBJECTS:

2) CONSOLE:

3) INPUT:

[FIND THE NAME OF THE KEY HERE: https://wiki.libsdl.org/SDL_Scancode]

[1: Left button, 2: Middle button, 3:Right button]

4) TIME:

SCENE SETUP

1) From "Models" folder, drag and drop "tank.obj" into the Engine Window. It will be imported. You can drag folder. 2) Double click it to load into scene. Delete the "g_default" child objects (they are unnecessary). 3) Now, drag and drop from "Scripts" folder the 3 .cs files. They will be compiled successfully. 4) Select "tank.obj" (parent object) and attach it the "Tank" script. You can change the values of rotation speed and movement speed.(Add Component->script, Select script...-> Tank). 5) Select "gTower" child game object and attach it the "myTurret" script. You can change its rotation speed. 6) Select "MainCamera" object and attach it the "CameraController" script. 7) In "target" variable, yot have to set "tank.obj" to follow the tank. 8) Now, you are ready to enjoy! (Hit PLAY button).

9) Video Tutorial Setup: https://youtu.be/tNWcKUdz2rw

INNOVATIONS

IMPORTING/REIMPORTING FILES

To import a model (.fbx/.obj), texture (.png/.jpg/.tga) or a folder to the Engine, just drag it inside the window. It will create all necessary resources to apply to GameObjects/Components. To load a model into the scene, double-click the icon that has appeared when the file was dragged. It will create a prefab.

Helper videos about resource managing:

CAMERA CONTROLS (Unity-like)

GIZMOS

Only enabled when Editor Mode is Active. When you select a game object, its gizmo will be activated, to edit its transform. Controls:

If you have problems to select a game object by clicking on the scene screen, tree to move the camera to get a better vision angle.

QUADTREE

In Windows->Configuration->Scene you will see QUADTREE options:

CAMERA CULLING

GAME OBJECTS / COMPONENT OPTIONS

You can right-click a game object or a component to see which options are enabled that will modify the selected element. Warning: for this release, cubes created in the engine hasn't got texture coords, so you won't be able to see the applied texture.

STATIC OBJECTS

When setting an object 'static', you won't be able to modify its transform when Play Mode is activated.

VERY IMPORTANT!

Make sure that you store the Release in a path without spaces, because the system won't detect successfully the path, and you won't be able to compile any script.

UPDATES

Libraries Used:

(Not created by us!)

Authors:

Repository Link: https://github.com/elliotjb/3D-Engine