II - Shiva3D

Powerful and flesible. A good competitor of Unity3D
Technical Informations
Name Shiva3D
Website http://www.stonetrip.com
Rendering OpenGL 2.1*, OpenGL ES2.0*, DirectX 9, DirectX 11**
Audio 2D and 3D
Physics ODE Physics engine
Editor Yes - Shiva3D itself is the editor
Languages C++, LUA 4.0
Target Platforms Everything!

* = I could not find a page that explicity state which version of OpenGL it uses.
** = from the upcoming version 2.0 of the Engine. Not available as of writing.

A proper Game Engine
Shiva is one of that product that when you read their website you think of a scam. Why an engine with so many features has been unknown for the most part of the Internet?
I don't have an answer to this question.

What they lacks in marketing they feature in coolness. Can I use this word? No? Who care!
Shiva3D is what Unity should really be: full of features, that works. If you want to compare every feature of the engine they seems less powerful then Unity. However they works.
An example:
Unity feature a really cool pathfinding that uses modern navmeshes, off-links, multiple layers... Shiva offer a "common" A* graph navigation.
Much better Unity, isn'it?
Not at all: you can't modify the navmesh at run-time in Unity. What if you add an obstacle to the mesh on Unity? If it's static you can define parts of the navmesh that can be turnet on and off but what about if a rock randomly fall on the ground? Or even better: think about an House editor (like in Fable). You don't know a priori where the user will place an item. With the base path-finding in Unity you can't do it, you have to rely on nasty tricks or external tool in the Asset Store.

The Shiva3D navigation system.

Should I really talk about the UI system?
No, I don't think so. Any Unity user know the horribad experience of developing an User Interface on Unity. Should I mention that Shiva have a powerful integrated 2D system?

An HUD example

Fantastic!

I could compare every feature of both engine and still find Shiva winning.

Features
The main feature of Shiva3D is that... it have everything! Shiva offer you every tool you may need for game development: from the material editor to the particle editor, from the navmesh to the 2D system, etc.
And most of all Shiva export pratically everywhere!

The object inspector of Shiva3D

The game logic can be edited using the integrated LUA editor which is good for most of the needs, however if you find it too restricting you can attach C++ code to the Engine and use the Authoring Tool to compile everything and use external libraries. To be honest it's a bit tricky use C++ code but it's a great freedom.

Shiva3D in all of it's splendor

Shiva can be expanded through the use of plugins. There are many plugins available in their Store which is similar to Unity's one. The plugin system is a little limited but still a lot useful.

The engine integrate many advanced features like a Terrain Editor, a good particle editor, many advanced techniques like the Ambient Occlusion, hard and soft shadows and so on. Opposed to Unity, Shiva's features are not editable. This means you cannot access the shadow shader or (easily) add your own Ambient Occlusion. While this may sounds bad, it is not, because it gives more control to the engine when it works on optimizations and quality settings (the LOD system, the quality settings and similar, are all controlled by the Engine easily).

Some company problems and the reborn of the engine
During the last two years it seems the company behind this great engine had some legal problem. Most speculations, gossip, conspiracies, theory on aliens, has been wrote on this forum post:
Shiva Forum - StoneTrip
To summarize: someone stated that the company was in liquidation so people thought of the end of the company and consequentially of the engine. But their main moderator, Broozar cooled down the spirits with some juicy news (in that post and in more others).
Now it seems that the company changed their (legal) name but it's still alive and, most of all, the long-wait for the newer and highly wanted version 2.0 is coming to an end (yes, I know this has been stated every year, I still have hopes).

EDIT:
It became true! The first 2.0 beta is available to all the previous clients who own a license for Shiva 1.9.2! This is great!

Concepts
Shiva use some concept which may seems strange at the beginning but, instead, they makes you focus on the gameplay. Good.
This engine share the concept of "prefab" as for other engines: you pack one or more entities, which can be a model,a particle, etc, then you can attach to it scripts to give them the behaviours you script.

An important concept is the one of the AI States: in pratice every script is always a State Pattern which three main states: OnEnter, OnLoop and OnExit, which are, all of them, loops. The concept may sound strange at the beginning but instead it is really useful because, if you think about, all the logics work using these states (well, almost).
You can still define functions and logics outside of these loop but you call them from one of these.

The scripting window

Advantages and Disadvantages
  • Feature-rich. Think about a tool or a feature you need: Shiva has it. And it works.
  • Everything is integrated, works and it's easy to use.
  • There is a [Store] that gives you a lot of assets, as well as good documentations on their website.
  • The Engine can export for a lot of target platforms.
  • The plugins are great but a little hard to develop.
  • Version 2.0 is still in development.
  • Working with just LUA sometimes is very limiting, but integrate C++ code is tricky.
Conclusions
I really have hope for this engine because the more I used it the more I liked it. It's limited, it gives you less freedom then Unity and working with LUA, expecially with their concepts, but I don't find this reason a negative score for Shiva (you learn fast).
However while the old version is still valid, until version 2.0 is out I'm still reclutant to adopt it as main engine. Something to think about
I want to point out that, as far as I know (and as of writing), Shiva is a little younger the Unity however Shiva feature a lot more shipped games then Unity. This difference is vanishing recently that Unity's fame exploited, but how many games do you know made with Unity? Release games. I've seen thousands of project with Unity but 90% of them doesn't reach the stage of "I'm playing with the engine". To me it's still because you spend more time dealing with Unity's problem then working on the game, this doesn't not happen with Shiva or other engines.
English

1 comments

Great article!

Yes LUA can feel weird to start with if you're coming from Java or C/C++, but as you say it's not limiting, in fact one can follow OOP methodology with it and make very robust solutions.

I'm currently writing a UDP multiplayer natice C++ plugin for ShiVa, currently builds for PC and Android.

Also ShiVa engine runs relatively fast, you can throw a few more tris at the screen on any given hardware. And memory management.... well I've used many libs in my years, but this engine when running does not leak one byte. Yup it's a gem of an engine for sure and the tools to use it are also extremely cool!

ShiVa2 is gonna be incredible, I can say from my Beta2 experience, it's fast (faster!) and is going to enter some sublime techno singularity because the toolset is now scriptable, devs can extend the tools with very powerful new features!

Add new comment

Comment Text

  • Allowed HTML tags: <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
To prevent automated spam submissions leave this field empty.
CAPTCHA
Answer the question and don't bother me with spam.