Skip to content

Latest commit

 

History

History
165 lines (96 loc) · 7.58 KB

README.md

File metadata and controls

165 lines (96 loc) · 7.58 KB



Normal Engine

Normal Engine is a free to use Game Engine made in c++ with the basic tools to create a game. Made by students from CITM Barcelona for the Game Engines subject.
To access to the webpage of the engine, click the following link: Webpage



Usage Guide

The engine consists of a menu bar, located in the upper part of the screen, where you can save and load your scene or even import files that you may need. In the middle of the screen we can find the viewport area where you are able to deploy objects and navigate through them making use of the different modules of the engine, which are 8 in total:

  • Configuration --> Manage the engine general configuration.


  • Hierarchy --> Visualize the objects displayed into the scene and navigate through them.


  • Action Controls --> Start, Pause and Stop the action of the engine.


  • Scene Screen --> Display, modify and manage all the 3D assets that will appear in the game.


  • Game Screen --> Previsualize how the scene would look inside the game while running.


  • Camera Controls --> Rotate and move the camera in Game mode.


  • Assets --> Navigate and diplay the different asstes stored in your computer. As we had problems showing the folder and file icons we used colors to identify different archieve formats. Red for the FBX files and purple for the folders.


  • Console --> Follow the executions that happen in your engine. (Not working propertly!)


  • Inspector --> Change your objects properties and else.


  • UI Editor --> Create and Edit the GUI for your game. (Not working propertly!)



Also in the menu bar, to improve the communication in case of bugs and crashes we implemented a menu item called help with the possiblity of:

  • About --> A window will pop up with all the important information about the engine.
  • Go to GitHub --> The GitHub page of the engine will open in your browser.
  • Donwload latest --> In case you don't have the latest version of the engine, it will bring you to the releases page of the engine.
  • Documentation --> The GitHub page of the egnine will open in your browser in case you need deeper information about the engine.
  • Report a Bug --> In case you find a bug the GitHub issue page of the engine will open in your browser so you can label it.

Controls


Menu Actions:
- SAVE --> Ctrl + S
- SAVE FILE --> Ctrl + S
- OPEN FILE --> Ctrl + Shift + S
- IMPORT --> Ctrl + I
- SHOW/HIDE WINDOWS --> Ctrl + H
- DELETE SCENE --> Ctrl + D
- EXIT --> Esc

Mouse Controls:
- LEFT CLICK --> Selection
- RIGHT CLICK --> Rotate camera

Camera Controls:
- MOVEMENT --> Right Click + WASD and Right Click + R/V (Up/Down)
- MOVEMENT SPEED x2 --> Shift
- ZOOM --> Mouse Wheel
- FOCUS ON OBJECT --> Right Click + F


Developers


Additional Functionalities

No additional funcionalities yet.


Additional Comments

Issues solved:

ISSUE #1: When working with objects in the viewport the engine crashed every time at exit, fortunatelly the error was in an overflow over an array, so we were able to fix it.

Issues not solved:

ISSUE #2: At implementing the assets folder both folders icons visulization and drag and drop didn't work at all.
ISSUE #3: AABB geometry is not displaying and working correclty.
ISSUE #4: Drag and drop crashes at displaying FBX files, to aboid that we deactivate it.
ISSUE #5: Save and Load with custom file format is not working correctly, and either accept fbx files.
ISSUE #6: When creating a method to create GUI elements inside the engine we take into account different options but we finally ended up with printing them with OpenGL, given that we had a lot of problems beacuse we couldn't make a system to manage them, insted we printed them ath the beginning.
ISSUE #7: Related with the way of printing 2D assets inside a 3D environment we dealed that while using an orthogonal camera the different GUI elements didn't show. In half the path of the assignment we realised that printing things in OpenGL was to complicated so we forked Wiwa Engine (our coleages engine) to try to implement them using assets and methods created last year.
ISSUE #8: Continuing with the last issue in the new engine we realised that was to difficult given that we used methods that were none similiar with Wiwa Engine so we returned back to NormalEngine to try to make something work.
ISSUE #8: When applying the OpenGL colors changed the color filter of the whole set, netiher erasing them at finish worked.


License

MIT License

Copyright (c) 2022 Pol

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.