Lua - Game Programing
Lua is used in a lot of game engines due to its simple language structure and syntax. Also, the garbage collection feature is often quite usefu for the games which consume lot of memory due to rich graphics that is used. Some game engines using Lua includes,
- Corona SDK
- Gideros Mobile
- Moai SDK
Each of these game engines are based on Lua and there is rich set of API available in each of these engines. We will look at the capabilities of each in brief.
Corona SDK is a cross platorm mobile game engine that supports iPhone, iPad, and Android platforms. There is a free version of Corona SDK that can be used for small games with limited features. You can upgrade to other versions when needed.
Corona SDK provides a number of features which includes,
Physics and Collision handling APIs
Web and Network APIs
Game Network API
Database and File System APIs
Crypto and Math APIs
Audio and Media APIs
Using the above APIs, makes it easier to develop much faster than using the native APIs separately for iOS and Android.
Gideros provides the cross-platform SDK to create games for iOS and Android. It is free to use with a made with Gideros splash. Some of the striking advantages in Gideoros includess,
Development IDE: It provides its own IDE which makes it easier to develop Gideros apps.
Instant testing: While developing your game, it can be tested on a real device through Wifi in only 1 second. You don't need to waste your time with an export or deploy process.
- Plugins: You can easily extend the core with plugins. Import your existing (C, C++, Java or Obj-C) code, bind to Lua and interpret them directly. Dozens of open-source plugins are already developed and ready to use.
Clean OOP approach: Gideros provides its own class system with all the basic OOP standards, enabling you to write clean and reusable code for any of your future games.
Native speed: Developed on top of C/C++ and OpenGL, your game runs at native speed and fully utilizes the power of CPUs and GPUs underneath.
ShiVa3D is one of 3D game engines which provides a graphical editor designed to create applications and video games for the Web, Consoles and Mobile devices. It supports mutiple platforms which includes, Windows, Mac, Linux, iOS, Android, BlackBerry, Palm OS, Wii and WebOS.
Some of the major features include
Mesh modification API
Built-in Terrain, Ocean and animation editor
ODE physics engine support
Full lightmap control
Live preview for materials, particles, trails and HUDs
Collada exchange format support
The web edition of Shiva3d is completely free and other editions you have subscribe.
Moai SDK is a cross platorm mobile game engine that supports iPhone, iPad, and Android platforms. Moai platform initially consisted of Moai SDK, an open source game engine, and Moai Cloud, a cloud platform as a service for the hosting and deployment of game services. Now the Moai Cloud is shutdown and only the game engine is available.
Moai SDK runs on multiple platforms including iOS, Android, Chrome, Windows, Mac and Linux.
LOVE is a framework that you can use to make 2D games. It is free and open-source. It supports Windows, Mac OS X and Linux platforms.
It provides multiple features which include,
File System API
Keyboard and Joystick APIs
Window and Mouse APIs
System and timer APIs
CryEngine is a game engine developed by the German game developer Crytek. It has evolved from generation 1 to generation 4 and is an advanced development solution. It supports PC, Xbox 360, PlayStation3 and WiiU games.
It provides multiple features which include,
Visual effects like Natural Lighting & Dynamic Soft Shadows, Real-time Dynamic Global Illumination, Light Propagation Volume, Particle Shading, Tessellation and so on.
Character Animation System and Character Individualization System.
Parametric Skeletal Animation and Unique Dedicated Facial Animation Editor
AI System like Multi-Layer Navigation Mesh and Tactical Point System.Also provides Designer-Friendly AI Editing System.
In Game Mixing & Profiling, Data-driven Sound System Dynamic Sounds & Interactive Music and so on.
Physics features like Procedural Deformation and Advanced Rope Physics
An Ending Note
Each of these Game SDKs/frameworks have their own advantages and disadvantages. A proper choice between them makes your task easier and you can have a better time with it. So, before using it, you need to know the requirements for your game and then analyze which satisfies all your needs and then should use them.