From The Blog: Corona Labs annual update

Hi Rob,

I’m a little confused: is Vlad’s Github the definitive place where we can support Corona development financially, or is this not yet final?

If this is the final place to pitch in with money, could a blog post be made so it’s on the front page for all to see?

Thanks,

Thomas

I’m really sad about it …

But I have an objective question: I am using Corona in important projects, among them a course at the Pontifical Catholic University of Rio de Janeiro.

Testing the generation of builds for Android, I found that it is not working. See log below.

What could be happening?

I appreciate any information or guidance

PS: I also tested using the “stable version” (218.3326) and I was also unable to generate the build

11:04:38.552  

11:04:38.552  Corona Simulator 2020.3575 (Feb 15 2020 03:11:04)

11:04:38.552  

11:04:56.133  

11:04:56.133  Copyright © 2009-2020  C o r o n a   L a b s   I n c .

11:04:56.133  Version: 3.0.0

11:04:56.133  Build: 2020.3575

11:04:56.133  Platform: GT-I9300 / x64 / 10.0 / Intel® HD Graphics 4000 / 4.0.0 - Build 10.18.10.4358 / 2020.3575 / pt_BR | BR | pt_BR | pt

11:04:56.144  Loading project from:   C:\Users\Public\TS21\Corona\Sample Code\GettingStarted\HelloWorld

11:04:56.144  Project sandbox folder: C:\Users\Fernando\AppData\Local\Corona Labs\Corona Simulator\Sandbox\helloworld-718C1AF531ADB1DDAB7F1D538D5054A2\Documents

11:05:44.049  Testing credentials for ‘C:\Users\Public\TS21\Corona\Native\Corona\mac\bin\CoronaBuilder.app\Contents\Resources\debug.keystore’: 

11:05:46.403  Picked up JAVA_TOOL_OPTIONS: -Duser.language=en

11:05:50.913  Using custom build id from app bundle: 00000 (AppSettings.lua)

11:05:50.913  

11:05:50.913  Using custom Build Id 00000

11:06:01.990  @ver > NUL

11:06:01.990  Exception in thread “main” javax.net.ssl.SSLException: Received fatal alert: protocol_version

11:06:01.990  at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)

11:06:01.990  at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)

11:06:01.990  at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)

11:06:01.990  at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)

11:06:01.990  at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)

11:06:01.990  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)

11:06:01.990  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)

11:06:01.990  at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)

11:06:01.990  at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)

11:06:01.990  at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1300)

11:06:01.990  at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)

11:06:01.990  at org.gradle.wrapper.Download.downloadInternal(Download.java:66)

11:06:01.990  at org.gradle.wrapper.Download.download(Download.java:51)

11:06:01.990  at org.gradle.wrapper.Install$1.call(Install.java:62)

11:06:01.990  at org.gradle.wrapper.Install$1.call(Install.java:48)

11:06:01.990  at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)

11:06:01.990  at org.gradle.wrapper.Install.createDist(Install.java:48)

11:06:01.990  at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)

11:06:01.990  at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

11:06:01.990  Picked up JAVA_TOOL_OPTIONS: -Duser.language=en

11:06:02.318  Android build failed (1) after 12 seconds

Hi Thomas.

For now, until May 1, the official way to support ongoing Corona development is to spend money in the marketplace. Pay for your splash screen, buy ad plugins, support third-party developers.  I know it’s a hard concept to think of it as “I’m only buying X plugin for 2 months”, but you shouldn’t think of it in those terms. The question you should ask is how much are you willing to spend a year to fund Corona development. If that’s say $10 / month, your $99 splash screen is pretty much that level of support. Any money you spend in the Marketplace is gong to fund development.

Now Vlad has setup a donation site on GitHub. This will be the official place after May 1. There may be Patreons, Kickstarters, GoFundMe’s etc. but for now, the GitHub site is the main one. Because we have morals, Corona Labs is currently paying us. Asking for fundraisers now feels like double dipping and of course those funds will go further if we don’t have to draw on those funds until after May 1.

