Why are there no screenshots showing what it can do? I looked on the website and on the github but I can not find a single screen shot of what it can do. If you got to godot, unity or unreal sites there are many screenshot to be seen right on the first page.
I was curious enough to visit the solar2D pages but the lack of screenshot removed all interest I had.
I've built 3 games using Solar2D (used to be called Corona) and really like it. It's a rapid development engine, lots of plugins, good documentation, and can now export builds for iOS, Android, Windows and MacOS!
It recently went fully open-source, with the lead developer getting some solid support on Patreon/Github sponsors. SO the future in looking good.
I don't agree at all. Advertising a game engine as something that could potentially be used to make a monetized game shows a level of quality (or aspiration to that) beyond what most engines manage. It demonstrates that the developers think the engine can be used to make more than just toys that people give away.
It is not a feature, the plugin system is the feature.
But I don’t see the issue with it even if it was a feature, game -developers- sometimes need to make money, so anything out of the box that can support this seems like a good feature.
Not everything that can make people money is automatically a good feature. For example... (your imagination has already filled in that blank). A plug-in system is pretty nice to have though
I have the same opinion since starting from Pico8 (Lua) and then trying to expand beyond it into larger projects. Lua was surprisingly worse than early Javascript and even more barebones.
The weird amount of hype for Lua is probably due to the great projects in spite of it, like LOVE and Pico8, and the fact that Lua never makes it very far past weekend hobby state for most people so there's never any real counterbalancing force of people fed up with it.
It's a combo of two things for me, the tooling usually sucks and you have to get over the hump of learning the ins and outs of the language and the platform you are using it on.
Good tooling helps with the explorability so JS is manageable because you can runtime inspect what the heck is going on. The Chrome debugger is excellent for example. Most Lua game engines provide basically zero debugging beyond runtime errors and console output. Which makes exploring tedious.
Then learning a platform and the ins and outs of a language is much quicker in a statically typed language. Not only because the editor is much more empowered so you can explore the codebase statically but with a compilation step you also get a quicker feedback cycle for a lot of common errors. I found JS extremely tedious dealing with runtime errors with typos. TS basically makes that impossible.
I think that's why PICO-8 feels like a sweet spot for Lua because the platform is so small it's quick and easy to learn. And the code size restriction stop you from making anything complex enough to benefit too much from static typing. I still hate runtime errors for silly mistakes that would have been trivially caught.
I also tried to do some in Lua and found it unfit for my programming style...
Last project that needed game engine like things I picked Kotlin with libGDX/KDX. Reasonably quick builds, reasonably strong typing, performs well enough and x-platform enough.
Or for the people who do make it past weekend hobby state, they simply like it a lot, like me. I think Lua is a perfect language in many ways but you have to have the right mindset about it. If you're bothered by doing things yourself and you just want to get things done without defining your own structures, libraries, etc, then the language is just not for you and you're better off using something else.
From time to time a larger project emerges - Driver San Francisco has all of its gameplay logic done in Lua. But yes, one project is more like an exception to the rule.
Lua is popular for games because it’s so small, focused, flexible and very easy to embed, not because the core language is so great. The Lua core language really is as bare bones as it gets but that’s by design, because of its simplicity and good design it is very amenable to extend it to be exactly what it needs to be for your application and nothing else.
I would probably never write a standalone game in pure Lua because that’s not what it is intended for, it’s strength is easy embedding in a host application that does the heavy lifting, low-level stuff and provides the new primitives and functions for the application-specific parts of the code that runs in Lua. Other languages may be better in terms of language feature and tooling but none of these come close to the easy of use for embedded scripting.
Well, it's nice for writing short pieces of logic etc. (or for example lua nginx etc). It's super nice for a quick iteration, as the host (game engine or whatever) can quickly reload.
I've written a few commercial games in lua (corona, and others), and it must be me, but my code becomes a nightmare to maintain at a certain point.
So happy to see this! As a teenager, Corona SDK was a fantastic way to get into game development. Being able to use a language with simple syntax, the emulator that could instantly reload any changes, adding physics with just a few lines and then being able to deploy to iOS and Android from a single codebase made this fantastic for learning and playing around.
I still remember feeling super excited when Bubble Ball[0], which was made by a 14-year old using Corona SDK made it to the top of the app store!
I am so glad the product continues to be maintained, still seems like a great way to develop apps and games.
I hate it that we live in a world where privacy-aware is advertised as a feature, described by not making any network request unless asked. Shouldn't this just be a sane default and not even mentioned?
So parent is saying that he hates that we live in such world that developers need to look for this. It's like going to grocery store and checking if food is "asbestos free"... It must be asbestos free and we should not even be concerned about that. But now we live when "privacy" is a feature not a default.
Lua is a good programming language(i don't like to call it a scripting language), with less blabla and hype around it, you can use it to build anything you want if you are capable, many people complain about language X doesn't have feature Y and feature Z while they don't even understand what those features are and how they're built and when they're needed
I used Corona a lot in a startup a few years ago to build prototypes of small games for education and it was a fantastic experience. I even did a quizz game as my wedding present for guests with Corona! I wonder why they stopped trying to monetise it, given how good a product it was, and in the boom of mobile app development.
I just can't stand Lua as a language to code games in. C# is so much nicer when writing complicated algorithms. For a flappy bird game it's probably fine.
And if I absolutely had to use Lua, wouldn't Defold be a better alternative. At Least for mobile.
Disclosure: Been in the mobile games industry full time since 2010.
You could use other languages that are transpiled to Lua, such as Fennel [0] which has lisp syntax, Moonscript [1] which powers itch.io and Teal [2] which is basically typed lua.
Path-finding can be really easy and rewarding to do yourself rather than asking a game engine to do it.
Path-finding works over graphs, so you have a "node" which in your case would be all the squares in the map, and "edges" which are all links between the node and all the neighbouring nodes!
Then you find the version of A* search algorithm package your language has and just pass it the nodes and edges, and it'll return the path of nodes.
Replying to this super late, but hopefully you’ll see it.
I’m also a “normal” Java dev. I’ve tried to dabble in the past with gamedev with many tools and nothing stuck until recently with Godot. I love Godot and been using GD Script. It’s missing some features as a language but gets the job done and integrates nicely with the editor.
I played with love2d, even got something playable out of it, this looks like a great weekend dive after a week of debugging something (and failing).
Too bad you have to use forked version for Linux.
EDIT: after looking into install.sh I think I will postpone. It looks quite invasive to my eye. Copies .so into places, links .so in /usr/lib, assumes Ubuntu when apt is present. Too bad. My system is a hot mess as it is. ;-)
More game dev stuff is always good, but the title "game engine" is very misleading. Game engines normally refer to things like Unity or Godot : Not only do they include a framework for handling game logic, an engine provides things like asset management, level editor, etc.
This looks more like a "game framework", which is basically a wrapper around opengl/directx/etc. which abstracts the low level stuff and gives programmers an easy way to render sprites, have a gameloop and whatnot.
Wow, i usually don't like wording things like this but you're really talking out of your ass. Reading your comment about UI i guess you've heard of it regarding usage in World of Warcraft ? (that seems to be a subset of Lua proper by a simple googling)
Lua has de-facto been more or less the standard go-to scripting language for 20 years or so by now, i remember that we picked Lua for scripting a PS2/Xbox game that was shipped in 2004 because it was already gaining popularity among other gamedevs(yes we were probably late on it).
Apart from those embedding it themselves (probably far more than is known publicly). There is literally countless Lua only games since it's the base for user created games on the Roblox, Pico-8 and Love2d platforms.
These platform based games probably far outnumber those that embedded Lua because they are simple platforms to get started with, even my 12 year old kid is making Roblox games and writing Lua to wire up things.
Yes I've used lua for modding old games like Natural Selection 2.
The docs and community in roblox and factorio fill in for the deficiencies of the language. Try using lua without support frameworks. Modding ns2 is a nightmare with zero docs and trying to reverse engineer in a terrible debug environment. Lua just doesn't stand up by itself.
You are only discussing the successes. Even built for purpose, game building applications like Core fail miserably to make development easy enough off the back of lua. Far cry 1 had lua scripts that went nowhere.
What love2d games?? The tech demos and hobby projects listed on the website??
For the three or four big successes there are a lot of obscure failures.
The big successes of creative modding projects came out of Half Life, Half Life 2 and Warcraft 3 which spawned Dota, team fortress, counter-strike, left for dead, garry's mod and many other successes.
War3's editor and XNA are the best modding environment's I've seen for individual acheivement.
Kids dont know better, they just put up with the jank and learn from their friends.
> The docs and community in roblox and factorio fill in for the deficiencies of the language. Try using lua without support frameworks. Modding ns2 is a nightmare with zero docs and trying to reverse engineer in a terrible debug environment. Lua just doesn't stand up by itself.
Yes, Lua is VERY bare-bones and highly dynamic (why it is a popular choice for embedding) so anyone using it for modding is required to invest a bit of time to actually document it.
> You are only discussing the successes. Even built for purpose, game building applications like Core fail miserably to make development easy enough off the back of lua. Far cry 1 had lua scripts that went nowhere.
Exactly, this applies for all games and much else in society. In this case you showed a big reason why modding for these games failed is that they really only did the scripting to finish the game but didn't document it or add hooks to make it reasonable for outsiders, but since there are successes that is probably more on the teams rather than the language itself.
> What love2d games?? The tech demos and hobby projects listed on the website??
The 1500 or so games on itch.io is a good example, now many of these are probably crap but if you look at the top rated there seems to be some nuggets there.
> For the three or four big successes there are a lot of obscure failures.
The same applies for any editor/framework/engine/language , the thing is that Roblox alone is such a big platform these days with the top third party games (100% lua) are big enough to feed multi person studios apart from Roblox itself heading for an IPO.
I personally don't even really like Lua that much (1-indexing smells), but i can still accept that it is capable enough to run a lot of things.
In many ways it's more powerful than JS while sharing other semantics and we're not escaping JS either these days due to the web.
Here is the commit where they renamed it on 22 May 2020:
https://github.com/coronalabs/corona/commit/54eb3361238aecc6...