C++ map editor tutorial, it dosent use tiles but pieced images like in Aquaria game

Discussion in 'Announcements' started by Loover, Jan 9, 2009.

  1. Loover

    Original Member

    Joined:
    Jan 22, 2005
    Messages:
    49
    Likes Received:
    0
    I have spent 40 hours in making this tutorial. I really hope it would be useful for some of you.

    "We are going to learn how to create an in game map editor that dosen’t use tiles, but directly backdrop images that you can translate, tint, rotate, scale, etc, in different parallax layers and camera zooming. You can have several tilesets and you can of course to save / load the maps using XML files. This type of editor is used in games like Braid or Aquaria. For this tutorial we are going to use IndieLib C++ 2d engine, because their entity objects are great for having graphical objects which attributes can be modified in real time. And we are going to do it with style, using graphics from lostgarden.com prototyping challenges and Aquaria game."

    C++ map editor tutorial, it dosent use tiles but pieced images like in Aquaria game


    Video: http://vimeo.com/2769377

    [​IMG]
    [​IMG]
    [​IMG]
     
  2. Acord

    Acord New Member

    Joined:
    Jul 26, 2008
    Messages:
    1,217
    Likes Received:
    0
    You have the best tutorials. You really need your own site for these things :)
     
  3. Loover

    Original Member

    Joined:
    Jan 22, 2005
    Messages:
    49
    Likes Received:
    0
    Haha! Thank you! But I think are "just ok" tutorials. They could be always better.

    In fact I have gametuto.com.

    I hope people that liked the tutorials would backlink to this site.

    I forget to say I need...

    FEEDBACK! Please, I'm not English speaker, if you see any mistakes (I'm sure I have a lot) could you report them here? Thank you very much!
     
  4. electronicStar

    Original Member

    Joined:
    Feb 28, 2005
    Messages:
    2,068
    Likes Received:
    0
    Very interesting technique, but I'm a bit curious about its potential.
    systems that use tiles aligned in a grid are very efficients for, say, platform games where you know exactly which tile is under the player, and don't have to test for ALL tiles in the level for collision/proximity detections or things like that.
    I know modern computer can check hundreds of test per cycle, but I imagine some games like Aquaria with HUGE maps can contain several hundred (thousand?) objects, so isn't there a performance problem after a while?
    I know good platform engines generally use a lot of complex tests for smooth results regarding the player character movements. I mean I just finished coding a complex platform physics engine and I would find it hard to redo it without using the grid:D
    Are there some tricks you can use to improve performance?
    [EDIT] Or maybe you just define "colision zones" with vector which would make more sense with that technique :D

    Also : is it normal that I can't hear any sound in your video?
     
  5. Loover

    Original Member

    Joined:
    Jan 22, 2005
    Messages:
    49
    Likes Received:
    0
    The usual way is to check advanced collision ONLY with the pieces that are near the main player. You can know if an entity is far from the main player using a quick collision test, like just substracting the coordinates to see if the value is really high.

    For the entities that are near the player, you can use the type of collision you prefer. I think Alec (Aquaria) said he was using circle to circle collision by groups.

    I'm planning to make a second tutorial, taking in count collisions :)

    Yes, I just recorded me using the editor. And it comes without any sound or music. If I were english speaker I would have commented it, but my spanish acent is horrible :)
     
  6. Sharkbait

    Original Member

    Joined:
    Apr 12, 2005
    Messages:
    303
    Likes Received:
    0
    This is really an interesting technique, thanks for sharing!

    Well, you can use an acceleration structure like a quadtree, KD-tree or BSP tree, in which case you might have thousands of tiles yet perform collision tests with about ten iterations in the worst case.

    Loover, I'm actually curious as to how collision detection is performed within a tile once a point is known to lie within its rectangular bound. Is it some sort of pixel test into the underlying bitmap or texture? And what if you want your player/entity to bounce away?
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer