don't click here

Making a James Pond 3 level editor

Discussion in 'Engineering & Reverse Engineering' started by saxman, Sep 6, 2023.

  1. saxman


    Oldbie Tech Member
    Way back in 2010, I released a bunch of James Pond 3 hacking notes I wrote, along with an open-source level viewer called "CHEESE!". (Check out for these downloads.) My hope was that someone who loved the game as much as I did would take interest in what I put together and would take it a step further to actually create a level editor for the game. It's now 2023, and there's *still* no level editor for James Pond 3.

    You may also be aware of a level editor I created for Sonic 2 HD around the same time that I adapted into an unreleased level editor for the Sonic 2 disassembly called "Zone Builder". The framework I created to make the level editor is called "FLOW".

    I've had the FLOW source code sitting around for a while now, and I decided to adapt it to work with James Pond 3. It's very early yet, so it can't do much. But I got the darn thing running, and so far the results look promising. Assuming time permits, I hope to adapt the entirety of FLOW to work with the game. Some function rewrites are required since JP3 doesn't use one standard chunk size unlike all the Sonic games.

    Anyway, I'll continue to update this thread as I get more of it working. In the meantime, here's a couple screenshots of the chunk editor:


  2. Overlord


    Now playable in Smash Bros Ultimate Moderator
    Long-term happiness
    It looks good! I've vague interest in maybe using this down the line depending on how insane the levels are to edit but do not have anywhere near the skill to pull the coding off. I've owned Pond 3 since the late 90s.
  3. saxman


    Oldbie Tech Member
    Here's the level editor portion of the program so far. Very buggy at the moment, but you can at least see the layout!


  4. saxman


    Oldbie Tech Member
    I can now select tiles and move them around (currently X axis only). The hard part has been making this work with FLOW's zooming functionality, but I managed to make everything work as intended.

    Tasks currently on my to-do list:
    * Insertion and deletion of tiles.
    * Changing the selected tile.
    * Moving tiles across the Y axis (a bit more involved due to how the layout is formatted in JP3).
    * Moving selected tile in front or behind other tiles.
    * Choosing between multiple tiles under the mouse cursor for selection.

  5. saxman


    Oldbie Tech Member
    I have been successful in implementing everything on my to-do list from the previous post. It is now possible to completely recreate the landscape of any map in the game. Though there's much more to a map than the landscape, this could be argued to be the "identity" of a level. So I think it's a good solid foundation on which to do other work on this tool.

    I'm thinking next of getting the in-level chunk editor working. The code is already there, but like everything else, it was designed for a Sonic game. So rewriting some of that code will be necessary.

    Anyway, I'm attaching two screenshots. The first one shows me creating new stuff in an existing map. The second one is just an interesting thing I found where it looks like the level designer redid a portion of the map, moved the old portion out into the middle of nowhere, and just never removed it.


    (Thumbnail: click to enlarge)
  6. Bobblen


    Always nice to see new games get the full level editor treatment. Means you can find out all the secret bits you missed back in the day, including the always interesting out of bounds stuff. Nice work!
    • Like Like x 1
    • Agree Agree x 1
    • List