LevelSVG

NEW VERSION from 2011-11-05. Highlights of this version: Uses Box2d v2.2.1 and cocos2d v1.1-beta

LevelSVG is a map level editor specialized in platform and labyrinth games.

Main features:

  • Supports SVG files generated by Inkscape
  • SVG elements supported: rectangle, circle, line/move, bezier paths and nested transformations
  • Collision detection logic
  • Jump logic (the hero only jumps when he is touching the ground)
  • Customize physics properties from the editor: isSensor, density, friction, restitution, fixedRotation and type
  • Includes pre-defined physics objects like: spinner, one-sided platforms, moving platforms, ground, hero, princess, enemy, hole, portal, car, top down car, chain, ladder and more!
  • Very easy to extend and/or modify the list of pre-defined physics objects.
  • Very easy to link physics objects with cocos2d sprites
  • Supports Tilt and D-Pad controls
  • Documented and easy to read source code
  • Includes a manual that explains how to create levels using Inkscape
  • Includes examples to use in real games: TMX Tiled maps, Spritesheets, collision detection, lives, points, circular hero levels (like Rolando), boxed hero level (like MarioBros)
  • The hero is able to move, jump, climb and shoot
  • All examples run at 60 FPS on a iPod Touch 2nd gen
  • Includes a HUD that displays lives and points
  • Includes cocos2d v1.1-beta and Box2d 2.2.1
  • Supports universal binary: iPad and iPhone compatible

LevelSVG manual: LevelSVG-manual-v0.8.pdf

Screenshots:
LevelSVG Tod Down car

LevelSVG Level 5

Example video:


