Level editor for CORONA with Physic support

I’m glad you made the point, that it doesn’t create source files. I thought it did, because the App Store description says it generates code, e.g., “Generate code for CORONA (lua) with physics”. You may want to make this clear in your description.
Source code generation is the main reason I was ready to purchase it, it would make for a good way to learn Corona/Lua.

Your product looks very impressive. With me being new to this, help me think through the following. Since you are capable of writing this tool, would it be true that what LH generates is optimized to the greatest degree? Would you ever consider outputing Lua source code, which would give the programmer a way to optimize and tweak it themselves? [import]uid: 47723 topic_id: 9668 reply_id: 35541[/import]

I am still playing with this, purchased both the spriteHelper, and the levelHelper. I’ll say this though, right off the bat… these tools are class-acts. Not only are the prices very fair, but the presentation and use-ability are also great. Perhaps just, if not more important, I was pleased to find in the help menu that it takes you to a site where there are tutorials on use.
I noticed in a posting ahead it was mentioned whether it generates the code for you, or it does’t. For me, it’s not an issue. The grunt work that these programs take care of is what I care about. I’m happy to write my own code… frankly, I often don’t use “generated” code from tools, as it doesn’t usually meet a specific need for a project. Because things are tools, they are by definition, general. Code generated from tools, if any, is simply a starting point. I especially like that I can not only use them for Corona, but ALSO for Cocos2d, as I develop with both.

For me, these are really nice tools. The impression I get is that they are well supported and under constant development. Both great pluses. Being a long time programmer myself, I’m not looking to split hairs over nuances for products priced so fairly. If there are some rough spots, or what have you, I’m happy to ride it out. If they were $50 a piece… THEN I would expect perfection.

Personally, I’m very satisfied, and look forward to watching these tools evolve. Nothing but love for the programmer :wink:
[import]uid: 49546 topic_id: 9668 reply_id: 35547[/import]

Hey

So to make a further explanation.

In a level file generated by LevelHelper - the objects are saved in a way that LH understands. (you to if you look inside - as the file is very descriptive).
The code file - LevelHelperLoader.lua - is actually LUA/CORONA code. Whats going on there is that its reading the level file and translates everything in CORONA objects. So here you have functions that reads throw the level file and does this

– object is circle
physics.addBody( sprite, physicType, { density = lhSprite[“Density”], friction = lhSprite[“Friction”], bounce = lhSprite[“Restitution”], radius = size.width/2*scale.width, filter = collisionFilter } )

for example.

So this way - I only have a couple of functions that creates objects with some parameters that are read from a file.

If i were to create the objects writing code for every sprite you add in a level - this will be ok for 10 sprites - but when you add 100 - then… - good luck understanding something from that file.

So, basically, you can still learn from looking in the LevelHelperLoader.lua - how to create physic objects in CORONA, joints, and how to read files. Its a complex file, so i agree, its now easy to digest.
So, instead of doing this

