Thanks for the great insights. Really interesting stuff
Which I guess brings up the question, is a basic geometric 3D engine (not photo realistic) a huge leap for Corona (i.e. a completely different architecture), or is it instead something that could eventually (hopefully) be added to Corona with a few libraries or a plugin? I think we’d lose less developers to Unity if Corona became 3D capable. I want to stick with Corona for the long run, I’d prefer not to have to deal with the learning curve of switching at some point. Probably many agree Corona is where we want to be!
@davebollinger @MichaelFlad I’m keeping this all in mind. There are some other choices like Bass, Wwise, etc. but I’ve only used FMOD myself. (Now that I think of it I should have pestered Firelight as well, while I had the chance.)
I can only claim Lua 5.0 myself. And I think it wasn’t even a year before 5.1 rolled out, which gave me a wildly inaccurate idea of the release schedule!
@John_M If you’re on Windows, I just added a snapshot here; I’ll see if I can’t add Mac later today. You can take the DLL files from the binaries directory and drop them into a plugin folder that you create at this location:
print(system.pathForFile("", system.PluginsDirectory))
These are all on the marketplace too, though they might have fixes I’ve yet to check in. In any case, they do have annoying prints. (The problem I cite actually seems to be in Bytemap, but gathering all the relevant logic into one plugin would just bring the error along for the ride, I think.) Memory bitmap is Corona’s own.
The squirrel texture comes from here, so far as I know (just something IM’d to me once), with the model being made via this. (Weird geometry botch is all mine.) I used some slightly modified luapower code for the obj loader.
The underlying renderer is nothing fancy. I actually just saw this before starting to write and might investigate down the line. I’m not sure how far this would be worth taking, especially if either my aforementioned proposal or open source with the ability to contribute happens, in which case I’d drop this like a hot potato and start adding native stuff. :) A short-term goal might be to layer on a compatibility layer with Scott’s work on SceneKit, so all platforms were covered. Also, in that native scenario, I think something like bgfx would be a good starting point, rather than from scratch.
Also, I did submit this, which has a vector graphics 3D scene and some “2D” stuff as well. Honestly, I introduced it on a lark and to get a feel for the plugins submission process, but it would be cool if it actually came in handy.
Obviously I am very interested in 3D! I’ve gone as far as is possible with 2.5D in Corona and would hate to have to move to Lumberyard/Unity/Unreal.
I wouldn’t hold my breath for 3D Corona. IMHO it is a whole different universe and would be a ground-up redesign.
Also, I don’t believe we’re losing users to Unity because it’s 3D. While it would make it easier to do:
- Nice light + geometry based effects. i.e. Use 3D models and multiple lights instead of 2D images to get subtle lighting effects.
- Shadow casting with depth.
- Isometric views with engine handled Z-layering
- Some other things we fake in 2D
For the most part, full-on 3D games are way beyond the ability of new users. There are simply too many things you have to understand an know how to do. Alternately, you need a big budget to hire artists and or buy assets. Newbies simply aren’t going to be making 3D content on their own, unless they are going for a lo-fi lo-poly look. Even that is huge work.
Just an opinion…
Yes but I believe Corona could do a .dxf import and ‘bake’ the object (at a perspective so we would see a 3D object rendered to 2D for the physics library)… then again I believe that Corona can capture video feeds for live capture and A/R… then again i must be an optimist…
@ed I’m being purely selfish in my requirements!
Saying that there is a huge (IMHO) for the Corona approach to basic 3D - i.e. 10x faster.
Most games do not need full Unreal… they need simplistic rendering capabilities.
For example, in 3D the axis are unintuitive… (x and z) are flat and y is up! I propose x and y are flat and z is up.
Corona could seriously capitalise on simplistic 3D for games and devs port to 3D easily by simply adding z to their code.
@John_M Mac versions added too. Same process, basically. With both versions it seemed to run fine using the marketplace editions of the non- object3d libraries, so I might be forgetting having synched the changes.
@greg brady Baking is essentially what I mean. It’s fairly low-level right now. In the zipped sample (really just a test), the object is being loaded from the obj format, but there are libraries that cover a whole lot more, such as Assimp, which looks like it has at least a couple Lua bindings already: lua-assimp and MoonAssimp. The latter seems pretty thorough, though only claims to support Lua 5.3 and up.
For us these improvements could make a big difference in the products we can deliver…and open up the doors for corona at the same time. for Corona it seems to be a technological investment that is tough to make at this time…
@StarCrunch, that’s very interesting, I’ll check this out, thanks!.
@StarCrunch, thanks for all the info. I’ll definitely check it out, I’m on Windows… you mention the dll and putting it in that directory. Would that require using Corona Enterprise? (i.e. using Android Studio for the builds) or would building just with the simulator still utilize the dll?
Based on those links it all looks a little over my head since I know little about 3D rendering, but I’ll definitely check it all out hopefully in the near future. That video where it shows how to turn the 2D squirrel pic into a 3D model is very cool.
@John_M Don’t worry too much about the links. Many are just “further reading and viewing”. :) With something like Assimp all kinds of avenues would be open for making models, though supporting the features is another matter.
Yes, you just need to put the object3d DLL there. If you use the others rather than grab them from the marketplace, comment out the respective lines in build.settings. ( impack is paid but needed only for “diffuse” mode, not “uvs” , which can be adjusted in the example. That’s for per-pixel access, but maybe I’ll roll the appropriate logic into the plugin for PNG and JPEG.) When making a build you’ll also need to manually copy over the non-marketplace binaries; if it’s possible to automate this I’d like to know myself.
Anyhow, what I’ve provided is only for desktop, just to give it a spin, so no Enterprise / Native needed.
Hope it will be a great year for Corona!
I have many questions regarding the roadmap so here they are:
1- Is “text rendering plugin” meant for rich text support or HTML style for text objects? If that’s it, I would have loved to see it in Q1 Maybe you guys can move it up a quarter, instead of “wireless install for iOS” (since there is live builds )?
2- I guess “internal statistics system” is not Corona Analytics? Or is it?
3- Does “tile engine support” mean a Corona made version of Tiled?
4- “New Android sound subsystem based on modern APIs” - I don’t know if it was still around but will it solve the Android sound lagging on some devices?
I would have preferred the exploration of Windows Universal Builds and Nintendo Switch sooner but I’m guessing these are tied to Microsoft and Nintendo so… Hope they work the gears really soon and make it available as soon as possible.
Last but not least, I don’t know if it will be good for monetization of the platform but I really appreciate the open source efforts. Good things may come out of this.
p.s.: As I wrote in the Slack channel, I would really appreciate if you can add strikethrough to the things in the list that are completed throughout the year. It’s really easy to miss some key stuff I’m interested in between the release notes for both public and daily builds.
I will need to get clarification from Engineering on most of these questions.
Regarding a tile engine, I believe it will be a set of API’s that use Tiled maps.
Regarding sounds for Android. Right now using OpenAL generates a bunch of ANR’s and crashes on Android. We are spending a lot of energy trying to hack around the OpenAL problems. I have no idea if the new changes will improve lagging or not. Many of the Android lagging problems are due to problems inherent to that version of the operating system, but maybe some of these modern API’s will work better on older Android. I just can’t promise that until we actually build it out and test it.
Rob
lots of investigating and exploring but nothing to really look forward too… Switch should be priority IMHO
I’d put a higher priority on the “selling points” - visual editor, supported platforms, and above all - growing the user base (community).
I am not using Corona at the moment but I’d love to - it’s my favourite engine to WORK with. That’s the reason I’m still lurking around.
My problem with Corona is that it looks and feels like a barebones (for today’s standards) tool with a narrow focus on the mobile platforms and ad monetisation. On top of that, it has (great, but) small community and is quite heavily monetised itself.
Whenever I try to do something with it, I find myself spending tons of time trying to reinvent the wheel and browsing the web for third-party solutions and even adapting code from other engines. It is fun, indeed, but I’m not getting much real work done and don’t feel competitive in the bigger picture.
Different devs, different needs, I’ve moved over one of my projects recently to Löve2d as it was just not possible to handle it in Corona due to limits and problems with regards to meshes/lowlevel support (I still use Corona for all other ones as there are also many things I prefer in Corona).
I couldn’t care less about any visual editors as I tend to write games in a data oriented way and having to use a visual scene editor to just even get something going, *to me*, just results in a very inflexible and slow workflow most of the time.
In general, I prefer Corona devs to work on things I cannot change/implement in a decent way myself as it’s just within the blackbox not accessible at the moment (might change with the open source efforts, but at the moment, these are at least a year away).
Really looking forward to Marketplace 2.0 as I think that’s actually where we should see stuff like Tiled support etc. as there’s no single best way to handle tilemaps and quite some room for multiple versions optimized for different games/needs.
Just to put some weight on the other side of the scale … but as long as there is any development on Corona it’s great already, so I’m fine if not all my wishes become a reality
Sounds cool - I can’t wait for a HTML5 version. That would expand my market quite a bit!
-
The text rendering plugin: we want to provide some basic text formatting like HTML or Rich text. We just don’t know what that will be yet.
-
The internal statistics is for us to better understand how you are using the product and most likely will not be user-facing.
-
It will be something that will make it easier to use Tiled maps in a supported way.
-
Hopefully, it will help with lags, but we are also working to reduce crashes and binary size of the product as well.
As far as priorities go, the best thing you can do is vote on those features on the feedback site. For instance, Xbox-1/UWp support is sitting at 144 votes. ( The Switch is sitting at 159 votes (http://feedback.coronalabs.com/forums/188732-corona-feature-requests-feedback/suggestions/18473182-nintendo-switch-support). Together, they don’t add up to the HTML5 requests and none of those come close to the Linux requests. Clearly supporting more platforms means more audience for us and makes us more competitive against other engines, but with our team size and the existing commitments to support what we already have, jumping into new platforms has to be done with a lot of diligence and market analysis. So spend some of your votes and apply them to the platforms that are important to you. I’m looking at upping the number of votes you can spend, I just need to get approval to do so.
I’ll see about striking out items but no promises…
Rob
Slightly offtopic: I used this for text rendering - https://github.com/mimetic/corona-textrender. Works great, including with custom fonts.
I like the timeline. But can I ask one small request:
-
The internal analytics system please don’t base it on Flurry.
-
When you improve the Appodeal plugin can you remove Flurry and bring back support for Amazon. (These are the only reasons I don’t use Appodeal at the moment).
Edit: Forget about Appodeal changes. I can do both things I asked for with the new plugin. It is like Hanukkah in February.