HelloOO7 / BounceTales

Decompilation of Rovio's Bounce Tales (2008) video game for Nokia mobile devices.
28 stars 1 forks source link

The choice of IDE #14

Closed veso266 closed 2 months ago

veso266 commented 3 months ago

Hi there, let me first thank you for Bounce, I still find it hard to believe how you managed to turn the obfuscacated mess into something readable

I tried tackling some game I realy liked as well (Aqua dig): https://phoneky.com/games/?id=j4j9090 (at first I just wanted to recreate the leaderboard server that is unfortionatly long gone), since I never actualy did Java mobile development I didn't even knew where to start with a hello world.

Since I already used Intelij Idea for plain Java development I went with that (version 2020) I found a J2ME plugin for it: https://plugins.jetbrains.com/plugin/12318-j2me and after installing it and installing all the prerequisites (sun_java_wireless_toolkit-2.5.2_01-win.exe and 32bit jdk 1.8 (I did try 1.4 but for some reason nothing wanted to compile with it) I still wasn't able to make InteliJ Idea work with this accient sun emulator and apperently I wasn't alone: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206878335-J2ME-Development-Howto

so after swiching to a different emulator: https://github.com/tisoft/microemu/tree/master/microemulator writing MANIFEST.MF by hand (because Idea for some reason is not able to generate it) and writing a run bat file, I was finaly able to make the Hello World work (here is a helloWorld project, incase u need it: HelloJ2ME.zip

slika

everything seamed perfect, I got normal errors slika

and j2me apis seamed to be recognized, although I still coudn't debug

but the didnt like the fact I had to write manifest by hand so I read somewhere that I could also use Maven and that it would generate all this automaticly

Well after I found an old example: https://github.com/marbu/hello-me/tree/master and modified it a little (so it would execute the applet with run button: HelloJ2MEMaven.zip

it does kinda work slika

but I always have to delete target directory before I build again, because if I don't it gets confused and points errors where there are none

also if u make a runtime mistake, good luck finding it in code, because the onlything you get in return is this (I just wanted to print screen resolution to the screen :smile: ) slika

I didn't even try to make it work with Nokia S40 5th Edition SDK because I would probably be even in more pain

so my question is, why did you choose to use NetBeans for this, was it because u were used to it or because its just the best IDE to use if u want to develop or modify J2ME apps?

Thanks for Anwsering and Best Regards

PS: I know this is an issue tracker and not a support forum, but sadly nowadays nobody cares about J2ME so not even sure if there even is a support forum for this stuff anymore :smile:

HelloOO7 commented 2 months ago

NetBeans was the IDE that was widely used at the time when J2ME was at its peak and was also most likely the IDE that was used for Bounce Tales by Rovio. Despite the new versions having dropped support for J2ME, NB 8.2 is still usable and has native compatibility with the entire J2ME toolset including the Nokia SDKs, making it a clear choice for recreating the original build process. Since Windows is generally very nice about backwards compatibility, it was the path of least resistance to use the original toolkits instead of attempting to handle it with something modern.

I also just generally prefer it to the JetBrains IDEs thanks to it being way less sluggish and bloated, and the fact that it is fully open-source. The only thing that is kind of a bummer is the lack of GitHub Copilot support, but I've got MS to blame for that.

I apologize for the late response, I no longer watch this repo very often.