When comparing Lua vs Skyline, the Slant community recommends Lua for most people. In the question“What are the best 3D Engines, with both C++ and Lua as languages?” Lua is ranked 1st while Skyline is ranked 3rd. The most important reason people chose Lua is:
One of the best features of Lua is its very well designed C API. This is very useful if you have an existing C library you need to integrate with Lua or quickly get a Lua script running on the C side of the game. Finally Lua plays so nice with C that if you need to optimise for speed you can re-write it in C a lot easier than other languages.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Very easy to integrate with C and C++
One of the best features of Lua is its very well designed C API. This is very useful if you have an existing C library you need to integrate with Lua or quickly get a Lua script running on the C side of the game.
Finally Lua plays so nice with C that if you need to optimise for speed you can re-write it in C a lot easier than other languages.
Pro Great documentation
The official Lua documentation is very helpful and thorough. There are also a large number of online resources or books with lots of helpful information for beginners and advanced users alike.
Pro Portable
Lua can be built on any platform with a ANSI C compiler.
Other than that, Lua is extremely small. For example, the tarball for Lua 5.2.1 is only 245K compressed and 960K uncompressed (including documentation).
When built on Linux, the Lua interpreter built with the standard libraries takes 182K and the Lua library takes 243K.
The small size and the ability to build with a C compiler make Lua an extremely portable language that can run on a lot of different systems and computers.
Pro Simple
Easy to learn.
Pro Fast
Lua's performance compares very well to other languages, If performance needs to be further improved you can:
- Implement critical parts in C
- Use the LuaJIT compiler. The LuaJIT compiler is a drop in replacement for the stock compiler and provides significant performance improvements. From the overview page:
LuaJIT speeds can rival code written in C.
Pro Embeddable
Many different game engines (e.g. Elder Scrolls series, ToME) use Lua for scripting, and it's runtime is designed for embedded use.
Pro Clean and simple syntax suitable for beginners
The Lua syntax is modeled from Modula, a language known for being a fantastic introduction to programming.
The Lua syntax also has the following key characteristics:
- Semicolon as a statement separator is optional (mostly used to resolve ambiguous cases as in a = f; (g).x(a)).
- Syntactic sugar for function calls (f'string', f"string", f[[string]], and f{table}) and method calls (obj:m()).
Pro Helpful community
Due to the growing popularity, Lua has a rather large and helpful community surrounding it.
Pro Great tech support and friendly community
A growing community that is always helpful with dev response times averaging less then 24 hours. Often less than 12.
Pro Comprehensive WYSIWYG editor
Skyline provides a straightforward drag and drop development environment that can be customized to suit individual preferences. Playing the game and animating the scene can be done from within the editor at any time.
Future versions will allow extending editor's functionality with plugins and offer an official way of trading custom plugins.
Pro Highly affordable licensing
Skyline's commercial edition costs just £40, has no royalties or earning limitations and includes 2 activations per license purchase and a year of free updates.
Pro Runs well on lower end machines
Skyline can be run on a machine with 2GHz Dual Core CPU, 2GB of RAM and Nvidia's 9800 GT (or equivalent) GPU. While, obviously, higher specs are recommended, it's reasonable to expect around 60fps on small scenes with these specs.
Pro Excellent terrain editor
The Terrain editor is easy to use and will include features such as hole cutting.
There is a differed lighting render for internal scenes, which makes creating multi light and beautiful/atmospheric scenes so much easier.
All the tools for the terrain are in one place such as placing road/paths, vegetation, billboards, and the settings are easy to locate and change.
Planned features include:
Hole cutting in terrain and
Terrain paging.
Pro Low learning curve
Making a game in the current top engines is hard work, making something small and basic in Skyline is not. Easy to learn drag an drop model placement and editing supplemented with easy to follow video's on forum make the process straightforward.
Pro Full global illumination
Including image based lighting.
Pro Has a free version
A free version that's limited to non-commercial usage and lacks a few features is available.
Pro Impressive water render
Rendering of a water plane looks fantastic and is easily edited for different effects.
Pro Artist-friendly
The schematic editor is designed to make it easier for non-programmers to create games.
Pro Asset store
Not much in it at the moment but is starting to grow and will continue to grow with an increase of users.
Pro Constant development and regular updates
There are many additions to the engine that are on the road map such as multi threading and tree physics.
The feature list is constantly evolving with each user request and idea put forth.
Pro Support for custom editors
Skyline has a custom editor that gives the user of making their own tools for use directly in the editor to develop their games. All the editors are made using the Qt Designer and programmed in lua inside the engine itself.
Pro OSVR support announced
Open-Source Virtual Reality support is in development.
Pro More editor's
Shadow editor.
Weapon Class Editor.
Mesh Editor.
Advanced Mesh Editor.
GUI Editor.
Script Editor.
Environment Editor (volumetric clouds and day night cycle, lightening, ocean settings, height fog).
Particle Editor.
Path editor.
Schematic editor.
Navmesh editor.
Material editor.
Pro Lots of learning resources
The documentation is been rewritten and follows a structure like a course.
Introduction to > Level designer with examples > Artists
There is also video tutorials, video examples and video tutorial series been produced.
There are user created demo scenes, examples and more.
Pro Visual GUI/HUD Dditor
Making HUDs and GUIs has never been easier
Pro PBR Workflow
Full PBR workflow, your not stuck to Secular or Metallic it has both
Pro One on one private support with engine developers
Can contact the Skyline developers and they will always respond and help as fast as they can.
Cons
Con Easy to make mistakes when declaring variables
When writing a function, if a programmer forgets to declare a variable, that variable will be declared at global scope. The code will seem to run fine at first, but if another function uses a variable with the same name, but fails to declare it, it will create subtle, incredibly difficult to find bugs.
Con Some concepts may not be applied to other "mainstream" programming languages
Lua features a prototye-based inheritance model. While this is also used by Javascript, it's not used by many other mainstream languages, and so some of the concepts learned while learning Lua won't be very applicable to other languages.
Another thing that makes Lua different from other programming languages, is the fact that Arrays start at 1 instead of 0. While helpful for beginners, it can complicate logic and make it very confusing when switching languages.
Con Batteries not included
Lua is so small mainly due to many of the components not being included in the core package. A lot of people need the functionality provided by the Lua module management system LuaRocks and libraries such as Penlight.
Con Currently limited to targeting PC
Mobile targets are planned.
Con Free Version currently not available/severely limited when available.
The free version has massive amounts of features functionality removed, including the ability to compile anything standalone.
The free version is currently (as of November 2017) not available until the next major release.
Note: some of what is below is open to change, this is the coming set of changes.
The price will be jumping from $40 to £99.99 ($132.32) for the lowest tier able to build a standalone. This tier will not be able to remove the engine splash screen.
The next tier will be £199.99 ($264.66).
Con No C++ SDK
Con Small community
There is a small but helpful community that are constantly creating video tutorials and one member is creating a FREE ebook to make the transition to the engine simpler.
Con Still in beta
Not all features are fully implemented yet.
Con Lacks occlusion culling and lightmapping
This is been added in a future update, however a date of this update hasn't been given yet.