I know Corona is not suitable for big games but..

I think that knowing if people are working on projects that aren’t related to just mini-games could elevate my inspiration and the inspiration of any newbie that comes later to a new whole level. So: 

1. I want to know if are there developers actually making “medium-size” projects in this amazing framework.

Because I really like the idea of working with two main engines for different kind of projects: Corona for small and “medium” projects and Godot for fully featured games.

To put in context:

2. Is it possible to make games like (Vagante, Streets of Rouge or Terraria), without a huge performance impact on mobile, or at least on PC?

Making PC games in Corona SDK is really easier than in other engines and would be a time saver to know this information.

No reason why not. I’ve actually transitioned back from Unity for my current project, for a couple of reasons. Once a Unity project gets beyond a certain size, compiling and getting into your game can take 10-15 seconds. If you’re doing that hundreds of times a day it really adds up. With Corona, it’s instant. I considered using a non-game framework as it’s mainly text-based, but with Xamarin you’ve still got the same 10-15 second wait to compile and build for device - and you can forget using the emulator.

Secondly, Unity was absolutely caning the battery - even when the game wasn’t really doing anything, the fans on my MacBook Pro were going haywire. The Corona version doing exactly the same kind of work has never caused the fans to kick in.

Still a big fan of Unity for working in 3D but loving using Corona again for 2D stuff.

I think the main reason it’s not being used for ‘big’ games is no-one really knows about it. Whether you use Corona, Unity, Godot or something else you’ll come up against performance barriers on mobile which have to be worked around, just in very different ways.

It really depends on exactly what you need and what your goals are. I’m also not really sure as to what your criteria for small, medium or fully feature games are. Terraria is quite a small indie game, but if that is enough to meet your requirements for a “fully featured game”, then the answer is yes.