Rob

@fjefferson. Welcome to the community forums. The Forums are the best place to ask this question. 

However, our forums use different discussion topics called “threads” so discussions can be focused. When you ask an unrelated question on a different discussion, it’s called “Hijacking” and it’s now allowed. 

Please create a new topic with your question. This thread is to discussion Corona’s open source future.

Thank you for your cooperation.

Rob

Hi Rob,

Thanks for the clarification, I understand your points well and will support!

Regarding Earnings for Marketplace Vendors: will only those vendors with earnings above the minimum payout amount be imbursed, or will it be all vendors with outstanding earnings; when can vendors expect payments to be processed?

Thanks :slight_smile:

Payments are usually processed within a few days after submission. I’ll check with the CFO regarding minimum amounts.

Rob

@Rob,

At some point, Apple is bound to make another OS upgrade that will render my Corona apps useless without an ongoing, modern integration. Apple will, IMHO, kill Corona SDK as a cross-platform solution that remains continually stable. With that said, I hope that I’m wrong. I plan to use Corona SDK as long as possible, so I must become a Corona Native developer.

Can you create a video that helps us see, in the best way possible, how to change into a Corona Native developer? I’m a dinosaur assembly language programmer from the 80s. But the process as I’ve seen it still wasn’t clear enough to help me switch over, or I would have done so.

I applaud your new work to try and make the Native work-flow easier, like I’m using it now. Or did I misunderstand your post?

Why do you think we’re not working towards employing Apple’s Metal? I think it is totally doable.
Also, I don’t understand why do you want to move towards Corona Native. Corona Simulator would get offline support. Build would be fully offline, with plugins collected from the hard drive. There’s already a prototype of it. All “com.coronalabs” plugins would be available for download for free (including paid plugins) as long as Github supports, and you can download puchased plugins from the store from 3rd party developers right now too.
 
I don’t see what the gloom is about, [member=’ troylyndon’]. It’s going to be fine. I fully intend to get crowdfunding going, and start from bottom up. Work on the engine full time, and if I would get over some threshold, I’ll hire contractor and developers. I have full on hope on supporting Switch at some point, but first: Apple’s Metal (probably via MoltenVK), AndroidX and modern Windows.

@vlad, your response is MUSIC to my ears. :slight_smile:

It helps when you read what has been said before you make your own predictions :slight_smile: nice reply vlad!

Earlier in this thread @ michaelflad mentioned that I’d been looking into doing a Vulkan backend, which in theory would streamline Metal integration, via the MoltenVK library just mentioned by @ vlads.

Vulkan is quite a strange beast, coming from OpenGL or older flavors of DirectX. It is as verbose as everyone says. It also deliberately offers very few conveniences, in keeping with its MO of shucking overhead wherever possible.

Some time early last year I worked my way through the Vulkan tutorial, as well as all but the most recent of Maister’s blogs, to get a general idea of what Vulkan is and some of what comes up in practice. Alongside this, I did some investigation of where things might go in the Corona source, stubbing out some of the bits in question, but then got cold feet and went no further.  :slight_smile:

As a clumsy digression, lately I’ve pondered–and this predates the announcements behind this thread–streaming a few projects every now and then. I’m still cutting my teeth on OBS, but otherwise hoping to start soon. Quite a few things come to mind, to explore and / or refine, as I’m getting my feet wet. Plugins and open source dabbling should feature prominently.

The upshot of this being that I’d like to dive into Vulkan on said streams. It would put my feet to the fire, certainly. I’ve been away from it a while, so some review is definitely in order, but maybe a few weeks in? Of course, how well any of this goes remains to be seen!  :stuck_out_tongue:

Anyhow, the aforementioned Vulkan tutorial is quite methodical, culminating after many steps in a shaded, textured rectangle. In the best-case scenario, one could track the process exactly and wind up with the shiny Corona result. Actual development might not be quite so rosy, but it seems a reasonable plan of attack.

