Tutorial Engine
The final result of C++ 3D Game Tutorial Series is finally arrived!
Thursday 23rd September 2021

 

Prologue


C++ 3D Game Tutorial Series is back, in some way! The C++ source code of the 3D Game written during the series has been taken, cleaned and improved a lot!

Also other important sub-systems and functionalities have been added to the 3D engine created during the series, allowing in this way the creation of simple 3D Games in a simple and easy way!

The 3D Engine has been called Tutorial Engine!

 

Tutorial Engine


Tutorial Engine is nothing more than the final result of C++ 3D Game Tutorial Series, that's why there is Tutorial in its name.

The purpose of Tutorial Engine is to provide a simple and easy to use C++ Game Framework for the Development of simple 3D Games.

The features currently included in the engine are:

  • 3D Renderer (DirectX 11)
  • Input System (design improved since the last tutorial)
  • Forward Rendering
    • Support for multiple Directional Lights
  • 3D Models Loader (.obj)
  • Textures Loader(.jpg,.png,.tga,.bmp etc.)
  • Custom Materials: Materials can be customized by adding:
    • custom vertex and pixel shaders
    • textures
  • Game System, composed by:
    • Entity System, the user can now create and customize his/her own entities easily with an Object Oriented approach
    • Default Entities like Camera, Light
  • Collision Detection

In general, the source code has been improved by

  • removing useless classes
  • using smart pointers (introduced in this way a simple Memory Management)
    • unique_ptr
    • shared_ptr
    • ComPtr for DirectX Resources
  • redesigning a bit the various classes like RenderSystem, GraphicsEngine etc.

 

The engine can be compiled in both Debug and Release Modes.

 

SpaceShooter 3D Game - First [Tutorial Engine] Sample


 

As we can see in the images above, Tutorial Engine let us create 3D games with

  • Multiple Entities (skybox, spaceship, asteroids and projectiles spawned at each mouse click)
  • Multiple Directional Lights (red light and green light with different directions)
  • Collision Detection (each time a projectile collides with an asteroid, that asteroid and that projectile are removed from the scene)

 

Source Code


The source code of Tutorial Engine is now available in early-access for the patrons!

Here is the link to Patreon Post: https://www.patreon.com/posts/56512306

 

Epilogue


That's all for now, folks!

I hope You'll enjoy to make games and graphics experiments with the Tutorial Engine!

And If you have any question about this topic, you can leave a comment on Discord, YouTube and the comments section below.

Thank you for all your support!

 

Stay up to date!
Subscribe to the newsletter to receive all the main news about the development of Pard Engine, illuxUI, and the various Tutorial Series!
Subscribe
E-mail is not valid. Please insert a valid e-mail.
If you don't want to receive our news anymore,
unsubscribe now