don't click here

Sonic Unleashed J2ME Source Code Findings

Discussion in 'General Sonic Discussion' started by Kilo, Apr 26, 2024.

  1. Kilo


    That inbetween sprite from S&K's title screen Tech Member
    S1 - Metal Sonic's Challenge, Sonic 1 Rev01 ASMX Disasm
    About 3 or 4 years ago Sonic Unleashed J2ME's source code leaked. But no one's really talked about the stuff in it, so I figured I would.
    Worth noting is that Unleashed J2ME is built off a Prince of Persia game (Not sure which one, Gameloft made like 10) so some data from that is also left over, and the source code's name goes by pallan whatever that has to do with Prince of Persia, I suppose.
    Let's look at some cool images. In _master_data/gfx/images there's 2 really interesting pieces.
    splash.png has a screenshot from Sonic 06's 2005 reveal trailer. Neat.
    Now this is what I'm really here for. This is an early render of one of Unleashed's promo art, specifically this one:
    The lighting is very different, and Wherehog's fur straight up isn't rendered!!! The logo is also very early, taking cues from Sonic 06, with the Unleashed part looking like it was made in like some basic presentation program.
    In _master_data/gfx/sprites the file sonic2.png shows that's Sonic's sprites were draw overs from Sonic 2/3 and they got horribly compressed in the process.

    Moving away from graphics. _master_data/text has a file called text.ods which can be opened with LibreOffice and has comments! Most of them regard formatting.
    Here, in the Polish translation it's noted that the word Obszar (Area) has been reduced to Obsz due to character limits.
    And the German translator says ok a lot.
    Speaking of German, apparently a bug is tied to the German version of the text that states "Congratulations you got the emerald!"

    Another document which wasn't intended for game use, but rather sound design lies in _master_data/sound under the name SonicUnleashed_Sound_Design_Document_V0.0.1.xls
    This lists all the game's sound effects, their extension, their description, and what mobile formats they'll play on.
    Some more interesting info's at the bottom of the file too.

    Now this isn't unused as much as it is cool, but Gameloft left in their own proprietary tools for their engine here called AuroraGT, which serves as a sprite and level editor.
    upload_2024-4-25_20-51-4.png upload_2024-4-25_20-52-23.png

    And that's just for the cool finds in the files. I've gotta snoop around the actual code to see if anything neat is hidden there. So I'll keep y'all updated.
    • Like Like x 13
    • Informative Informative x 7
    • List
  2. ashthedragon


    Sonic Paradise Researcher
    Sonic Paradise & Sonic Ages
    This is pretty cool. I've always been fond of this little game, dunno why,but I find it cute (those sprites are cute... at least.. I find them cute). The early render is a great surprise.
    Good job!
  3. aria


    day dawns Member
    This is really cool, thank you for posting this. Was a fantastic read.

    Also somehow never noticed the sprites were sonic 2/3 redraws, but seeing them in a sprite sheet makes it a lot more noticeable lol
  4. Captain L

    Captain L

    The guy who likes Shadow the Hedgehog Member
    Waiting for the coming of the Great White Hankerchief
    Funny that it's built on the framework of one of their Prince of Persia games, because those games and this are basically the only "dumb phone" games I've played. My exact words upon playing Unleashed mobile for the first time about a month ago were "because I can make this comparison, Unleashed mobile is nothing compared to the Prince of Persia mobile games". Given the time period, I'd assume it's Prince of Persia 2008, one of the better ones.

    I had no idea the source code leaked, but since it has, is there any chance someone could rebuild the game in Unity or something? It's the kind of game that really needs a more powerful engine, to get it running at a smooth frame rate, with music playing, and proper physics. I had to stop playing it because the version I downloaded just straight up had nonfunctional physics on rope swinging that made it impossible to finish.
  5. Kilo


    That inbetween sprite from S&K's title screen Tech Member
    S1 - Metal Sonic's Challenge, Sonic 1 Rev01 ASMX Disasm
    While not Unity because they've burnt the bridge with their userbase, I did take a crack at it in Godot.
    However, J2ME's source level files are very basic and leave some tiles unused. So I thought I'd clean them up to be more visually appealing.
    But alas I got sidetracked. And never completed the project as I often do.
    • Like Like x 6
    • Informative Informative x 1
    • List
  6. Pexs


    Otherwise known as Spex Member
    Did you ever end up posting this in a repo somewhere publicly? You might be able to crowdsource it.
  7. Kilo


    That inbetween sprite from S&K's title screen Tech Member
    S1 - Metal Sonic's Challenge, Sonic 1 Rev01 ASMX Disasm
    No I didn't but if there's interest in crowdsourcing it I would be down to revive it.
  8. Pexs


    Otherwise known as Spex Member
    Well, I can't guarantee I'd be a constant contributor, but the first thing I definitely did upon hearing it wasn't done was to see if there was somewhere it was posted - even if it ends up being mostly an undocumented holding place, seeing as it's in Godot people can definitely look at that.
    Last edited: Apr 28, 2024
  9. Kilo


    That inbetween sprite from S&K's title screen Tech Member
    S1 - Metal Sonic's Challenge, Sonic 1 Rev01 ASMX Disasm
    Port talk aside I should talk about some more findings.
    Chun-Nan and Mazuri were originally going to be Adabat and Shamar, as their files refer to them as jungle and middle_east instead of china and africa. There is an exception in that the music proper calls Chun-Nan 'china'

    readme.txt also provides information about the development environment used by Gameloft.
    They used Windows2000, although their tools seem to be compatible with Windows 10/11 so that's not an issue.
    Their JDK was Java 2 SDK 1.4.2_10, installed in C:\j2sdk1.4.2_10. It can be downloaded from here.
    They also used a J2ME SDK called WTK. Which stands for Wireless Toolkit. Frankly, I'm too tired right now to find 2.0, which is the version Gameloft used. But the newest version seems to be 2.5.2_01, and I'm suuuuure that it should work fine, which that can be found here. And it's installed in C:\WTK20
    They also used Python 2.3, installed in C:\Python23.
    The JDK and Python were also used in the environment variables. For whatever that's worth.

    There's also a release_note.txt. It really only covers what was done in May 2009. Interestingly, despite being made after the console versions, and despite the rest of the files referring to the Wherehog as Wherehog, this changelog calls him Dark Sonic, which is what Wherehog was called in early versions of Unleashed. Here's the log:
    Code (Text):
    1. 2009-05-23
    2. - add a new level--zone 3-1
    3. - add a new boss level-- zone 3-2
    4. - update the sound design document, send the sound design requirement to Audio Team
    5. - optimize some sprites of the enemies, include robot,bug and fish.
    6. 2009-05-12
    7. - use the new sound package
    8. - fix bug 2429776 2447082 2448747 and all crash bug on bug base
    9. - update dark sonic and the actor ball ai
    10. - update actor enemy creator detect range
    11. - add a new levevl--zone 3-2
    12. - update zone 3-1(add a new gameplay line)
    13. - update greece level 1 and 2. add the time of air bubble
    14. - Update a new kind of enemy (iron ball in zone 3-2)
    15. 2009-05-14
    16. - fix some phy bug
    17. - fix dark sonic throw fist bug
    18. - fix all crash bug
    19. - fix z3 boss disappear bug
    20. - upadte the level 3(zone 2-1),level 7 (zone3-2)
    21. - remove the ball, because the memery don't allow to add this gameplay.
    22. - optimize some animation, optimize the modules and frames in the sprite.
    23. - improve some FPS for greece level
    24. 2009-05-17
    25. - fix check point bug
    26. - add the stone system
    27. - add chip in cinematic
    28. - update time attack mode
    29. - add the story text at beginning of every level
    30. - update the whole story brief before loading every level
    31. - fixed some gameplay bugs.
    32. 2009-05-19
    33. - fix check point bug
    34. - fix dark sonic climb bug
    35. - fix all crash bug
    36. - fix some interface bug
    37. - change the size of the text
    38. - update the design of the air bubble
    39. - update the name list of credit
    40. - fixed smoe gameplay bugs
    41. 2009-05-20
    42. - fix some collide death phy bug
    43. - fix dark sonic attack bug
    44. - reduce the size of the heap
    45. - improve the interface and menu
    46. - fixed some display bug about the multi-language
    47. 2009-05-21
    48. - fix freeze bug
    49. - fix interface bug
    50. - fix zip name midlet description bug
    51. - update new text, improve the help and stroy text
    52. - fix a segment bug.
    53. - reduce some map tiles for saving the memory.
    54. 2009-05-22
    55. - fix freeze bug
    56. - fix some game play bug
    57. - modified the about display
    58. - improve some menu sprite
    59. - fix some display bug about the multi-language
    60. - improve some new text
    61. 2009-05-22
    62. -fix text overlap bug
    63. -fix some game play bug
    64. -improve the interface
    65. -divide the multi-language about the interface,level end icon and enemy creator icon
    66. -update the map of zone3-3
    67. -replace the new sound package from aduio team.

    You may notice that the English in these changelogs are pretty bad. This is because, as readme pointed out, the studio that developed Unleashed J2ME was the one in Hyderabad, India.
    Last edited: Apr 29, 2024
    • Informative Informative x 2
    • List