@vlads, please accept my apology for causing any offense. I really, very much, appreciate you, Rob and the entire Corona SDK community.

  1. I didn’t understand your comment about Apple’s Metal. Can you clarify?
  2. Your response indicated that I should be able to continue using Corona without having to go Native. And this will be made possible because you are creating an offline version of the simulator?

I know you are extra busy, so please take your time in responding.

Hi Troy,

This really is all explained very clearly on the blog and in this thread, but…

  1. Porting to Metal is not necessarily a big hurdle - and not the dead end people make it out to be

  2. Corona will change into a program that run locally to build as well as simulate. At the moment simulate is local, but build is on the Corona servers. Since these servers will stop you will be able to build on your own computer. This is not ‘native’, it’s just building local instead of building in the cloud.

@troylondon

you should take some time and read all the posts of this thread and the truth will reveal itself :P.

  1. Depending on Apple’s decisions Corona should go Metal sooner or later. Vlad can and probably will do it in time.

  2. Offline builds are coming soon.

Long story short:

There are many people with business depending on Corona, many hobbyists who like Corona and many people who make their apps with Corona and don’t want to change platform. All of them will support financially Vlad and Rob to keep working.

It will be like Phase 1 of MCU. In Phase 2 more developers will come, new users and Switch support :P.

This scenario sounds too good to be true but who knows?? :slight_smile:

Edit:

thomas6 beat me to it. What he says too :).

@StarCrunch

Glad to see you back on the topic.

Sadly I’m very short on time atm - but I still like to offer some infos/ideas/urls just in case it helps in any way.

You very probably know about https://github.com/bkaradzic/bgfx

But have you evaluated it as a basis instead of Vulkan/Molten? Advantage would be that someone else already did all the painful thinking about unifying lowlevel rendering frameworks.

What about simple SDL? It’s used as core platform and rendering abstraction, including consoles (hint Switch etc.).

Next one would be Sokol https://floooh.github.io/archive/ which may not be stable enough as a basis but given Andre seems to be a very pragmatic dev there’s a decent chance to get some valuable info from his last few blog postings.

And in case it’s still going to be Vulkan in the end, here’s a posting that might be of some value too https://zeux.io/2020/02/27/writing-an-efficient-vulkan-renderer/

Currently everything is on OpenGL ES. Switch seems to be fine with it. It just Apple throwing feats.

On a side note Micheal mentioned something a few weeks ago (3 weeks) that I didn’t know existed but reminded me of something that I did know (and very similar to what Micheal mentioned). Google Angle. I am familiar with Angle and I spent a few hours over that weekend seeing if I can make it work with Corona for iOS Metal specifically. I got very close to having it working (most of the time was spent compiling the beast). I had some reference errors that I ended up fixing with a terrible hack that would need to be cleaned up. I would still prefer a native implementation of Metal or Vulcan, but Angle is possible. 

https://github.com/google/angle

@Rob, count me in for a monthly Patreon pledge. And I’m so glad to hear Vlad is still moving forward. Will you be continuing on with Vlad as well?

Might I recommend you change the message at the top of this thread? Perhaps start it with…

“The future of Corona SDK is changing. CoronaLabs is going away as a company, but not until we finish the open-source tools. Further, the developer and I will be supported by developers like you through a subscription service (i.e. Patreon) - details we are still working out. We have big plans for the future of Corona SDK, but now the burden for our support will make us dependants upon those who rely upon Corona SDK and seek to have it continually grow. For information about supporting us, email me at ____”.

This, IMHO, would be received better than the current post and reduce the potential damage caused to the community by developers seeking to migrate away from Corona SDK.

Also, I’d recommend sending out an email in this more positive light to all your Corona SDK developers. You may be surprised by the financial support offers you receive.

Just my two cents.

@agromonte, will you consider starting a thread about Angle and how it is a potential solution to support Metal for iOS?