XNA Creators Club Online
Page 1 of 2 (37 items) 1 2 Next >
Sort Posts: Previous Next

GLEED2D - Generic Level Editor 2D

Last post 3/21/2010 1:24 AM by LiquidAsh. 36 replies.
  • 7/6/2009 10:43 PM

    GLEED2D - Generic Level Editor 2D

    Inspired by this great article on gametuto.com
    http://gametuto.com/in-game-c-map-editor-tutorial-with-indielib-engine-that-dosent-use-tiles-but-pieced-images-like-in-braid-or-aquaria-games/
    and since I needed something like this for my own games I decided to write a generic level editor and release it to the public, so I proudly present

    GLEED2D - Generic Level Editor 2D

    GLEED2D (Generic LEvel EDitor 2D) is a general purpose, non tile-based Level Editor for 2D games of any genre that allows arbitrary placement of textures and other primitive items in 2D space.
    Custom Properties can be added to the items in order to represent game logic. Levels are saved in pure XML format.
    The Editor was designed in way to enable generic level editing for any type of game. No assumptions of your game's genre or structure are made.
    More information on the Editor's official website: http://www.gleed2d.de/

    Check out some screenshots and tutorial videos below:

    Video Tutorial 1 - Basic Features
    http://www.youtube.com/watch?v=FiUdJYFEfIs
    http://www.youtube.com/watch?v=bIT37W-wmVg

    Video Tutorial 2 - Advanced Features
    http://www.youtube.com/watch?v=4WmtevRCjrk
    http://www.youtube.com/watch?v=346zspl0_ic
    http://www.youtube.com/watch?v=dkwA79Ffw3U

    Video Tutorial 3 - Using Levels created in GLEED2D
    http://www.youtube.com/watch?v=jPL_ao7gqyM
    http://www.youtube.com/watch?v=gTjCauM-JR0
    http://www.youtube.com/watch?v=tHXt1SBtBG4
    http://www.youtube.com/watch?v=fjS25vxoHg0

    This is my first ever software release to the public. I'd be happy about any comments, ideas or general feedback.


    Update 2009-07-16:
    New Version 1.1.0 available!!

    • Added: New Menu "View": Grid and World Origin
    • Added: Grid and World Origin Appearance fully customizable in Settings Dialog (Snap to grid, Color, etc.)
    • Added: New Setting "DefaultTextureOriginMethod": TextureCenter or Centroid (useful if you plan to use a physics engine like Farseer and have the physics engine create the collision polygons from the texture ->the origin is then calculated as the center of mass = Centroid)
    • Added: New Tool: Link selected Items by a Custom Property
    • Minor Bugfixes
    • IMPORTANT! Level.cs has been changed, replace it in your project in case you used it!

    Update 2009-07-20:
    New Version 1.1.1 available!!

    • added: Snapped grid position is shown when adding items
    • bugfix: Several bugfixes with "Snap to Grid" and Primitive Items.
    • bugfix: Got rid of "Paths do not have a common base"-Exception (when textures were on a different drive than the level's ContentRootFolder)
    Check the official website: http://www.gleed2d.de/
    My Tools:
    GLEED2D - Generic Level Editor 2D
  • 7/7/2009 12:02 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    Wow that is surprisingly robust, good work.
  • 7/7/2009 1:37 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    NullReferenceException when I run the application. Have I missed something?

  • 7/7/2009 9:20 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    Hi winipcfg, dou you have XNA 3.1 installed? Do other XNA applications work on your computer? Is the file "settings.xml" in the same directory? Any chance you could post some details about the exception via pm, maybe the exception log? that would be great. thanks!
    My Tools:
    GLEED2D - Generic Level Editor 2D
  • 7/8/2009 3:54 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    zissakos:
    Hi winipcfg, dou you have XNA 3.1 installed? Do other XNA applications work on your computer? Is the file "settings.xml" in the same directory? Any chance you could post some details about the exception via pm, maybe the exception log? that would be great. thanks!


    I have installed XNA 3.1
    Other application(e.g. my projects) works well
    settings.xml is in the same directory

    BTW, are there any assets needed? Are graphics for GUI embedded in the exe file? Is that no dll files required?
    If yes, then PM you when I back home :)
  • 7/8/2009 5:56 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    no, there are no assets needed. yes, the graphics for the gui are embedded in the exe file. no dll files required. hmmmm.
    i have to test it on another computer, no clue what the the reason for you problem could be.

    did anyone else manage to get it to work?

    My Tools:
    GLEED2D - Generic Level Editor 2D
  • 7/8/2009 1:48 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    How about Font and Locale?
    Here is the complete crash message.

    Stopped working

    CLR20r3
    gleed2d.exe
    1.0.0.0
    4a5275e8
    gleed2d
    1.0.0.0
    4a5275e8
    11e
    0
    System.NullReferenceException
    6.0.6000.2.0.0.768.3
    3076


    Hope it helps
  • 7/8/2009 3:38 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    Very nice job! I am playing around with this right now. I am gong to try and use it in my new project. Thanks!


    Henry
    My wife says most of my posts should finish with "Get off my lawn"

    smokinskull.com
    My Twitter
  • 7/8/2009 7:56 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    @winipcfg Locale? Where are you from? I have released a new version (1.0.1) which adds logging to a file called log.txt in the working directory. Could you please download it and execute it and send me/post the log.txt? That would be very helpful. Thank you!
    My Tools:
    GLEED2D - Generic Level Editor 2D
  • 7/9/2009 7:12 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    zissakos:
    @winipcfg Locale? Where are you from? I have released a new version (1.0.1) which adds logging to a file called log.txt in the working directory. Could you please download it and execute it and send me/post the log.txt? That would be very helpful. Thank you!


    Hong Kong. And my OS is Vista.
    The following information is shown in the log file
    The exception caught shows NullException error. But I think you may not be able to read it (Traditional Chinese characters) and so I remove the text

    Thanks for help

    10/7/2009 2:55:55.493 - Log File created. 
    10/7/2009 2:55:55.502 - Application started. 
    10/7/2009 2:55:57.303 - Exception caught:  
     
     
     
        GLEED2D.MainForm.pictureBox1_Resize(Object sender, EventArgs e) 
        System.Windows.Forms.ControlExcept.OnResize(EventArgs e) 
        System.Windows.Forms.PictureBox.OnResize(EventArgs e) 
        System.Windows.Forms.Control.OnSizeChanged(EventArgs e) 
        System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) 
        System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height) 
        System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) 
        System.Windows.Forms.Control.ScaleControl(SizeF factor, BoundsSpecified specified) 
        System.Windows.Forms.Control.ScaleControl(SizeF includedFactor, SizeF excludedFactor, Control requestingControl) 
        System.Windows.Forms.Control.Scale(SizeF includedFactor, SizeF excludedFactor, Control requestingControl) 
        System.Windows.Forms.Control.ScaleChildControls(SizeF includedFactor, SizeF excludedFactor, Control requestingControl) 
        System.Windows.Forms.Control.Scale(SizeF includedFactor, SizeF excludedFactor, Control requestingControl) 
        System.Windows.Forms.Control.ScaleChildControls(SizeF includedFactor, SizeF excludedFactor, Control requestingControl) 
        System.Windows.Forms.Control.Scale(SizeF includedFactor, SizeF excludedFactor, Control requestingControl) 
        System.Windows.Forms.ContainerControl.Scale(SizeF includedFactor, SizeF excludedFactor, Control requestingControl) 
        System.Windows.Forms.Control.ScaleChildControls(SizeF includedFactor, SizeF excludedFactor, Control requestingControl) 
        System.Windows.Forms.Control.Scale(SizeF includedFactor, SizeF excludedFactor, Control requestingControl) 
        System.Windows.Forms.ContainerControl.OnChildLayoutResuming(Control child, Boolean performLayout) 
        System.Windows.Forms.ContainerControl.OnChildLayoutResuming(Control child, Boolean performLayout) 
        System.Windows.Forms.Control.OnLayoutResuming(Boolean performLayout) 
        System.Windows.Forms.Control.ResumeLayout(Boolean performLayout) 
        GLEED2D.MainForm.InitializeComponent() 
        GLEED2D.MainForm..ctor() 
        GLEED2D.Program.Main(String[] args) 
    10/7/2009 2:56:00.562 - Application ended. 
     

  • 7/9/2009 9:04 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    alright.

    The function pictureBox1_Resize(Object sender, EventArgs e) gets called way too early on your machine. Actually on my computer (Win XP, .Net 3.5) this function doesn't get called at all on Editor startup. It should only be called when you resize the window.

    Do you have a clue why this might be? What version of .Net Framework do you have?

    Anyway, I uploaded a version 1.0.2 which performs some more null-checks, I think that should work on your computer.
    My Tools:
    GLEED2D - Generic Level Editor 2D
  • 7/10/2009 1:30 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    I can run this version 1.0.2. But I cannot run 1.0.1 version.
    Great job, thanks

    10/7/2009 21:22:21.764 - Log File created. 
    10/7/2009 21:22:21.765 - Application started. 
    10/7/2009 21:22:22.061 - pictureBox1_Resize(). 
    10/7/2009 21:22:22.065 - pictureBox1_Resize(). 
    10/7/2009 21:22:22.153 - Creating Game1 object
    10/7/2009 21:22:22.310 - Game1 creation started. 
    10/7/2009 21:22:22.314 - Creating Winform. 
    10/7/2009 21:22:22.524 - Winform created. 
    10/7/2009 21:22:22.525 - Game1 creation ended. 
    10/7/2009 21:22:22.706 - Creating Editor object
    10/7/2009 21:22:22.711 - Editor creation started. 
    10/7/2009 21:22:22.712 - Loading Resources. 
    10/7/2009 21:22:22.746 - Resources loaded. 
    10/7/2009 21:22:22.746 - Loading Settings. 
    10/7/2009 21:22:23.030 - Settings loaded. 
    10/7/2009 21:22:23.031 - Creating new level. 
    10/7/2009 21:22:23.128 - New level created. 
    10/7/2009 21:22:23.129 - Editor creation ended. 
     


  • 7/13/2009 1:57 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    I've been building a level editor with exactly the same ideas in mind, now I don't have to, thanks to your unselfishness.
    Thanks for releasing this and I'll give feedback on it.
  • 7/13/2009 2:58 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    @minity:
    thank you. I am looking forward to your feedback

    @winipcfg
    so you got it to work? cool. does it help you in your work/project?
    My Tools:
    GLEED2D - Generic Level Editor 2D
  • 7/14/2009 5:56 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    It is great but I actually haven't start using it.

    I think the following may be good in future release
    1. Asset Manager to locate resources
    2. Instead of using absolute path, using names such as asset names may be good to reduce problems such as changes in file names. The absolute path may be stored in Xml.
    3. Preview function, such as capture the viewport and popup a picture box, allowing us to save the map
    4. Snap to grids feature. This kind of maps do not have grids and it needs more time to align textures. Sometimes you may have ~1 position offset which cannot be seen clearly
    5. Maybe a dialog minimap and so that we can view and scroll easily

    etc


  • 7/14/2009 9:39 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    4. Snap to grids feature. This kind of maps do not have grids and it needs more time to align textures. Sometimes you may have ~1 position offset which cannot be seen clearly
    I have this in my Half baked editor(including show/hide grid), let me know if you want the source, it might save you a little bit of time.
  • 7/16/2009 11:20 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    A "Snap to Grid" feature would be awesome
  • 7/16/2009 5:39 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    New Version 1.1.0 available!!!

    Added: Snap to Grid and lots more!

    Check the first post!

    My Tools:
    GLEED2D - Generic Level Editor 2D
  • 7/19/2009 8:31 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    This is very cool! Thanks a lot for sharing.

    Will you be releasing the source code too?
  • 7/19/2009 10:30 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    @MattSimpson:
    Thanks! Well, I'm not planning to release the source code at the moment. Maybe sometime in the future. I haven't thought thoroughly about that yet...


    Version 1.1.1 is out, with several bugfixes. Check the first post!

    My Tools:
    GLEED2D - Generic Level Editor 2D
  • 7/20/2009 1:29 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    OK no worries. What I'd really love to see is a tutorial, or series of tutorials, detailing how to build a level editor like this from the ground up. Is this something you've ever thought of doing? It would be of massive benefit to the community (well it would to me anyway!).

    Anyway, I'll download the latest version of the editor and try it out.

    Thanks again.
  • 8/26/2009 11:28 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    Thank you for releasing this. I was writing something similar in WPF until I discovered GLEED2D.

    I have two questions:

    1. Is there a way to delete or erase primitives? (I am using the rectangle primitive to "fill in" grid cells for grid-based collision detection.)

    2. Is there a way to set the bitmap origin to the top-left-hand corner of the bitmap?

    I would happily contribute to the source code if and when it is released.


    Crash Reports:

    1. Sometimes when I first open the program, then hit the 'Maximize' button, the program crashes.

    2. When selecting a bitmap source folder, when I select the 'Pictures' folder in Windows Vista Business 32-bit, the program throws an error:

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.ArgumentException: Parameter is not valid.
       at System.Drawing.Bitmap..ctor(String filename)
       at GLEED2D.MainForm.loadfolder_foreground(String path)
       at GLEED2D.MainForm.chooseFolder_Click(Object sender, EventArgs e)
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Loaded Assemblies **************
    mscorlib
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    gleed2d
        Assembly Version: 1.1.1.0
        Win32 Version: 1.1.1.0
        CodeBase: file:///C:/Users/robot/Desktop/GLEED2D_v1.1.1/gleed2d.exe
    ----------------------------------------
    System.Windows.Forms
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
        CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
        CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
        CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    Microsoft.Xna.Framework.Game
        Assembly Version: 3.1.0.0
        Win32 Version: 3.1.10527.0
        CodeBase: file:///C:/Windows/assembly/GAC_32/Microsoft.Xna.Framework.Game/3.1.0.0__6d5c3888ef60e27d/Microsoft.Xna.Framework.Game.dll
    ----------------------------------------
    Microsoft.Xna.Framework
        Assembly Version: 3.1.0.0
        Win32 Version: 3.1.10527.0 built by: xnabldr
        CodeBase: file:///C:/Windows/assembly/GAC_32/Microsoft.Xna.Framework/3.1.0.0__6d5c3888ef60e27d/Microsoft.Xna.Framework.dll
    ----------------------------------------
    System.Core
        Assembly Version: 3.5.0.0
        Win32 Version: 3.5.30729.1 built by: SP
        CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    msvcm90
        Assembly Version: 9.0.30729.4148
        Win32 Version: 9.00.30729.4148
        CodeBase: file:///C:/Windows/WinSxS/x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2/msvcm90.dll
    ----------------------------------------
    System.Xml
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
        CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Configuration
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
        CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Drawing.Design
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
        CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing.Design/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.Design.dll
    ----------------------------------------
    8bmakw1_
        Assembly Version: 1.1.1.0
        Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000)
        CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  • 12/8/2009 1:48 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    This is exactly what I've been looking for, something like Indielib for XNA.

    I am the designer, artist, and writer for an upcoming ninja game, and this engine will greatly help me design levels for the programmer.

    QUESTION: Does it handle collision detection like Indielib? If not, it would be so cool if you put it in a new build. If I build the levels with this library/engine, would my programmer be able to easily assign different types of collision detection to objects? Easily, I mean.

    Thanks a bunch.
  • 12/8/2009 2:03 AM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    Architectus:
    This is exactly what I've been looking for, something like Indielib for XNA.

    I am the designer, artist, and writer for an upcoming ninja game, and this engine will greatly help me design levels for the programmer.

    QUESTION: Does it handle collision detection like Indielib? If not, it would be so cool if you put it in a new build. If I build the levels with this library/engine, would my programmer be able to easily assign different types of collision detection to objects? Easily, I mean.

    Thanks a bunch.
    From my experience, Collision Detection is one of the most difficult things to do well in game programming.
    Game hobbyist hell-bent on coding a diabolical Matrix
  • 12/15/2009 12:08 PM In reply to

    Re: GLEED2D - Generic Level Editor 2D

    Architectus:
    QUESTION: Does it handle collision detection like Indielib? If not, it would be so cool if you put it in a new build. If I build the levels with this library/engine, would my programmer be able to easily assign different types of collision detection to objects? Easily, I mean.
    I read something yesterday where the creator of this tool said that it will do collision. The method has something to do with drawing a box around the object and naming it collision. I can't find where he said that on the forums but I'll keep looking. EDIT: Of course I find it immediately after I post. Hope this helps.
    zissakos:
    you can absolutely do collision detection with gleed2d. just make a layer called "Collision" or so, and add your collision shapes. currently square, circle, paths and  polygons are supported. you can do everything with these shapes (a triangle is a simple polygon). then, later in your game engine, on löoading a level just implement a special treatment for the "Collision" layer and build your physics-collision-shapes out of the items contained in that layer. it's all up to you.

    the goal of gleed2d was to make it as abstract a level editor as possible, with no assumptions about the usage of the things you create with it.

    the same goes for movement paths. just make a special layer again, add a path item and just name it in a special way or add custom properties that later enable your level loading procedure to identify those paths, distinguish them from the rest and build your game-engine-specific sprite-movement out of it.

    it's all a matter of abstraction.

    where you're right though is animation support.  this is not built into the editor. at least not in a way that lets you see animations while you're editing (actually gleed2d doesn't aim to be an animation editor). you could still use placeholder textures for editing and later in your game use your animated ones though.



Page 1 of 2 (37 items) 1 2 Next > Previous Next