free website templates

DIAMOND ENGINE

CITM - VIDEOGAME DESIGN AND DEVELOPMENT

3D Videogame Engine

Create your own 3D videogame

Diamond Engine is a 3D videogame Engine created by Marc Tarrés and Aleix Castillo, students of CITM, UPC, in Terrassa. The code has been written in C++.
  • The engine uses a Quadtree and frustum culling to speed up the drawing process of all Game Objects.
  • All created Scenes can be saved and Loaded.
  • There's an option to create new Game Objects in the options menu in the Hierarchy.
  • New Components can also be added to GameObjects in the object's Inspector window.
  • In the Inspector window there are the options to delete components or the entire object.
  • New assets can be loaded and used in the engine just by dragging them in.
  • Using the Play button, the user can enter the Game Mode.
We have implemented a particle system for the engine that will allow the user to create particle effects.

Vídeo de Youtube

Check out the particle system here.
All the basic videogame engine funcionalities have also been implemented. If you wanna check them out, make sure to click here.

Check out the most recent release

TEAM MEMBERS

Contribution to the engine:

- Import and export meshes with our format
- Import fbx
- Implementing Guizmos for transform game objects
- Implementing frustum culling
- Mouse picking
- Game mode
- GameObjects Hierarchy
- Texture importer
- Serialization
- Resource manager
- GameObjects
- GameObjects components
- Module particle manager
- Particle colors options
- Particle Emitter
- More particle options
- Particle textures

Marc Tarrés

Programmer

Contribution to the engine:

- Implementing Quadtree
- Particle Emitter
- Particle sub emitter
- Billboard component
- Module particle manager
- More particle options

Aleix Castillo

Programmer

External Libraries
  •     ImGui
  •     SDL
  •     OPENGL
  •     MathGeoLib
  •     PCG
  •     Parson
  •     Assimp
  •     DevIL

MIT License

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.

Marc Tarrés

Email: mtmtarres@gmail.com

Personal GitHub

Aleix Castillo

Email: aleixcastillo95@gmail.com 

Personal GitHub

Repository

Diamond Engine GitHub