Munkiki's Castles (found Nokia 3410 mobile game; 2002): Difference between revisions

From The Lost Media Wiki
Jump to: navigation, search
m (more suitable word for what i meant)
(37 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{InfoboxLost
{{InfoboxFound
|title=<center>Munkiki's Castles</center>
|title=<center>Munkiki's Castles</center>
|image=Munkiki's Castles title.gif
|image=Munkiki's Castles title.gif
|imagecaption=Title screen of Munkiki's Castles.
|imagecaption=Title screen of ''Munkiki's Castles''.
|status=<span style="color:red;">'''Inaccessible'''</span>
|status=<span style="color:green;">'''Found'''</span>
|datefound=10 Jul 2017 (Game)/29 May 2018 (M3D Class)
|foundby=Qwerty36078 (Game)/[https://github.com/recompileorg David Richardson aka recompileorg] (M3D Class)
}}
}}
'''''Munkiki's Castles''''' is a mobile game released in 2002, exclusively for the Nokia 3410 via the Club Nokia service. It was one of the first ever mobile games to feature 3D graphics and also one of the first ever mobile games released for the Java ME platform, albeit only for the Nokia 3410. The game features a character named Munkiki wandering around the 3D landscape by pushing and destroying the blocks to try and collect items to finish the levels.
'''''Munkiki's Castles''''' is a mobile game released in 2002, exclusively for the Nokia 3410 via the Club Nokia service. It was one of the first ever mobile games to feature 3D graphics and also one of the first ever mobile games released for the Java ME platform, albeit only for the Nokia 3410. The game features a character named Munkiki wandering around the 3D landscape by pushing and destroying the blocks to try and collect items to finish the levels.


Technically, it was one of the first ever mobile games to feature 3D graphics, one year before OpenGL ES was standardized. Because of the limitations of the original Java ME (known as J2ME 1.0), Nick Reed and Nick Slaven developed a proprietary API for this game, exclusively for the Nokia 3410 mobile phone, which allows rudimentary 3D graphics rendered on a black and white cellphone display.
Technically, it was one of the first ever mobile games to feature 3D graphics, one year before OpenGL ES was standardized. Because of the limitations of the original Java ME (known as J2ME 1.0), Nick Reed and Nick Slaven had to develop a proprietary API for this game, exclusively for the Nokia 3410 mobile phone, which allows rudimentary 3D graphics rendered on a black and white cellphone display.


The Club Nokia service has been shut down and only a very few Nokia 3410 handsets do have this game installed. Two videos of this game, as well as screenshots for this game has been surfaced since on the Internet.  
The Club Nokia service had already been shut down and only a very few Nokia 3410 handsets do have this game installed. Two videos of this game, as well as screenshots for this game, had been surfaced on the Internet prior to the discovery of the .jar executable file of the game and the M3D class file on July 10th, 2017, and on May 29th, 2018, respectively.  


On July 10th 2017 [http://lostmediawiki.com/User:Qwerty36078 Qwerty36078] allegedly managed to get the [https://mega.nz/#!EdETTCKZ!R0U9T4CxpZlILpX_PNOigGqenN-GDhbvmuHhCRmBoQQ .jar executable]<ref>[http://lostmediawiki.com/Munkiki%27s_Castles_(inaccessible_mobile_game;_2002)#comment-12869 ''Qwerty36078'''s comment featuring the link to the game @ LMW] Retrieved 20 June 2017</ref>. Despite this, currently there is no way to run this game in any form other than on the Nokia 3410 with the specific firmware installed. For this reason it is difficult to test whether or not that's a hoax. Further explanation to this is written down in the next section.
==Availability==
On July 10th, 2017, Lost Media Wiki user Qwerty36078 managed to get the [https://mega.nz/#!EdETTCKZ!R0U9T4CxpZlILpX_PNOigGqenN-GDhbvmuHhCRmBoQQ .jar executable].<ref>[https://lostmediawiki.com/File:Qwerty36078comment.PNG Qwerty36078's comment featuring the link to the game @ LMW] Retrieved 20 Jul '17</ref> Because the game is completely dependent on a specific set of Nokia 3410 firmware, it was previously thought that there was no way to run it in any form.  


== Attempting to run and/or emulate this game ==
On May 29th, 2018, an emulator called [https://github.com/hex007/freej2me FreeJ2ME] released an update featuring all the software required to emulate ''Munkiki's Castles''. Due to the unique way FreeJ2ME handles errors, recompileorg managed to reverse engineer the M3D class.<ref>[https://www.reddit.com/r/emulation/comments/8iqq5k/trying_to_emulate_the_first_ever_3d_java_game/dzxdoqw/ recompileorg's comment on how he was able to reverse engineer the M3D class.] Retrieved 28 Jul '18</ref> Unfortunately, the emulator comes uncompiled and requires compiling on a Linux machine using instructions that could be found on the [https://retropie.org.uk/forum/topic/13084/freej2me-support-thread emulator's Discussion/Support thread]. Luckily the pre-compiled and slightly outdated (yet capable of running ''Munkiki's Castles'') builds of the emulator can be found on [https://sourceforge.net/projects/freej2me/ FreeJ2ME Sourceforge page maintained by recompileorg].
There has been done a lot of research towards Munkiki's Castles and unfortunately, the vast majority of its is of no use. However, some of the research results are worth sharing.


There are many different emulators present for PC, but on every emulator, including KEmulator 1.00, [https://sourceforge.net/projects/microemulator/ MicroEmulator] and even the native [https://www.youtube.com/watch?v=kYmIUyjV6Xk Nokia 3410 SDK], fails to run this game. This is because the proprietary Nokia 3D handling class "''com/nokia/mid/m3d/M3D''" is missing in both the game and the emulator libraries. In fact, it is missing everywhere on the Internet and thus can be considered as lost media too. However, since there practically no information about this class on the Internet, it was likely only used on this game thus information about this class would only be relevant in regards to this article.
Previous research on the game and specific firmware set is featured down in the next section.


=== Search effort on the M3D class ===
===Attempts to Run/Emulate===
Before we go, it is important to differentiate between the terms used in this section.
Previously, lots of research has been made on ''Munkiki's Castles'' and unfortunately, the vast majority of it is of no use; however, some of the research results are worth sharing.
* M3D(O) - M3D used in Nokia 3410. It contains a class of "com/nokia/mid/m3d/M3D"
* M3D(N) - M3D used in the latter budget phones. Most likely a newer version of M3D(O) It does have many files, however, "com/nokia/mid/m3d/M3D" isn't present there
* M3G - A newer version of M3D(N) used in the late Nokia phones such as Nokia X3. Also known as JSR184. Again, "com/nokia/mid/m3d/M3D" isn't present there


Here are some bits and pieces that can help run the game.
There are many different emulators present for PC, but on every emulator, including KEmulator 1.00, [https://sourceforge.net/projects/microemulator/ MicroEmulator] and even the native [https://mega.nz/#!NqxxFZRI!7MhjRjagEOPjNBATZWwzS9OqoLmKbgXZ-6tLZKBrdNY Nokia 3410 SDK] fails to run this game. This is because the proprietary Nokia 3D handling class "''com/nokia/mid/m3d/M3D''" is missing in both the game and the emulator libraries. In fact, it was previously thought to be missing on the Internet completely. Due to the lack of information on this class, it can be speculated that the M3D class was only used in ''Munkiki's Castles''.


1. M3D was greatly described in [https://link.springer.com/chapter/10.1007/11558651_7 this scholar article]. It is unknown if the topic is related to M3D(N) or M3D(O).
====Teromene's Attempt on M3D(O) Class====
[[File:Screenshot_20180513-1544241.png|right|thumb|230px|''Munkiki's Castles'' running on teromene's M3D(O) class. While the interface and the player are drawn correctly, the ground objects and the notes are not visible.]]


2. M3D(N) is described [http://marzec.michal.free.fr/m3g/javax/microedition/m3d/package-summary.html on this documentation page] , and
A person nicknamed teromene attempted to create an M3D class reproduction. He successfully managed to emulate much of the in-game mechanics, however, the game itself is not in a playable state due to many other M3D objects being yet unemulated. The most recent known version (as for July 28th, 2018) can be downloaded [https://mega.nz/#!Q5thhaAD!f28IqO9aCYQCnSc57hXU052zV84UoMeQf2tIKiwPT0E here] or [https://cdn.discordapp.com/attachments/445212413378428949/447485061550309386/M3D.java here]


3. M3G is described on [http://www.it.uc3m.es/~celeste/docencia/j2me/docs/api/m3g/javax/microedition/m3g/package-summary.html this documentation page].
====Running on MAME====
Among thousands of other architectures supported by MAME, various old Nokia phones are also covered, including Nokia 3410. However, as the MAME's official Nokia driver states, the "machine is skeleton",<ref>[https://github.com/mamedev/mame/blob/4c0c840f96030685216ad1ff072fba8dd4f3eeb6/src/mame/drivers/nokia_3310.cpp#L903 MAME's status on Nokia 3410 emulation] Retrieved 01 Aug '18</ref> hence Nokia 3410 emulation on MAME does not work.<ref>[http://wiki.mamedev.org/index.php/Non-Working_Drivers Non-Working Drivers - MAMEDEV Wiki] Retrieved 01 Aug '18</ref> In practice, when trying to emulate on MAME, getting past a static blank Nokia 3410 screen is not currently possible.


4. There is a thread on a .jar game executable that appears to contain M3D(N) from [http://forum.fonzo.ru/index.php?s=31115b6a8ccb0d8642a52b960bbe26b0&showtopic=65271&st=15 a Russian forum]. However, there appears to be no way to download the subjected game from there.
====Search Effort on the M3D Class====
Before we go, it is important to differentiate between the terms used in this section.
* M3D(O) - A library called M3D [O here stands for old, M3D(O) itself is just a nickname] used in Nokia 3410. It contains a class of "com/nokia/mid/m3d/M3D"
* M3D(N) - A library also called M3D [N here stands for new, M3D(N) itself is just a nickname] used in the latter budget phones. Most likely a newer version of M3D(O) It does have many files; however, "com/nokia/mid/m3d/M3D" isn't present there
* M3G - A newer version of M3D(N) used in the late Nokia phones such as Nokia X3. Also known as JSR184. Again, "com/nokia/mid/m3d/M3D" isn't present there


5. M3D(O) and M3D(N) are nowhere to be downloaded from, however, M3G library can be downloaded [http://java2s.com/Code/Jar/j/Downloadjsr184jar.htm here]
Here are some bits and pieces that can help run the game.


Although more information could be found in regards to this library, for the time being, that is everything that is known at the moment.
* M3D was greatly described in [https://link.springer.com/chapter/10.1007/11558651_7 this scholar article]. It is unknown if the topic is related to M3D(N) or M3D(O).


=== Running this game on a physical phone ===
* M3D(N) is described [http://marzec.michal.free.fr/m3g/javax/microedition/m3d/package-summary.html on this documentation page], and


Many Discord members of the LMW community believe the found .jar executable can be run on physical phones. Although many of the non-touchscreen devices do run Java games very well, this game is certainly problematic primarily because, again, it uses the proprietary 3D engine class developed by Nokia. on which there is practically no information. In other words, to run this game, the phone is required to contain the "com/nokia/mid/m3d/M3D" class, which appears to have been used only on Nokia 3410. And to make things worse, the conducted by '''Dark_Timur''' brief undocumented forensic analysis of the Nokia 3410 firmware files available on the Internet shows that not every firmware of Nokia 3410 references this class, thus running this game may fail on even the game-native Nokia device. And the best example for this would be the [https://www.youtube.com/watch?v=kYmIUyjV6Xk Nokia 3410 SDK] that fails to run this game although it natively emulates the Nokia 3410 firmware.
* M3G is described on [http://www.it.uc3m.es/~celeste/docencia/j2me/docs/api/m3g/javax/microedition/m3g/package-summary.html this documentation page].


== Screenshots ==
* M3D(O) is present in all builds of FreeJ2ME from May 29th, 2018, onward. Despite this, M3D(N) is nowhere to be found on the internet. The M3G library can be downloaded [https://web.archive.org/web/20180211142049/http://www.java2s.com/Code/JarDownload/jsr184/jsr184.jar.zip here]


<gallery mode=packed heights=120px>
====Running on a Phone====
File:Munkiki_01.gif|
Many Discord members of the Lost Media Wiki community believe the found .jar executable can be run on physical phones. Although many of the non-touchscreen devices do run Java games very well, this game is certainly problematic primarily because, again, it uses the proprietary 3D engine class developed by Nokia. on which there is practically no information. In other words, to run this game, the phone is required to contain the "com/nokia/mid/m3d/M3D" class, which appears to have been used only on Nokia 3410. And to make things worse, a brief analysis of the Nokia 3410 firmware files available on the Internet shows that not every firmware of Nokia 3410 references this class, thus running this game may fail on even the game-native Nokia device. And the best example for this would be the [https://mega.nz/#!NqxxFZRI!7MhjRjagEOPjNBATZWwzS9OqoLmKbgXZ-6tLZKBrdNY Nokia 3410 SDK] that fails to run this game although it natively emulates the Nokia 3410 firmware.
File:Munkiki_02.gif|
 
File:Munkiki_03.gif|
==Gallery==
File:Munkiki_04.gif|
===In-Game Screenshots===
File:Munkiki_05.gif|
<gallery mode=packed heights=125px>
File:Munkiki_06.gif|
File:Munkiki_01.gif
File:Munkiki_07.gif|
File:Munkiki_02.gif
File:Munkiki_08.gif|
File:Munkiki_03.gif
File:Munkiki_09.gif|
File:Munkiki_04.gif
File:Munkiki_10.gif|
File:Munkiki_05.gif
File:Munkiki_11.gif|
File:Munkiki_06.gif
File:Munkiki_12.gif|
File:Munkiki_07.gif
File:Munkiki_13.gif|
File:Munkiki_08.gif
File:Munkiki_15.gif|
File:Munkiki_09.gif
File:Munkiki_16.gif|
File:Munkiki_10.gif
File:Munkiki_17.gif|
File:Munkiki_11.gif
File:Munkiki_18.gif|
File:Munkiki_12.gif
File:Munkiki_19.gif|
File:Munkiki_13.gif
File:Munkiki_20.gif|
File:Munkiki_15.gif
File:Munkiki_16.gif
File:Munkiki_17.gif
File:Munkiki_18.gif
File:Munkiki_19.gif
File:Munkiki_20.gif
File:Munkiki_21.jpg
File:Munkiki_22.jpg
</gallery>
</gallery>
===Videos===
{{Video|perrow  =3
  |service1    =youtube
  |id1          =R3DzUuyfaeo
  |description1 =morphzero's gameplay of ''Munkiki's Castles'' emulated with the recompileorg's M3D class.
  |service2    =youtube
  |id2          =SnxkqO3ZFww
  |description2 =Gameplay footage.
  |service3    =youtube
  |id3          =-eLcZuqYMhA
  |description3 =A victory dance animation.
}}
==External Links==
*[https://mega.nz/#!NqxxFZRI!7MhjRjagEOPjNBATZWwzS9OqoLmKbgXZ-6tLZKBrdNY Nokia 3410 SDK (clean of viruses).] Retrieved 27 Jun '19
*[https://1drv.ms/u/s!Al7InYboTV1r1Ag28TOVHqeZCLHb Nokia S40 SDK 3rd edition.] Retrieved 27 Jun '19
*[https://mega.nz/#!0qpGxLya!P0C5ncKDTlTHMChCzBDj1jsEvBLY_ZGsS01q2ET6020 Nokia 3410 "virgin" EEPRom.] Retrieved 27 Jun '19
*[https://www.emuparadise.me/M.A.M.E._-_Multiple_Arcade_Machine_Emulator_ROMs/Nokia_3410/183953 Nokia 3410 MAME ROM.] Retrieved 27 Jun '19
*[https://mega.nz/#!Q5thhaAD!f28IqO9aCYQCnSc57hXU052zV84UoMeQf2tIKiwPT0E Teromene's M3D class (as for July 28, 2018).] Retrieved 27 Jun '19
*[https://cdn.discordapp.com/attachments/445212413378428949/447485061550309386/M3D.java Teromene's M3D class (as for July 28, 2018; mirror).] Retrieved 27 Jun '19
*[https://sourceforge.net/projects/freej2me/ FreeJ2ME Sourceforge download page.] Retrieved 27 Jun '19
*[https://mega.nz/#!A8cRkCRS!5XsAelrldz8NULDpsDCnem6cajOL-PYdRzcBOdMgXPk The July 24th, 2018 build of FreeJ2ME.] Retrieved 27 Jun '19


==References==
{{reflist}}


 
[[Category:Found media]]
==Videos==
 
{| class="wikitable" style="margin: auto;"
|- style="vertical-align:top;"
| {{#ev:youtube|https://m.youtube.com/watch?v=SnxkqO3ZFww|320x240|center|Gameplay Footage}}
| {{#ev:youtube|https://www.youtube.com/watch?v=-eLcZuqYMhA|320x240|center|A victory dance animation}}
|}
 
== References ==
<references/>
 
[[Category:Lost video games]]

Revision as of 21:55, 15 May 2020

Munkiki's Castles title.gif

Title screen of Munkiki's Castles.

Status: Found

Date found: 10 Jul 2017 (Game)/29 May 2018 (M3D Class)

Found by: Qwerty36078 (Game)/David Richardson aka recompileorg (M3D Class)

Munkiki's Castles is a mobile game released in 2002, exclusively for the Nokia 3410 via the Club Nokia service. It was one of the first ever mobile games to feature 3D graphics and also one of the first ever mobile games released for the Java ME platform, albeit only for the Nokia 3410. The game features a character named Munkiki wandering around the 3D landscape by pushing and destroying the blocks to try and collect items to finish the levels.

Technically, it was one of the first ever mobile games to feature 3D graphics, one year before OpenGL ES was standardized. Because of the limitations of the original Java ME (known as J2ME 1.0), Nick Reed and Nick Slaven had to develop a proprietary API for this game, exclusively for the Nokia 3410 mobile phone, which allows rudimentary 3D graphics rendered on a black and white cellphone display.

The Club Nokia service had already been shut down and only a very few Nokia 3410 handsets do have this game installed. Two videos of this game, as well as screenshots for this game, had been surfaced on the Internet prior to the discovery of the .jar executable file of the game and the M3D class file on July 10th, 2017, and on May 29th, 2018, respectively.

Availability

On July 10th, 2017, Lost Media Wiki user Qwerty36078 managed to get the .jar executable.[1] Because the game is completely dependent on a specific set of Nokia 3410 firmware, it was previously thought that there was no way to run it in any form.

On May 29th, 2018, an emulator called FreeJ2ME released an update featuring all the software required to emulate Munkiki's Castles. Due to the unique way FreeJ2ME handles errors, recompileorg managed to reverse engineer the M3D class.[2] Unfortunately, the emulator comes uncompiled and requires compiling on a Linux machine using instructions that could be found on the emulator's Discussion/Support thread. Luckily the pre-compiled and slightly outdated (yet capable of running Munkiki's Castles) builds of the emulator can be found on FreeJ2ME Sourceforge page maintained by recompileorg.

Previous research on the game and specific firmware set is featured down in the next section.

Attempts to Run/Emulate

Previously, lots of research has been made on Munkiki's Castles and unfortunately, the vast majority of it is of no use; however, some of the research results are worth sharing.

There are many different emulators present for PC, but on every emulator, including KEmulator 1.00, MicroEmulator and even the native Nokia 3410 SDK fails to run this game. This is because the proprietary Nokia 3D handling class "com/nokia/mid/m3d/M3D" is missing in both the game and the emulator libraries. In fact, it was previously thought to be missing on the Internet completely. Due to the lack of information on this class, it can be speculated that the M3D class was only used in Munkiki's Castles.

Teromene's Attempt on M3D(O) Class

Munkiki's Castles running on teromene's M3D(O) class. While the interface and the player are drawn correctly, the ground objects and the notes are not visible.

A person nicknamed teromene attempted to create an M3D class reproduction. He successfully managed to emulate much of the in-game mechanics, however, the game itself is not in a playable state due to many other M3D objects being yet unemulated. The most recent known version (as for July 28th, 2018) can be downloaded here or here

Running on MAME

Among thousands of other architectures supported by MAME, various old Nokia phones are also covered, including Nokia 3410. However, as the MAME's official Nokia driver states, the "machine is skeleton",[3] hence Nokia 3410 emulation on MAME does not work.[4] In practice, when trying to emulate on MAME, getting past a static blank Nokia 3410 screen is not currently possible.

Search Effort on the M3D Class

Before we go, it is important to differentiate between the terms used in this section.

  • M3D(O) - A library called M3D [O here stands for old, M3D(O) itself is just a nickname] used in Nokia 3410. It contains a class of "com/nokia/mid/m3d/M3D"
  • M3D(N) - A library also called M3D [N here stands for new, M3D(N) itself is just a nickname] used in the latter budget phones. Most likely a newer version of M3D(O) It does have many files; however, "com/nokia/mid/m3d/M3D" isn't present there
  • M3G - A newer version of M3D(N) used in the late Nokia phones such as Nokia X3. Also known as JSR184. Again, "com/nokia/mid/m3d/M3D" isn't present there

Here are some bits and pieces that can help run the game.

  • M3D was greatly described in this scholar article. It is unknown if the topic is related to M3D(N) or M3D(O).
  • M3D(O) is present in all builds of FreeJ2ME from May 29th, 2018, onward. Despite this, M3D(N) is nowhere to be found on the internet. The M3G library can be downloaded here

Running on a Phone

Many Discord members of the Lost Media Wiki community believe the found .jar executable can be run on physical phones. Although many of the non-touchscreen devices do run Java games very well, this game is certainly problematic primarily because, again, it uses the proprietary 3D engine class developed by Nokia. on which there is practically no information. In other words, to run this game, the phone is required to contain the "com/nokia/mid/m3d/M3D" class, which appears to have been used only on Nokia 3410. And to make things worse, a brief analysis of the Nokia 3410 firmware files available on the Internet shows that not every firmware of Nokia 3410 references this class, thus running this game may fail on even the game-native Nokia device. And the best example for this would be the Nokia 3410 SDK that fails to run this game although it natively emulates the Nokia 3410 firmware.

Gallery

In-Game Screenshots

Videos

morphzero's gameplay of Munkiki's Castles emulated with the recompileorg's M3D class.

Gameplay footage.

A victory dance animation.

External Links

References