don't click here

Official "Zone Builder" Thread

Discussion in 'Engineering & Reverse Engineering' started by saxman, Jul 13, 2010.

Thread Status:
Not open for further replies.
  1. saxman

    saxman

    Oldbie Tech Member
    Well, this is a thread about my upcoming Sonic level editor. I haven't made a Sonic editing tool since 2004, so getting my head wrapped around editing ROMs again is like a trip down memory lane for me. In fact, I'm amazed how much I have forgotten, as well as what I still remember on the top of my head (e.g. GSS location 0x12288 will NEVER leave my memory!)

    Anyway, Zone Builder is a completely new and unique take on how a level editor should work. I started this back in 2009 under the name "Gambit". I tailored each function of the editor to the needs of the S2HD team. The first thing I thought was "if I'm going to make a fully functional editor, I'm going to make it use the mouse 90% of the time while making navigation as effortless as possible." That was the cornerstone of the project. Eventually I named the editor "EditHD" and continued to feed off suggestions from the S2HD team.

    [​IMG]

    Now I'm taking the code base that I carefully crafted and I'm using it to create this new program. Zone Builder will be compatible with the Sonic 2 disassembly.

    Zone Builder uses the FLOW interface, the underlying framework that makes this editor one of the easiest and intuitive around. The FLOW interface features:
    * zooming (25-400%)
    * smooth tile/block navigation with a simple nudge of the mouse (no clicking on buttons!)
    * screen real estate concentrated on showing the actual level with little else to get in the way
    * heavily customizable options to make it work the way you want it to



    ZONE BUILDER TODO LIST:
    This list was last updated on July 24. These are features I want to support before I decide to make the first public release.

    * Pop-up menus with right-click (partially implemented)
    * Multiple selections (partially implemented)
    * Level layout editing support (done!)
    * Tile mappings editing support (done!)
    * Solidity editing support
    * Object layout editing support
    * Save files back into S2 data formats



    [​IMG]

    [​IMG]

    A release date is still pending, but feedback from testers has been overwhelmingly positive. Expect updates to be posted in this thread.
     
  2. ICEknight

    ICEknight

    Researcher Researcher
    Looks impressive. Does it read from disassembly chunks or directly from the ROM?
     
  3. saxman

    saxman

    Oldbie Tech Member
    It reads the disassembly files, much the way SonED2 works.
     
  4. Alriightyman

    Alriightyman

    I am back... from the dead! Tech Member
    357
    11
    18
    Somewhere in hot, death Florida
    0101001101101111011011100110100101100011 00000010: 0101001100000011 01000101011001000110100101110100011010010110111101101110
    Sounds interesting. A question though, you said it is customizable, can I choose how to save art/level/collision compression?
    Can't. wait to try it out.
     
  5. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    This is looking pretty cool. I'm wondering, though: how well is this editor tied to Sonic 2, or rather, how easily can it be modified for other Sonic games?
     
  6. Spanner

    Spanner

    Zzz... Member
    3,372
    184
    43
    United Kingdom
    Falling asleep for once
    Looks good. Any plans to make this cross-platform when it's released?
     
  7. LordOfSquad

    LordOfSquad

    bobs over baghdad Member
    5,270
    304
    63
    Winnipeg, MB
    making cool music no one gives a shit about
    An easy to use Sonic editor? Looking forward to trying it out! Looks good!
     
  8. Cannot wait to try this out! Will it be compatible with current SonED 2 projects? So many questions!
     
  9. Selbi

    Selbi

    The Euphonic Mess Member
    1,527
    140
    43
    Northern Germany
    Sonic ERaZor
    Wow, this looks awesome, and it hopefully much easier to use than SonED2 (which would be a good thing, because I never took the time to get used to it.).

    For the love of god, PLEASE also make it working for Sonic 1! Or at least with MarkeyJester's Project Two-Eight, because it feels like all the good tools are being released for Sonic 2.
     
  10. MarkeyJester

    MarkeyJester

    Original, No substitute Resident Jester
    2,258
    527
    93
    Japan
    I love you, I really do, though one thing I am concerned with all these features is whether some of us with slightly oldish computers, would witness slowdown or lag, what would you say the lowest requirements would be?
     
  11. Hez

    Hez

    Oldbie
    This could really be useful. Considering SonED2 is horribly outdated when it comes to user friendly interface. It could be a good alternative. :3
     
  12. amphobius

    amphobius

    not so gone, after all Member
    2,131
    11
    18
    Thrash '25
    How far will this go when it comes to art importing, especially within formats such as PCX? One thing I find absolutely nessacary in SonED2 is the art import function, as it is especially helpful in designing levels entirely from scratch.

    Speaking of art, will this feature an art editor, too? Additionally, what about palettes? Collision? These are some of the features I use pretty heavily in SonED2, primarily as they're extremely helpful, additionally as level editing.
     
  13. Sparks

    Sparks

    Member
    3,171
    192
    43
    Sondro Gomez / Kyle & Lucy
    I'm hoping for most of the mentioned too. The reason I never got big in ROM hacking is because I always have difficulty putting my zone art in, and then collision is a whole 'nother story.. :psyduck:
     
  14. Elratauru

    Elratauru

    Little Shiny Emurralds Member
    This. It would be so easy to load image chunks or similar things directly.

    ---

    I pretty much like the work on this, I cant way to try it out! Keep the nice work!
     
  15. saxman

    saxman

    Oldbie Tech Member
    No, but that's a terrific idea. I might just make that a feature!


    It would be fairly easy to modify to support other Sonic games. The most challenging part would be supporting 256x256 tiles used in Sonic the Hedgehog and Sonic CD, and that really just involves reworking some basic algorithms throughout the program.


    Oh yeah, I think Linux and Mac OS X versions could definitely happen.


    That is something I'm considering. I am not fond of how SonED2 project files are done (text parsing isn't exactly what I'd call "fun".) However, a lot of people use SonED2, and I haven't lost sight of that reality. We'll see.


    Jelous of Sonic 2 are we? Eventually, I want to add support for other Sonic games. However, because it's still a new program and I'm still playing with stuff, I want to make sure I get this program right with just one game first.


    Expect slowdowns on older computers. I would never even DREAM of running this on my Pentium II 400MHz computer. It runs well on my Pentium 4 2.8GHz computer, and the program has been compiled with Pentium 4 optimizations enabled. So, I'd place the minimum requirement at a Pentium 4 or compatible with at least 64MB of available RAM. This program uses a lot of RAM to store preprocessed stuff which helps make the program run a bit faster.


    I'd like to support all of that. It's a work in progress, but everything you mentioned is in my plans.


    The hard part for me is the experimental stage where I test some concepts of what collision editing should be like. Hopefully the concepts I finalize will make ROM hacking more enjoyable.
     
  16. Tets

    Tets

    one rude dude Oldbie
    919
    96
    28
    You don't know how pleased I am that this is happening. Not to bag on SonEd2, but it'll be nice to have a new level editor out there.

    For my two cents, I want to see more versatile projects. Expanding on Alriightyman's suggestion, I propose options to mix and match level data formats. Instead of supporting only specific Sonic games, allow the possibility to individually change what format objects and rings are saved in and what chunk size is being used. Say I port the Sonic 3 ring manager to Sonic 2, I've taken care of all the code but the data itself needs to be converted as well. If Zone Builder can simply save the ring data in whatever format I want, the need for a conversion program at build time is eliminated.
     
  17. If there's feature suggestions--


    Multiple 16x16 tile collision select. Say I make a new chunk, and I want to set it all to solid, instead of doing it one by one as in SonED 2, how about a multi select (perhaps selecting individual tiles, say one in a corner, etc by holding CTRL, and if it's hold and drag it selects multiple tiles).


    Same can go with objects, CTRL, to move multiple .objects at the same time?


    Seriously though, I am so excited about this!
     
  18. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    Actually, as a suggestion, could you make a video showing this FLOW system in action? I'd like to see how it makes level editing more natural. Also, if you're interested, I can help test and fix bugs on Mac.
     
  19. saxman

    saxman

    Oldbie Tech Member
    I will probably support project files which will determine which format to save data in, and the project files could be customized to mix and match data formats for more advanced hacks that may change this. That's the way I envision it in my head anyway, but we'll see how it plays out in the actual development phase.


    That is a feature I'm in the process of getting working.


    I'll be putting out a video to show this off sometime in the near future, but not before I finish up a few more features of the program.
     
  20. Mr. Mash

    Mr. Mash

    All fanbases are awful Member
    1,440
    0
    0
    drawing
    Sold.

    This sounds really great, maybe once this is released I'll make a hack which I don't get sick of manually setting "Top solid", etc.
     
Thread Status:
Not open for further replies.