
ShiVa Store - Packs
Packs are stk files containing LUA scripts that are loaded at runtime by your game. They are completely cross-platform.
The packs can be used for free while running in ShiVa Editor, so feel free to download and try them.
Why?
I have programmed a lot of games during the past years and I've acquired a lot of experience with ShiVa. Each time I have a new game to do, there are things that are similar to the previous games I did, some identical features, some identical problems too...
That's why I've decided to create these packs that can be included in a game so I don't have to reinvent the wheel each time I have a new game to do. Each pack is independent. It does a single task, but it does it well. With these packs, you (and I) will save a lot of time and by using packs your code will become much more readable and maintainable.
What is it?
Packs are the easiest and most effective way to add new features to your game.
What I call a 'pack' is a .stk file. This kind of file is not only used to hold the ShiVa game that will be executed, but can also contain independent resources. The pack can be loaded at runtime by the game in order to use the resources it contains.
The main objective of the packs provided here is to allow games to embed complex behaviours with very simple implementation. A pack can provide features that are very difficult to develop but thanks to these packs you'll get them with only a few lines of code. The development time you save is just huge.
How does it work?
The use of these packages is very simple: place the .stk file in your project directory, load it and use it.
To facilitate the loading step of these packs, you will find below a file named JPPackLoader allowing you to load these packages with a single line of code.
At publish time, you just have to add the packs into the "Additional files" section of the Authoring Tool.
Pack vs Plugin?
Packs can contain any kind of ShiVa resources (AIModels, textures, models, ...). However, most packs you'll find below contain only AIModels. Just like plugins, packages can create new script APIs, so how are they different from plugins?
The packs have two disadvantages: the completion is not available for their APIs (Ctrl+Space shortcut not available and no LUA colorisation) and they only work with LUA projects (no C++ compilation). This last point is actually an advantage over plugins: packs are compatible with all platforms as there is no need to recompile them, which also means that the packages are already compatible with platforms that have not been released yet!
Another advantage of packs is their very small size. Let's compare the pack JPTweener to the Tweener plugin (available in the official ShiVa 3D Store): they both provide the same functionalities but JPTweener is only 25KB while the plugin is 4.5MB!
In fact the lack of completion and API colorization is not a problem because there's a workaround. For each pack available on this site, a "LUA extension" is provided, which is a "small plugin" that will provide you the completion and colorization, and you will use it only while in ShiVa Editor, it won't be exported. The combination of packs and their small plugin is the best possible solution because it offers the advantages of each of them without having the disadvantages.
Pricing policy
- A bought product can be activated for an unlimited number of your games
- If a product is updated with new features, its price may be increased. However, if you've purchased a previous version of this product, you'll get the upgrades for free.
Requirements
- ShiVa 1.9.2 or greater required.