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 next week will have a look at multithreading in scene object AIs.Read more ...


True multithreading in ShiVa pt.1: Introduction

Lua Coroutines, which we discussed before in other tutorials, offer a nice way of running long calculations step by step every frame over a period of time, so your programs do not appear to be stuck or frozen while you wait for those functions to return. Unfortunately, Coroutines do not offer true multithreading, which means that your expensive multicore CPU largely goes underutilized. Thanks to ShiVa's underlying C++ core, Lua Coroutines are not the only way to design parallel operations. Using the power of the C++11 STL, you can achieve true concurrency via std::thread().Read more ...



ShiVa Networking part 1: Your First Connection

Single player games can transport you into fantastic worlds and tell incredible stories. What could be better than sharing these experiences with your friends? Unfortunately, multiplayer programming is one of the more demanding tasks in the life of a game developer, and your game will succeed or break with the network code. ShiVa offers many tools to help you design multi-user applications.Read more ...




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 module. Wouldn't it be nice if you could just integrate that code into the editor without converting everything into Lua?Read more ...


ShiVa Lua unlocked Pt.1: tables, os, io

At its core, ShiVa is a C++ engine which also allows developers to use Lua directly inside the editor for easy coding. ShiVa has an extensive API with over 5000 functions and constants to choose from. Most of them are covered in our documentation. To make the Lua interface possible, ShiVa ships with a complete Lua interpreter, which means a great selection of helpful additional functions are available to you which you were probably not aware of if you only used the ShiVa documentation and not the official Lua documentation.Read more ...