Presita el Usona Esperantisto № 2026:1
Tradukado de NES-videoludoj al Esperanto
La Nintendo Entertainment System (NES) estis unu el la plej venditaj ludkonzoloj dum sia tempo kaj ĝi multe kontribuis al la revivigo de la usona ludindustrio post la Videoluda Krizo en 1983. Per ludoj kun famaj herooj kiel Mario kaj Link, la NES kaptis la imagojn de ludantoj tra la mondo. Tamen, malgraŭ ĝia tutmonda allogo, multaj el ĝiaj ludoj estis eldonitaj nur en la angla aŭ la japana.
La apero de personaj komputiloj en la 1980-aj kaj 1990-aj jaroj malfermis novan vojon al esplorado de videoludoj. Tio ebligis praktikon de nova hobio, nomata romhakado, en kiu kodumuloj strebas kompreni la ludan funkciadon kaj modifas ĝian enhavon per siaj propraj ŝanĝoj. Ekzemple, ili anstataŭigas rolulojn, kreas novajn nivelojn, eĉ tradukas la ludon, por ke ĝi estu pli vaste alirebla.
Ĉar mi kreskis dum la epoko de NES, mi tenas fortan nostalgion pri ĝi. Al mi plaĉas ankaŭ uzi Esperanton en mia ĉiutaga vivo, do mi ekpensis, kial ne ludi la videoludojn en Esperanto? Mi trovis kelkajn jam tradukitajn ludojn, sed ili ne estis plene tradukitaj aŭ enhavis erarojn. Do, mi baldaŭ trovis min en mia propra aventuro, tradukante la videoludojn, kiujn mi plej ŝatis.
Defioj de romhakado
Ke neniu povas legi la originalan programkodon, kiun verkis la ludprogramistoj, estas la plej granda defio de romhakado. Sen tiu fontkodo, oni devas lerni kiel la ludo funkcias per analizo de la binaraj datumoj de du ROM-blatoj (nurlegebla memoro) en la ludkartoĉo. La program-blato PRG ROM enhavas programajn instrukciojn kaj datumojn, kaj la grafik-blato CHR ROM enhavas grafikaĵojn por la ludo, inkluzive de literoj kaj ciferoj. La eltira procezo kreas unu dosieron, kombinante la datumojn de ambaŭ blatoj, kiun oni povas legi kaj redakti per heksa redaktilo.
Eltiri nurlegeblajn datumojn mem ne estas kontraŭleĝa ago; tamen, la datumoj estas kopirajte protektitaj, kaj tial oni devas agi prudente. La koduma komunumo tre atentas pri tio. Por eviti jurajn riskojn, kodumuloj kutime disvastigas siajn ŝanĝojn kiel flikdosierojn. Tiuj flikoj enhavas nur la modifojn, ne la tutan ludkodon, kaj evitas la disvastigon de kopirajtitaj materialoj.
Por ludi la modifitan version, ludantoj devas apliki la flikdosieron al kopio de la originalaj ROM-datumoj. Poste, ili povas ludi ĝin aŭ per imitilo en komputilo aŭ registri ĝin al kartoĉo por ludado per konzolo. Ekzistas retejoj, kiuj gastigas elŝuteblajn ludajn ROM-datumojn, sed ili enhavas leĝajn riskojn. Mi elŝutas datumojn nur de videoludoj, kiujn mi jam posedas kaj el kiuj mi povas mem eltiri ties datumojn per la taŭga aparato.
Plia defio en romhakado estas limigita spaco. Blatoj povas enhavi nur specifan kvanton da datumoj, kaj la originalaj programistoj lerte uzis la disponeblan spacon maksimume. Kodumuloj devas labori ene de ĉi tiu limigo, kaj plie kun la limoj truditaj de la jam ekzistanta datumaro. Ekzemple, se mankas sufiĉa spaco en la PRG por aldoni grafikaĵojn de la supersignohavaj esperantaj literoj, necesas anstataŭigi tiujn per aliaj datumoj. Ekzemple, en simplaj videoludoj kiel Super Mario Bros, mi povis anstataŭigi literojn, kiuj ne aperas en la ludo. Sed en ludoj kiel Paperboy, en kiu mi deziris konservi la tutan alfabeton, ĉio fariĝas pli komplika. Eĉ post kiam mi anstataŭigis la literojn Q, W, X, kaj Y, mi ankoraŭ bezonis trovi pli da spaco por la ceteraj literoj. Spaco ankaŭ influas la tradukitan tekston; se tradukaĵo estas pli longa ol la originala teksto, oni devas prirabi liberan spacon de ie alie. Ĉi tio estas delikata tasko, kaj eraroj povas aŭ difekti gravajn partojn de la ludkodon aŭ kaŭzi misigon de memorlokoj (memory misalignments) kaj paneigi la ludon.
Metiaj iloj de romhakaj kodumuloj
La plej grava ilo por romhakaj projektoj estas fidinda imitilo, aŭ emulilo. Emulilo estas programo, kiu imitas ludkonzolon en via komputilo. Ĝi ofte provizas specialajn funkciojn, ekzemple konservitajn statojn — kiuj ebligas konservi la lud-progreson kaj facile reveni al iu specifa punkto en la ludo — kaj erarserĉilon, kiu helpas identigi specifajn datumojn en la sistema memoro dum ludado, kiel ekzemple la nombron de vivoj aŭ la aktualan ludnivelon.
Gravas ankaŭ bonfunkcia heksa redaktilo. Tiu redaktilo similas al tekstredaktilo/verkilo, sed ĝi manipulas binarajn datumojn. En heksa redaktilo, ROM-datumoj aperas kiel numeroj kaj literoj, kiuj reprezentas mikson de instrukcioj por la ĉefprocesoro (CPU) kaj memoraj datumoj. Kodumuloj identigas la reprezentadon de ludaj elementoj por kompreni kaj modifi ilin. Ofte uzata metodo por kodigi tekston baziĝas sur la pozicioj de litergrafikaĵoj en la grafik-blato. Ekzemple, la vico “A B C” povus esti reprezentata kiel “01 02 03” aŭ “42 43 44”, depende de la aranĝo de la litergrafikaĵoj. La serĉo- kaj legosigno-funkcioj de mia redaktilo bone helpis min serĉi la ĝustajn datumojn kaj trovi neuzatan spacon.
Ekzistas ankaŭ malasembliloj, kiuj provas transformi binarajn program-instrukciojn al asembla lingvo, kaj kompililoj por inversigi tiun procezon. Malasembliloj povas helpi, ke oni komprenu la internajn meĥanismojn de la ludo, sed la rezultoj ne ĉiam estas tiel bone organizitaj kiel moderna programkodo. Trovi kongruan paron de malasemblilo kaj kompililo estas malfacila tasko.
Plie, ekzistas grafikaj redaktiloj, kiuj povas modifi program-datumojn. Multaj el ĉi tiuj programoj estas malfacile uzeblaj; ili estis kreitaj antaŭ multaj jaroj por fruaj versioj de Windows kaj ne plu estas aktive subtenataj. La iloj por romhakado ĝenerale estas sufiĉe bazaj kaj ne tre facile uzeblaj por la uzanto, ĉar ili havas specifan celon kaj estas uzataj de malgranda grupo de tre fakaj specialistoj.
Miaj spertoj
Kelkaj el la videoludoj, kiujn mi tradukis, havas malmulte da teksto, ekzemple Pac-Man kaj Donkey Kong. Eĉ la fama Super Mario Bros ne havas multe da teksto por traduki. Oni povas demandi, kial traduki ĉi tiujn simplajn ludojn. Nu, ju pli da sperto oni havas, des pli facile oni identigas strategiojn por estontaj projektoj. Ĉi tiuj ludoj estis bonaj por lerni la ilojn kaj teknikojn de romhakado. Kaj ili jam estis tradukitaj en aliajn lingvojn, kiel la francan, hispanan, polan, kaj rusan, do kial ne ankaŭ en Esperanton?
Multaj homoj rigardas la ludon Super Mario Bros 3 kiel la plej bonan videoludon de ĉiam. Fakte, mi bone memoras la ekscitecon kiam ĝi eldoniĝis. Do, mi certe deziris ludi ĝin en Esperanto. Bedaŭrinde, la ekzistanta traduko estis nekompleta, do mi decidis entrepreni ĝian plenan tradukon por havi la plej plenan ludsperton. Ĉar mi jam tradukos la unuan kaj trian titolojn de la serio, mi decidis traduki ankaŭ Super Mario Bros 2. Bonŝance, mi trovis komunumajn projektojn en la Interreto, kie kodumuloj komentis pri la malasemblita kodo de la ludoj. Tiuj notoj estis ege helpa rimedo por mi, kaj helpis min ŝanĝi detalojn, kiel la EK-kvadraton sur la mapo, potencigilojn (power-ups), kaj eĉ organizon de grafikaĵoj por krei pli da spaco por la esperanta teksto. Bonkvalitaj tradukoj estas raraj pro malfacilegeco, do altkvaliteco kaj kompleteco estis gravaj celoj de mi.
Kompreneble, estis defioj ankaŭ en la tradukado mem. Mi ofte diskutis kun amiko pri la ĝusta maniero traduki vortojn aŭ frazojn, aŭ ĉu mi traduku nomojn de roluloj. Foje, mi certas, ke ŝi frustriĝis pro miaj obstinaj opinioj pri kelkaj punktoj, sed mi tre dankas ŝin pro ŝia helpo. Dum la projekto, ni ambaŭ lernis novajn vortojn en Esperanto.
Tamen, romhakada tradukado ne nur temas pri anstataŭigo de teksto kaj grafikaĵoj. Foje necesas modifi la program-instrukciojn por ŝanĝi la videoludon. Ekzemple, en A Boy and His Blob, la plurala sufikso estis programe aldonita surbaze je la kvanto de ĵeleeroj en la stoko. Mi devis trovi la specifajn program-instrukciojn, verki mian propran kodon por prezenti la ĝustan formon en Esperanto al kaj la adjektivo kaj substantivo, kaj poste serĉi liberan spacon por la kodo kaj anstataŭigi la originalajn instrukciojn. Kaj en Bubble Bobble, mi eĉ kreis proprajn Esperanto-temajn nivelojn.
Ĉar romhakado postulas multe da tempo, multaj en la komunumo elektas labori ĉefe pri videoludoj, kiujn ili pasie ŝatas. Tio klarigas la multnombrajn versiojn de Super Mario Bros 3. Ludoj, kiel Q*Bert kaj Paperboy, postulis fortajn kapablojn pri modifado de grafikaĵoj kaj program-instrukcioj por krei bonan rezulton. Ĉi tiuj ludoj ne estas tiel popularaj, tial neniu jam provis traduki ilin. Laŭ mia scio, mi estis la unua por ĉi tiuj videoludoj. Tio krome signifis, ke ne estas alia en la komunumo, al kiu mi povus peti teknikan helpon. Mi estis pioniro en (mal)nova teritorio!
Nun, mi jam tradukis ĉiujn videoludojn, kiujn mi deziris, por la NES. Ja ekzistas kelkaj ludoj por la Super Nintendo Entertainment System (SNES), kiujn mi volus traduki, sed tiu platformo estas pli moderna, kaj miaj spertoj pri NES, ne multe helpos min kun pli nova sistemo. Mi ankoraŭ ne certas, ĉu mi havos la daŭran deziron. Sed mi povas senti fieron pri mia laboro, tradukinte dek NES-ludojn.
Konkludo
Se vi interesiĝas pri romhakado, estas bone scii, kion vi spertos. Ĉiu ludo prezentas unikan defiaron. Vi pasigos horojn lernante pri la sistema hardvaro, aŭ esplorante datumaranĝojn por grafikaĵoj, kaj poste malkovros, ke ĉi tiu scio ne aplikeblas al la problemo, kiun vi provas solvi. Ĝi estas temposuĉa kaj frustra hobio. Tamen, por tiuj, kiuj ĝuas venki defiojn, la ŝanco por fari malnovajn ludojn novaj kaj interesaj povas esti tre rekompenca. Mia kontenteco venas de la scio, ke altkvalitaj Esperanto-tradukoj de kelkaj el miaj plej ŝatataj videoludoj nun ekzistas.
Se vi volas ludi videoludojn en Esperanto, mi rekomendas, ke vi vizitu romhacking.net. Tie mia uzantnomo estas BluePhoenix, do vi trovos miajn tradukojn en mia profilpaĝo. Se vi ludas kaj ĝuas ilin, bonvolu konsideri lasi recenzon aŭ dividi ilin kun viaj amikoj, por ke pli da homoj povu ĝui ĉi tiujn klasikaĵon de NES en Esperanto.