SOLID_ENGINE

Website :

Download as .zip Download as .tar.gz View on GitHub

Description

Solid Engine is a project of the video games engine subject with the purpose of creating a fully functional engine with its own innovations and features implemented by Solid Team. We are 2 Video Game Design and Development Degree students from CITM-UPC Terrassa.

Video

Downloads

Zip: Solid Engine 3.0

How to Play Demo

Main Sub-Systems

GameObjects & Components

The engine uses a structure of gameobjects and components ordered by hierarchy. You can add them, remove them and reorder them as you want through the inspector and hierarchy window.

Scenes

The user has the possibility to save their current hierarchy of game objects and components by saving them in scenes. Later they can be loaded in a few simple clicks.

Game Controls

With the controls at the top you can start, stop, pause, resume and go frame by frame the game. When the game stops, the scene will return to the way it was when you press start.

Resources & Library

The resources system allows you to optimize the memory using the same resource by instantiating it. For each resource in the assets folder an own document will be generated in the library of the hidden project for the user. These documents are a copy in the engine format that allows you to access the data faster saving loading time.

Editor

The unity-style editor uses the ImGui library. It has the necessary windows to control the entire scene. With the scene window you can edit the game objects with the mouse picking and the gizmo and with the game window view the scene from a camera view .

Phyisics Sub-System

Module

The physics module integrates the Bullet Physics 2.89 library. Our engine has a simulation of a dynamic world that is updated in each preupdate with the game time. It is also responsible for distributing collision callbacks (OnCollision) to game objects.

Components

Colliders

The colliders contain the shape of the Rigid Body. You can configure the center of mass, the configurable values of the shape and its physical properties when interacting with other colliders.

Types

</iframe>

Rigid Body

As the name implies, this component converts the gameobject into a rigid body that will be used in physics simulation and will control the transformation in position and rotation. This body can be dynamic, static or kinematic. If the gameobject itself has a collider component, it will be used as a shape for the rigid body. It affects gravity and has configurable values:

</iframe>

Joint P2P

With this component you can apply a constraint of position to two gameobjects with rigid body. You can drag the gameobject from the hierarchy to the connected body value.

Character Controller

The component needs a collider and a rigid body. Turn any game object into a character. Some keys have been added as a demo to test the physics.

Vehicle

The component needs a collider and a rigid body. Turn any game object into a vehicle . Some keys have been added as a demo to test the physics.

Team

Alejandro Gamarra Niño

Member implementations

José Antonio Prieto García

Member implementations

License

MIT License

Copyright (c) 2019 Solid Engine (Alejandro Aurelio Gamarra Niño & José Antonio Prieto García)

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.