Developer

Welcome to ShiVa Developer, the primary resource and tutorial website dedicated to all your ShiVa needs. We want you to find everything you require within a few mouse clicks. Exploit ShiVa’s full potential by learning new functions from the API Reference, discovering new tutorials on specific topics in the Community WIKI, or by sifting through the Official Tutorials.


Five Latest Blog Tutorials

We regularly post new tutorials on our blog. Go to the full tutorial list here.

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 2: Sessions, Events, Broadcasting

Last week, we introduced the fundamentals of working with ShiVa's networking and wrote a simple program that connected to a remote server session. This week, we are going to build a simple chat application that allows 2 or more clients to exchange text messages.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.4: code injection, garbagecollector, coroutines

Welcome to the probably last entry in this tutorial series. Today, we are going to have a look at the last remaining undocumented RealtimeAPI functions, which allow you to load arbitrary external Lua code, control the garbage collector, and let functions run seemingly in parallel.Read more ...


ShiVa Lua unlocked Pt.3: API dump, Types, Assert, Globals and Unpack

Up until now, we only had a look at the new Lua 5.2.3 features included in ShiVa 2.0 and EditorLua. Today, we will have a look at hidden RuntimeLua functions and look at some handy hacks that could make your coding life easier, but also much more dangerous!Read more ...