One larger “made with Corona” game that comes to mind is Skipchaser by Ponywolf (https://store.steampowered.com/app/508410/SKIPCHASER/).

As long as you are sticking to 2D games, the main limitations to what kind of games you can create is your skill level and resources. Creating a game like the ones you’ve mentioned is doable, but Corona might not be the best tool for creating them. What the best tool is for you really again depends on you, your needs, skills and preferences.

Now, as for the performance impact, that is again really all up to how you create the game. Take Terraria, for instance, if you tried to create a game like that, then perhaps the most important question performance-wise is how to handle off screen objects. If you try to render billions of tiles simultaneously, give them physics bodies, etc. then I doubt any engine could handle that. If you just render what’s on the screen, then you run into various gameplay related issues, etc.

In summary, ask yourself what you need from your engine and see if Corona meets those requirements. If it doesn’t, are they something that you can forgo or can you add those features yourself through plugins, native code, etc. Then look at other engines, make your comparisons and decide for yourself. I personally see no particular reasons as to why Corona couldn’t be used on large games.

Corona has been around for over 10 years. It has a deep and rich API set for building 2D games of any size. Any illusion that we are for small games is just that an Illusion. Godot is pretty new and other than 3D support, as far as I know it doesn’t produce any more efficient programs than Corona does.

Rob 

For the record, my attempts at bringing basic 3D to Corona aren’t dead, I’m just struggling with other priorities still. Stay tuned - I’ll be cracking on with that again soonish!

First of all, thank you for fast response.
I am amazed of how fast you guys give an answer.

So is possible to make games like Terraria and at the same time get great performance.
That’s really inspiring guys!

The only thing I don’t get from Corona SDK is how to set up effects like dynamic light
or realistic water effect. I know this is not so related to this topic but how could you make
something like that or at least where to begin to learn. As far as I know the Corona use Open GL 2.0
and glsl but I can’t just get how to get something up.

I really appreciate your fast response,

nohak

I would consider my games at least medium in scope (probably big compared to most mobile games) and made with Corona.

As others have rightly said, performance is a factor of your code and not really the engine. 

My game engine manages up to 50k objects in real time.

my game is medium to large. I don’t use the provided scene managers and use my own. Not sure if that helps but I like having control of unloading / loading things. I have pretty huge levels and no performance issues yet…

Lighting is a fairly manual process… I get by with using creative art techniques… nothing really dynamic though. It’s pseudo dynamic I suppose.

As for water I spent a considerable amount of time making a water “engine” that controls the water surface…  I don’t have the skillset to make it a plugin but when I have the time I’ll upload some demos. If the response is positive I might think about making it more user friendly and share it around.

I have a large game based on natural selection that has over 2k physics bodies, dynamic lighting, rogue-like terrain generation and hefty A.I. usage -  It runs fine on anything A11 or better iOS.

I have a smaller game, but still big that has lighting and water effects.  They are not an out-of-the-box Corona features but they are definitely possibilities with Corona.  I’ll try to upload a sample tomorrow.

OK, here is a sample or shading and water effects in a game (water effects shown in the video)

screenshot2.png

Check out the video here

Hey sporkfin,

That project actually looks like Terraria and trust me, this example it’s just what I was looking for.

Thank you guys, you all are amazing and really helpful people!

Nohak

The forums are fabulous!  I’ve learned a ton here.  Keep us updated with your development adventure - the good and the bad.

@sporkfin, that looks amazing!

No reason why not. I’ve actually transitioned back from Unity for my current project, for a couple of reasons. Once a Unity project gets beyond a certain size, compiling and getting into your game can take 10-15 seconds. If you’re doing that hundreds of times a day it really adds up. With Corona, it’s instant. I considered using a non-game framework as it’s mainly text-based, but with Xamarin you’ve still got the same 10-15 second wait to compile and build for device - and you can forget using the emulator.

Secondly, Unity was absolutely caning the battery - even when the game wasn’t really doing anything, the fans on my MacBook Pro were going haywire. The Corona version doing exactly the same kind of work has never caused the fans to kick in.

Still a big fan of Unity for working in 3D but loving using Corona again for 2D stuff.

I think the main reason it’s not being used for ‘big’ games is no-one really knows about it. Whether you use Corona, Unity, Godot or something else you’ll come up against performance barriers on mobile which have to be worked around, just in very different ways.

It really depends on exactly what you need and what your goals are. I’m also not really sure as to what your criteria for small, medium or fully feature games are. Terraria is quite a small indie game, but if that is enough to meet your requirements for a “fully featured game”, then the answer is yes.

One larger “made with Corona” game that comes to mind is Skipchaser by Ponywolf (https://store.steampowered.com/app/508410/SKIPCHASER/).

As long as you are sticking to 2D games, the main limitations to what kind of games you can create is your skill level and resources. Creating a game like the ones you’ve mentioned is doable, but Corona might not be the best tool for creating them. What the best tool is for you really again depends on you, your needs, skills and preferences.

Now, as for the performance impact, that is again really all up to how you create the game. Take Terraria, for instance, if you tried to create a game like that, then perhaps the most important question performance-wise is how to handle off screen objects. If you try to render billions of tiles simultaneously, give them physics bodies, etc. then I doubt any engine could handle that. If you just render what’s on the screen, then you run into various gameplay related issues, etc.

In summary, ask yourself what you need from your engine and see if Corona meets those requirements. If it doesn’t, are they something that you can forgo or can you add those features yourself through plugins, native code, etc. Then look at other engines, make your comparisons and decide for yourself. I personally see no particular reasons as to why Corona couldn’t be used on large games.

Corona has been around for over 10 years. It has a deep and rich API set for building 2D games of any size. Any illusion that we are for small games is just that an Illusion. Godot is pretty new and other than 3D support, as far as I know it doesn’t produce any more efficient programs than Corona does.

Rob 

For the record, my attempts at bringing basic 3D to Corona aren’t dead, I’m just struggling with other priorities still. Stay tuned - I’ll be cracking on with that again soonish!

First of all, thank you for fast response.
I am amazed of how fast you guys give an answer.

So is possible to make games like Terraria and at the same time get great performance.
That’s really inspiring guys!

The only thing I don’t get from Corona SDK is how to set up effects like dynamic light
or realistic water effect. I know this is not so related to this topic but how could you make
something like that or at least where to begin to learn. As far as I know the Corona use Open GL 2.0
and glsl but I can’t just get how to get something up.

I really appreciate your fast response,

nohak

I would consider my games at least medium in scope (probably big compared to most mobile games) and made with Corona.

As others have rightly said, performance is a factor of your code and not really the engine. 

My game engine manages up to 50k objects in real time.