Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: shiva Modern C++ Engine with modularity and runtime extensibility (MIT)  (Read 4118 times)

0 Members and 1 Guest are viewing this topic.

Milerius

  • Newbie
  • *
  • Posts: 23
    • View Profile
Introduction:

Hello I worked on this project for 2 years through different repository. Today I present shiva an extensible engine via an entity component system through scripts (lua / python), DLLs, or even header-only (C++).

Another interesting point of the project:

Since the project is divided into modules, you can consult the matrix of modules and their dependencies and therefore you can choose to use the modules that interest you or not.

One of the goals of the project is to introduce you to the ease of handling C++ dependencies with VCPKG on a project like this. But also to make you discover very useful open sources libraries.

Design/Features:
- Modern CMake interfaces/modules
- Scripting through lua/python systems
- Usable / Install through VCPKG C++ package manager

Documentation:
-> https://shiva.gitbook.io/project/shiva

Dependencies:
  • boost-stacktrace
  • boost-filesystem (because of boost-dll)
  • boost-dll
  • entt (from skypjack)
  • lua
  • luafilesystem
  • sol2 (from ThePhd)
  • pybind11
  • cpp-taskflow (integrated in the project)
  • spdlog​ (from Gabime)
  • expected (from Tartan Lama) (integrated in the project)
  • NamedType (from Jonathan Boccara) (integrated in the project)
  • Nanorange (from tcbrindle) (integrated in the project)

There is additional plugins like shiva-sfml (not finished yet but usable).

Funny information:

For the moment there are not many lines of code, but a lot of code generate through templates.
(~45kloc) ->  (~800kloc generated)

Additional information:

You can find the roadmap here -> https://shiva.gitbook.io/project/shiva/roadmap.

If you have a question about the project or if something seems wrong or poorly explained, do not hesitate to ask me questions.

I am already aware that the name of the project conflicts with a c ++ engine that is also called shiva, but when I created this project I was not aware of the existence of this project.

Since I am alone on the project. I really take my time to develop it. It is possible that there is something missing in the documentation, or that some modules are not yet documented.

I started C++ only 2,5 years ago, thank you for being nice!

Gallery:

Here is a video made with an old version of the game engine to give you an idea (done with SFML).


Link:
https://github.com/Milerius/shiva

ToyAuthor

  • Newbie
  • *
  • Posts: 21
    • View Profile
    • Email
Re: shiva Modern C++ Engine with modularity and runtime extensibility (MIT)
« Reply #1 on: August 20, 2018, 09:33:18 am »
That's a big plan!
So many modules.
Good to see another one project using lua.

 

anything