physics.addBody(…
physics.addBody(…
physics.addBody(…

it does this

for i = 1 in #objectReadFromFile do
physics.addBody(…
end

Don’t you agree this is better ?

A better understanding will be to take the example project and look in the LevelHelperLoader.lua - right at the bottom - is the function that read the level file - and at the top - the function that iterates through what it was read and creates all the CORONA specific things.

Hope i made it a little clearer.

Kind regards,
Bogdan Vladu [import]uid: 38119 topic_id: 9668 reply_id: 35549[/import]

Than you for the kind words gcc.programmer.
I constantly work on the tools - and update them regularly.
I know there are lots of features to add so I won’t stop till I add them. I believe in a connection with every customer. Talking with you guys makes me understand what you need, how you use the tools and how I can make it better. So I listen to everything each and everyone of you is saying to make a better experience for everybody.

Kind regards,
Bogdan
[import]uid: 38119 topic_id: 9668 reply_id: 35552[/import]

Thank you once again for your reply. I guessed that was how the levelhelperloader file worked, hence you keep the source simple and just have it iterate through everything in the phosphate file. However can you give a breif explanation on what the director files is doing and what you meant by a group.
Thanks once again for your time. [import]uid: 57251 topic_id: 9668 reply_id: 35557[/import]

Director file is actually not related to LevelHelper.
You can find out more on Director class here
http://developer.anscamobile.com/code/director-class-10
Ricardo Rauber developed this to help people make transition between scenes. Good job for the developer. Very nice work.
By a group i mean this
http://developer.anscamobile.com/content/group-display-objects
A special display object that holds other display objects - by moving this special display object - you move all other display objects that are inside of the group. I use a group in the moving cart (well - wood with two balls as wheels) example.

Hope that helps,
Bogdan

[import]uid: 38119 topic_id: 9668 reply_id: 35561[/import]

Thanks gcc.programmer, your points were very helpful. I also agree, with this price and the level of commitment by the developer, there isn’t really an option of passing it up.

vladu.bogdan, thanks for your further explanation and your willingness to work diligently on this product. I look forward to it continued growth. [import]uid: 47723 topic_id: 9668 reply_id: 35586[/import]

Thanks for clearing that issue up vladu.bogan. It makes me relieved to hear that I can just focus my efforts on the levelhelperloader file. I notice you call it a class, I was under the impression that Lua didn’t really support object orientated programming and that I was going to have to use some odd method of nested functions just to get it to work. I was looking forward to trying the model view controller pattern, but now I am wondering if doing OOP is worth it for a smaller project like this.

On another note, I really do agree with the above, the pricing is brilliant, especially so with your continued dedication! It will cost me £7 to buy both levelhelper and the sprite software. I feel like I’m almost robbing you when the price of similar software, that actually does nothing but load a level is £40, down to £20 and I would still have to make my level in Tiled, which isn’t really suited to curves! It’s also just a bit more than the price of a foot long subway, yet it must have taken you far longer to produce. [import]uid: 57251 topic_id: 9668 reply_id: 35591[/import]

Hey

Lua does not really support OOP but you can make it work - look at how i do it in LevelHelperLoader.lua

As for the price - i consider the products at the beginning of their life as so the price is what i consider ok for the features it gives. With every new version the price will rise. So people who are with me from the start are rewarded with a smaller price.

Kind regards,
Bogdan [import]uid: 38119 topic_id: 9668 reply_id: 35594[/import]

I’ve updated the Director project with something that was asked by Astridax93 - how to make compound object to use in custom in game level editor.

I also want to point out that the example CORONA projects are done with LevelHelper 1.2 and so you will have to wait for Apple to release the update in order to see those files in LevelHelper and do what i do.

Kind regards,
Bogdan [import]uid: 38119 topic_id: 9668 reply_id: 35595[/import]

Thank you very much Vladu. From your example, I easily replicated your code to create a third car! I originally was intending to create a PC program that would create the level in the phls file, but I recognised that your idea of having a level editor within the game is probably far easier. Now all I need to figure out is how to enable an already precompiled app to read a phls file so people can play user made levels.

Thanks once again for your help [import]uid: 57251 topic_id: 9668 reply_id: 35597[/import]

I dont really understand the precompiled app thing - (you dont have the code for the app ?) - but you can use LevelHelperLoader.lua for what you need :slight_smile:

Regards,
Bogdan
[import]uid: 38119 topic_id: 9668 reply_id: 35598[/import]

What I mean is that when you use Corona to compile all the lua files, it seems to bundle the phls files into the .apk file (for android). Can level helper load a level from an external phls file stored on the phone for example. [import]uid: 57251 topic_id: 9668 reply_id: 35610[/import]

Hey,

I’ve updated the Directory example (car scene) to support what you need. Look inside LevelHelperLoader.lua at tutorial section of the function initWithContentOfFileFromDirectory(…) for a detail explanation.

I want to point out - that the code is from v 1.2 so with v 1.1 you won’t be able to replicate.

Regards,
Bogdan

[import]uid: 38119 topic_id: 9668 reply_id: 35616[/import]

The demo “LevelHelper CORONA Presentation” has a flicker between the stones as it scrolls. Is there a way to do the scrolling without the flickering? [import]uid: 47723 topic_id: 9668 reply_id: 35645[/import]

From my understanding with director class, you’ll have to put every display object into a local group. When you change scene, director class will do the cleaning for you.

Does levelhelper do the same? or is it something that I’ll still have to do if I’m going to use it with director class?

Sorry if this question is not really clear.

[import]uid: 12455 topic_id: 9668 reply_id: 35648[/import]

Hey - i think the flickering is acting up when you have both LevelHelper and Corona simulator opened - this is because both are using opengl.
I notices the flickering is happening when the corona simulator is over the LevelHelper window
Try to close LevelHelper is if the flickering is still there. Better yet try to put corona simulator in a place on the screen that does not overlap with LH.

Regards,
Bogdan [import]uid: 38119 topic_id: 9668 reply_id: 35665[/import]

Hey - yes LevelHelper can clean up everything - look at the Director example - you do loader:removeAllSprites()

Tell me if that answered your question.
Bogdan
[import]uid: 38119 topic_id: 9668 reply_id: 35666[/import]

Hi!
I’m very interested in your software but I have few questions :

  • What are the performances on the device in scrolling/culling situations?
  • Are those features even implemented?

I’m asking you this because Lime for corona is a similar software but fail to delivers performance once on the device.

Thanks.

Michael [import]uid: 25327 topic_id: 9668 reply_id: 35686[/import]

Hi there,

I just purchased both of these yesterday and was wondering if you had anything for Corona in the works to add to your tutorials on your website? [import]uid: 31262 topic_id: 9668 reply_id: 35687[/import]