130 Responses to “LevelSVG”


  • I will try the LevelSVG preview this weekend, thanks,
    and have one last question regarding the level of physics integration in your 2 products, cocos2d and LevelSVG.

    My goal is to model complex ragdoll objects for use in the game,

    from this comment, I understand LevelSVG integration:
    “Mekanimo is great at creating complex box2d objects (let’s say Car: joints, torque, fixtures, etc…).
    LevelSVG is great at creating maps: defining platforms, placing objects.

    So, now you can create the car generated with Mekanimo inside LevelSVG.
    For example, you can edit the “HeroBox.mm” (see LevelSVG-preview). Remove the part the it creates a Box, and instead include the code generated by Mekanimo.”

    I would like to know your thoughts on how to accomplish this in cocos2d without LevelSVG.

  • @joep: I didn’t understand your question. If your question is not related to LevelSVG, please, send it directly to my email. Thanks.

  • I’ve downloaded the LevelSVG preview.
    How do I implement that in cocos2d? Is there some form of integration documentation?
    Or is there a complete sample project which uses LevelSVG generated classes?
    I’m almost at the buying stage, but still have these doubts on the complexity of integrating all this stuff.
    I’ve got some apps in the store but that’s all basic apple SDK stuff.

  • @tychop
    LevelSVG preview only contains a subset of full “LevelSVG”.
    The preview only includes some classes and some levels. The full version includes all the needed classes / source files to compile the project, the Xcode project, the images, resources, sounds, etc.
    LevelSVG uses Box2d and cocos2d. The integration between both worlds are done by the LevelSVG classes.

  • Hey,
    Are you going to add somethink like ladder\rope? It’s really important for me, cuz just the platforms to jump on it’s not that comfortable.

  • @EiTkoCaT: LevelSVG v2.6 has a chain object. With some modifications it can be used as a rope.

  • @riq: Lol, I just saw that chain, I better create my own rope. It’s not even close, maybe you haven’t understand, it’s like in maple story, the ladders and ropes..

  • @EiTkoCaT: Thanks for the clarification. Yes, I’ll add ladders in the near future.

  • @riq: Great! I’ll buy the LevelSVG next week (not just because the ladders :) )

  • BTW, other thing: In levels like 4, needs to be not just normal platforms, needs to be option to crooked platforms, not just straight lines.

  • Is there any possibility for educational pricing of this software?

    I am at university at the moment and it seems quite expensive.

  • Hi Riq

    I’m looking to create similar levels to those of angry birds.

    I’m not sure (and i need your advice in deciding this) , if using the level svg editor would be a better solution or creating a custom level editor in Cocos2d(mac) is the right way to go.


    Thanks,
    Ashar

  • Hi,

    I am trying to decide wether to buy this product or not.

    Maybe you can help clear up a few things:

    I would like to do a platform game, and I am trying on my own but having a real hard time with gravity and with making a dpad. From the looks of it, this is implemented in this product. My question is however. How much coding do I have to do to implement it in a game?

    Is this product like a Template I can use or how does it work excactly?

    And a last thing. How is the product delivered? is it by mail or will I be able to download it here after I purchase it?

    Thank you in advance

    -Peter

  • @Peter:
    It depends on the platform game, but if you are trying to do a sort of MarioBros game, probably you’ll have to code only a few custom objects.
    LevelSVG is not a template, but the “source code” of LevelSVG Mini Games. You can reuse the LevelSVG Xcode project, or create a new one manually, and copy & paste all the LevelSVG source files into your new Xcode project.
    – It includes the SVG parser
    – The Levels
    – All the objects: HeroBox, HeroCar, Fruit, Star, Lifes, Platform1, MovingPlatform, etc.

    The product is delivered by email. Once I receive the purchase order, I will email it to you.

    “LevelSVG Preview” is a subset of “LevelSVG” full. It includes some levels and the source code of some basic objects.

  • Hi Riq,

    Thank you for the quick reply,

    This sounds really good, and the type of game I am going for is a Mario type game, so the responses are spot on!

    I have come up with a few more questions though.

    In the manual I cant seem to find anything on how to use animated characters (from spritesheets) together with LevelSVG. Is there also just a “reference” somewhere to the walking frog, that I can replace with a reference to my own spritesheet?

    I am also interested in the possibilities for tweaking how the player/hero moves around. More specific, how high he jumps, at what speed he moves at. Are theese just int / float values I will have to change and then thats it?

    I noticed that you can move the background around by swiping the screen, is this easily disabled? (as I dont want that, hehe)

    and one last thing. Is there any function integrated that allows for easy implementation of parallax scrolling?

    Thank you again for you fast response.

    Peter

  • @Peter:
    LevelSVG uses both cocos2d (game engine) and box2d (physics engine).
    cocos2d has all the features that you are asking for: sprite animation (walking frog), parallax scrolling.

    Regarding how high the hero jumps, in can be modified easily in the HeroBox.mm class. The Hero jumps by using a box2d impulse.

    Yes, you can disable the “move the background by swiping the screen” very easily.

  • Thank you very much Riq, I just send you the purchase order :)

    -Peter

  • Hi,

    Is it possible to move hero automatically without using joystick using this levelSVG code?

    Thanks,

  • @aarju: Yes, you can move the hero by calling Hero#move, Hero#jump and/or Hero#fire.

  • LevelSVG minigames source code is included on LevelSVG premium package?
    Thanks

  • @Daniel: yes. You’ll get the whole LevelSVG Minigames Xcode project: source code, graphics, sounds, levels, etc.

  • Considering getting this. One (probably really obvious) question- how does this handle slopes in tile-based games? Does it support different angles of sloping?

  • @hobbes: Yes, with LevelSVG you can create any kind of slope. For example, “LevelSVG Mini Games” uses different kind of slopes in Level1, Level2 and Level3.

  • Hi, I’m potentially interesting in buying level svg & sapus tougue source code to kick start a game. I couldn’t find a Level SVG license file on the site. Whats the exact terms? I obviously don’t plan to share the source code on the internet but I may want to be able to get others developers to work on the game source code. As long as I keep the code in a private repository and the developers are operating on my behalf under a confidentially agreement is that ok?

  • @Paul.
    Basically you can use the source code for an unlimited number of games. You can modify the source code, but you cannot change the copyright. Also, you can’t distribute the source code. How many developers will be working with the source code ? My email is: ricardo.quesada@sapusmedia.com

  • hi riq, although my game is completely different from the types of game you can easily create out of the box with level svg i presume i can use your code and extend it to my type of game? just wondering how easy it will be to do it. i am building a side scroller game where the hero is a flying plane and the enemies are flying planes as well, i presume i could mofify the hero and enemy object so they can fly? and also collide with the platform istead of sitting on it?

  • @paris: LevelSVG is easy to extend. Every character is an object. So if you want a new character (eg: a plane), you can do it by creating a Plane object. Yes, you could also modify the collision behavior. Don’t hesitate in contacting me if you have further questions. This is my email: ricardo.quesada@sapusmedia.com

  • thanks riq, figured that out by checking levelsvg sample code, its pretty easy to understand so i will just buy it and start coding away, didnt really get the use for beginContact and endContact functions thought. I think i am not gonna build based on level svg but i’ll grab bits of it to use in my code, parsing inkskape files for my levels will be superb so i can generate boxes for my level terrain and place enemies along the way, it will help a lot more rather than trying to built this myself.

    One more question thought, if a place a box in inkscape so that its gonna be a sprite for e.g a terrain element can that be tied to 4-5 other boxes for collision detection?

    thanks

  • @paris: Yes, you’ll have to tied them in code. Let me know if you don’t know how to do it.

  • I might get LevelSVG soon, but I have two questions. Is it possibile to create a side-scroller with uneven terrain? For example, there might be hills or little cracks in the ground. Secondly, how could we recieve this code once we pay the fee?
    Thanks,Wil

  • @Wil
    1) Yes, you can create uneven terrain with LevelSVG. If you try “LevelSVG Mini Games” from the App Store, you’ll notice that both Level1 and Level3 have uneven terrains.
    2) I’ll send you the download link as soon as I receive the purchase order.

  • Hi Riq,

    I plan to make a 2D game (top view), probably using tilemapeditor. However, I’ll probably want something smoother than rectangle collisions in my levels. So far, I understood that LevelSVG is a kind of parser that can translate SVG files (therefore, vector shapes) in something that can be interpreted as collisions by Cocos2D. Am I right?
    A little precision here: I’m the designer, not the programmer of the game.

    My plan is to make a photoshop art of the level, draw the collisions with inkscape/LevelSVG, add some interactive objects and possibly tiles in tiledmapeditor.
    My main question is: can I use LevelSVG to add a level of collision created with vector shapes (with the bezier lines for instance) on top of my tiledmap level?

    Thanks a lot.
    m

  • @Emeric:
    Yes, you can define a collision map with LevelSVG using bezier paths.
    If you try Level1 and Level3 of LevelSVG Mini Games, you’ll notice that those levels were done using bezier lines.

  • Hi Riq

    Can I make levels like in angry birds using levelsvg?

  • @Aeshvarya:
    LevelSVG is a “general purpose” editor, so you might need to modify it in order to make an exact clone of Angry Birds.

  • Hi Riq,

    Quick questions about levelsvg and box2d, because I’d really love to keep all my code in objective c:
    1. If I purchase levelsvg (249$), does that include 6 months of updates/support?
    2. Box2d.. is there an objective c wrapper for it?
    3. Would it be hard to write a wrapper for box2d?
    4. Would using a objective-box2d wrapper have a big effect on performance?
    5. Would it be difficult to move the levelsvg mini games to the wrapper?

    Thanks,

    George
    ps
    Gonna purchase the levelsvg mini stuff anyhow. Been following cocos since version 0.2 and would love to see how YOU use cocos2d.

    pps
    Really appreciate all your efforts with the project, more than happy to purchase to support your work.

  • Hi George:
    1. Yes, you’ll receive support and updates for 6 months.
    2. I don’t know of any objective-c box2d wrapper,
    3. but it shouldn’t be difficult to build one. LevelSVG also includes a cocos2d-box2d binding that wraps some box2d functionality in objective-c, like the collisions.
    4. I don’t think so, it should perform more or less the same.
    5. No, it should be easy to port them to the wrapper.

    Don’t hesitate in contacting me if you have any other question.

  • Hi, I have a problem when I use LevelSVG 2.9.
    I draw a bezier curves in Inkscape. But the box2d object created by levelsvg looks different from the shape in Inkscape.

    Thanks.

  • @wangdg: I’ve just sent you the patch to your email. Regards.

  • Hi, I have one question before I buy this. Can it handle the looping floor like in Sonic the Hedgehog? Cheers

  • @leftnoodle: LevelSVG doesn’t have that logic, but you can easily achieve the looping background/floor by subclassing CCNode (from cocos2d)

  • This is one of the best tools I have ever used to develop levels.

  • Hi, I know this engine uses objective-c++ and c++. Would you recommend someone who is not familiar with either of these to not attempt to use this, or could I get by with only having experience with objective-c? (note: my employer has already purchased, just trying to decide if I can use it for the projects they need or if they need to give the projects to other programmers.) Thanks.

  • @Marty:
    Are you familiar with cocos2d ? Have you used a physics engine before (in any language) ? If so, then you’ll be able to use LevelSVG without major problems. If not, then I suggest first to learn cocos2d and learn a physics engine (like box2d).

    c++ is somewhat easy to learn if you already know objective-c (and vice-versa)

  • Unfortunately I haven’t used cocos2d or a physics engine, I was hoping to learn on this project. Just browsing through it, it seemed like most of that stuff was already done, and might only require some tweaking. I don’t have to do any of the graphics, just the programming. So you’re saying there’s a fair amount of new code I’ll actually have to write dealing with cocos2d? Thanks for the quick response.

  • Hi,
    I bought the Sapus Tongue Source before.
    Do I need to prove anything to buy LevelSVG at $149 price?

  • @baodom:
    If you are going to purchase it from a different account, could you send me to my email (ricardo.quesada@sapusmedia.com) the purchase order of Sapus Tongue ? Thanks.

  • Hi Riq,
    Thanks for the answer.
    Just one more question, does LevelSVG support Zooming function?

  • @Baodom: You can zoom in/out by scaling the scene/layer. This functionality is part of cocos2d, and LevelSVG is built on top of cocos2d.

  • Hey @riq! How are you! Congratulations for amazing cocos2D-iPhone engine and for this! I Just want to know things:
    I’m looking for a level design tool for my game! I’m using Box2D, and i have convex and polygons actuali i generate then by Mekanimo, and import to my lvl by copy and past, but this is hard, becouse Mekanim create a lot of garbage when i export some level, i want to know: I have how create complex polygons using LevelSVG?

    In one of your example levels, you using a texture over some object, this is create dynamically by LevelSVG? This can be done in complex polygons?!

Leave a Reply