Plugins – ShiVa Engine

Category Archives: Plugins

Android Plugins part 2: JNI and JAR

Welcome back to part 2 of the Android Plugin tutorial series. This time, our C++ plugin will communicate directly with some Java code that is stored inside a Java Archive (JAR) using the Java Native Interface (JNI).


Android Plugins part 1: Pure C++

Welcome to a new tutorial series for ShiVa where we will be looking at various ways to create and use plugins in your Android applications. Part 1 will cover the general setup, the creation of a test project in ShiVa and Android Studio respectively, and look at potential pitfalls in the coding pipeline.


New plugin headers for 64bit

Building on all the previous tutorials, we are going to put everything we have learned to the test by integrating Google AdMob into our test project. Since it is currently one of the most popular ways to monetize your game, we will be looking at video rewards specifically.


True multithreading in ShiVa pt.3: Object threads

Welcome to the last part of our multithreading tutorial series. In part 3, we are going to have a look at the unique challenges in Object AI threads and think about scaling our system from a single consumer (User AI) to potentially hundreds of objects in a single scene.


True multithreading in ShiVa pt.2: User states and events

Now that we are familiar with spawning and detaching threads, know about data races and lock_guarded mutexes, it’s time to put all that knowledge to good use and make all those threads do actual work in your ShiVa game! In this tutorial, we will be looking at two possible design patterns for currentUser() AIModels, while


ShiVa Lua unlocked Pt.2: Editor DLL modules

Modules for the ShiVa 2.0 Editor are written in Lua (logic) and XML (UI). With far over 2000 Editor API functions and constants, you can write very sophisticated modules with the Editor Lua API alone. Although from time to time, you might run into C/C++ code that does exactly what you need for your ShiVa