Hogyan fordítsunk játékprogramokat? VI.
Kicsit késve, de megérkezett az újabb rész. Nem TGWH volt a hunyó, hogy csak most, ezért elnézést mindenkitől.
3.1.3, amit ki kell tömöríteni
Tisztelettel köszöntök mindenkit cikksorozatunk újabb részében, ahol is, kis szünet után, megpróbálom újra felvenni a ritmust, tehát éljen május elseje, lássunk is neki!
Ibrik honlapjáról újabb érdekes, lényegre törő pár sort idéznék, illetve utána röviden szemléltetném, hogy is néz ki az a fordítás, ahol ki kell tömöríteni a fájlokat.
,,MOD-alapú magyarítás
Az esetek egy részében magát a fordítandó szövegfájlt felül kell írni, vagy a szövegfájlt tartalmazó konténerfájlt újra kell csomagolni ahhoz, hogy a módosítás meg is jelenjen a játékban.
Azonban sok játéknál a játék-motor lehetővé teszi a MOD-ok (azaz "modification") használatát. Ezekkel a MOD-okkal az azt készítő fejlesztők vagy a vállalkozó kedvű játékosok különféle módosításokat hajthatnak végre az alapjátékon úgy, hogy az eredeti fájlokat nem kell felülírni/módosítani. A MOD-ok tartalmazhatnak apró dolgokat - pl. új fegyverek, tárgyak, karakterek, textúrák, stb.-, vagy olyan nagyobb dolgokat is, mint pl. hibajavítások, új pályák, vagy egyenesen az alapjáték egy komplett folytatását. Ez megoldható a módosított fájlok egy meghatározott helyre másolásával, vagy a módosított fájlok új - a játék-motor által használt formátumú - konténerfájlba csomagolásával.
Ugyanilyen alapon maga a szövegfájl is - illetve annak telepítési módja - elkészíthető MOD-ként.''
/ibrik - http://ibrik.atw.hu/
Előre szeretném kiemelni, hogy nem minden mod alapú fordítás ilyen bonyolult, mint amiről én írni fogok! A lényeg, hogy van, amihez a készítők adnak programot, van amihez nekünk kell írni egyet, és létezik olyan játék is, amihez már létezik egy program, ami pl. az előző részéhez jó volt! Valószínűleg át fogom írni a tartalomjegyzéket, ha nem akad olyan vállalkozót szellemű egyén, aki írna helyettem a 3.1.3.2 - külsős programozó programja, és a 3.1.3.3 - egyéb, már meglévő program című fejezetekhez!
3.1.3.1 - készítők által írt program
Lássunk egy konkrét példát, egyáltalán nem olyan nehéz, mint amennyire gondoljátok. Választott játékunk a Knights of Honor címet viseli, és per pillanat nincs feltelpítve, de emlékszem, a játék mappájában található egy pak nevű mappa, ezen belül több pak fáj (text.pak, europe.pak, stb.). Ha a készítők által közzé adott programot megnyitjuk, lehetőségünk nyílik ezeket a tömörített fájlokat megnyitni, kicsomagolni külön mappákba. A képen látható a mappaszerkezet, amit majd a játék mappájába csomagol a program, a pak fájlnak megfelelő nevű mappájába. Lehetőségünk van az egész pak fájl, vagy egy kijelölt részének tartalmát visszacsomagolni is, igaz, ekkor már nem beszélhetünk mod alapú fordításról, mivelhogy felülírjuk az eredeti fájlokat. Ez is rendkívül hasznos, hiszen az alapjátékot egyszer kell lefordítani magyarra, és utána már csak a külföldi modokat kell mod-ként, azaz mappánként bemásolni és lefordítani, hiszen több kiváló mod is létezik ehhez a játékhoz. Természetesen ilyenkor is figyelni kell, mit másol be az ember fia, hisz nem mindegyik mod használ azonos pak fájlokat, így aztán egy régebbi mod egyik mappája bent is maradhat, és be is keverhet.
Néhány szó a képről:
A texts.pak fájlban a szövegek vannak, szétbontva, pl. help, historical maps, knights. Ezek mind-mind külön mappába kerülnek, így viszonylag könnyen meg lehet találni amit keresünk.
Látható a fájlok elérési helyén kívül a neve, mérete, típusa. Extract → kitömörít, replace → betömörít.
Eu_knights;2.tsv fájlban nevek találhatóak, az eu_realms.tsv fájlok a tartományok, államok neveit tartalmazza, titles.tsv a titulusokat.
Alapvetően mindent amit lehet, változóval kezel le a program. Legalább két oszlop szerepel a fájlokban, tab-bal elválasztva, első (key) oszlop a kulcs, ami alapján össze tud kötni bizonyos fájlokat (ha két fájlban nem ugyan az a név szerepel pl. adott ország neveként, komoly gondban vagyunk), ezt az oszlopot átírva a program megzavarodik. A második (base) az alap, a szótő oszlop ha úgy tetszik, lényegében egyezik az elsővel, minimális eltérés lehet, a további oszlopokat a ragozásokhoz, illetve a kicsi-nagy kezdőbetűkhöz használja a program. Jó hír, hogy további oszlopokat mi is hozzáadhatunk, tehát létrehozhatunk változókat, amiket a program ugyan úgy képes használni, ha a megfelelő szabályokat betartjuk.

Nézzünk a szabályokra példákat:
Nevek (eu_knights):
key base
Elizaveta.f Elizaveta
Eric X.m X. Erik
Fatma.fFatma
Ferdinand.m Ferdinánd
Frederick II.m II. Frigyes
Key oszlopban a név utáni .f (female) utal a női nevekre, míg a .m (male) a férfi nevekre.
Titles;more.tsv fájlban a titulusok láthatóak, itt már kissé bonyolódik a helyzet:
key base cap a plc
default a <base> <cap>s
Grand Master grand master nagymester Nagymester
A neveknél már az első két oszlop maradt az eredeti, mivel általában a cap változót használja a játék, például így, a family.ini fájlban:
[prince_born]
1 = <KINGDOM> királynője fiúgyermeknek adott életet. Reméljük, hogy az ifjú herceg olyan erős és hatalmas lesz, mint az apja, <KINGNAME> <KINGTITLE:cap>, <KINGDOM> királya.
Akkor már nézzük meg a hiányzó változókat:
A KINGDOM: eu:realms.tsv fájlban lévő országokra hivatkozhatunk, íme egy részlet a fájból:
key base ish
Burgundy Burgundia Burgundia
BurgundyA Burgund Kir. Burgund Királyság
Byzantia Bizánci Bir. Bizánci Birodalom
Buda Dunántúl Dunántúl
A KINGTITLE:cap változó a fent említett titles fájlok valamelyikében találja meg egy másik fájl által meghatározott államformát, és ennek megfelelően egy uralkodói titulust. :cap, tehát pl. nagymester (kisbetűvel!) helyettesíthető be a < > jelek helyére.
Kissé becsapós a kép, mivel nem mindegyik a KINGDOM változóra hivatkozik, ahogy fentebb említettem... igen, lehet kissé túlbonyolítottam. Szóval a lényeg, hogy a KINGDOM változó az alap (base) része a térképeken jelenik meg, ezen változtatni nem lehet (ott meg, igaz lehet x y koordináta rendszerben megadni a helyüket, viszont még így is lehet túl hosszú egy-egy ország neve)!
Töredelmesen bevallom, fogalmam sincs miért lett így, ahogy... talán egy régebbi verziót találtam meg, vagy egy másik fájlban vittem be új változót, fogalmam sincs... szerintem egy új változó bevitele miatt lett ilyen, amilyen.
Új változóra viszont remek példa a BurgundyA sor, mivel angol nyelvben mind a tartományt, mind az országot Burgundia-nak hívják (sőt, lehet hogy még a várost is). Magyarul viszont, főleg ha egy tartományból áll egy ország, nem lehetséges a tartományt is államformájának titulusával ellátni. Ezért kellett bevinnem egy ,,A'' betű jelöléssel egy új sort.
További érdekesség a Buda sor, itt az történt, hogy szintén nem hívhatunk a játék készítőinek tudatlansága miatt Budának egy egész tartományt. Ha már rosszul darabolták fel a játékban, legalább próbáltam nagyjából helyesen megadni a tartományok, országok neveit. Például Spanyolország nem is létezett a középkor elején, így ott is variálnom kellett. Visszatérve Budára, ami egy város neve, ami a játék készítőinek logikája szerint egyben egy tartomány neve is, mindenképpen szükség volt átírnom egy nagyobb földrajzi területre a nevét. Azt meg sem említem, hogy a Duna folyó Buda rossz oldalán kanyarog a játékban, és a budai tartomány az ország nyugati részét is képezi... Igen, városok is vannak, amik szintén változók formájában vannak hozzárendelve a tartományokhoz....
A király nevét (KINGNAME) már máshogy kezeli le a program, vannak fájlok, ahol meg van adva, melyik ország melyik korszakban (3 korszak választható a játékban) milyen államformával, milyen királyi családdal indul, a neveket már az ismert eu_knights, és változatai fájlokból szerzi be.
(most egy kis kávészünet, ahol is a cikk írója erősen elgondolkodik, hogy fogja RaveAir barátunk, és a Portál motorja lekezelni a tabulátorokat, illetve ő maga hogy fogja eme égető problémát megoldani, miután a .org dokumentumot lementi xp, 2003 kompatibilis .doc fájllá...)
Szóval itt látható, hogy indul egy állam a játék elején (a harmadik fájlt most nem keresem meg), másik pak fájl, maps\europe\kings, france;1000.txt (a franciák az Úr 1000. esztendejében):
[king]
name = Philip I
s_1 = 2,Strategist
s_k = 2,dread
[queen]
name = Isabel
[princess_1]
name = Nicole
[princess_2]
name = Oudine
[prince_1]
name = Louis VI
s_1 = cavalry
[prince_2]
name = Marc
s_1 = learning
icon = 115
Van a királynak neve, tulajdonságai, házastársa is lehet, valamint gyermekei is lehetnek, akik ha felnőnek, icon címen egy másik pak fájlból kapnak egy nemüknek megfelelő személyt ábrázoló portrét. Itt is látható, mennyire módosítható egy játék, ha a készítői is úgy akarják.
És akkor kössük össze a Strategist szó útján egy másik fájllal a szövevényes útvesztőt (skills.tsv):
key base small
default
dread_m Megfélemlítő
leadership_m Vezetői képesség
siegecraft_m Ostromlás
ballistics_m Ballisztika
logistics_m Utánpótlás szervezése
conqueror_m Hódítás
strategist_m Stratéga
Nos, mit keverjek még ide? Diplomácia, újabb változók.
; AI
[AskMoreGold]
1 = Mielött <AI_NAME>, <AI_KINGDOM> uralkodója elfogadná ajánlatodat, szükséges lenne <PARAM> aranyat adni ajándékba.
; AI
[AskMoreLand]
1 = <AI_NAME>, <AI_KINGDOM> uralkodója elfogadja ajánlatodat, ha nekünk ajándékozod <PARAM> tartományt.
; AI
[AskMoreAttack]
1 = Mindennek megvan az ára! Ha azt akarod, hogy <AI_NAME>, <AI_KINGDOM> uralkodója elfogadja ajánlatodat, elsőként támadd meg <PARAM> tartományt!
; AI
[AskMoreBreakTreaties]
1 = Ha szeretnéd, hoygy <AI_NAME>, <AI_KINGDOM> királya jóváhagyja ajánlatodat, akkor azonnal meg kell szakítanod minden kapcsolatodat <PARAM> királyával!
Az AI itt egyedül arra utal, hogy a számítógép által irányított ellenségről van szó, egyébként ugyan onnan válogatja az aktuális uralkodó nevét, meg országának államformáját, mint ahonnét a sajátunkat.
PARAM (gondolom én paraméterre utal), mint ahogy a szövegből is kiderült, a fizetőeszköz mennyiségére utal, netán egy tartomány (esetleg harmadik verzió, egy ország) nevét takarja.
Tudom, elsőre ez így sok, és eléggé össze-vissza kevert, valamint aki nem látja a fájlokat, nem is biztos, hogy el tudja képzelni miről van szó. A három fejezet kissé rövid, ezért gondoltam úgy, belemegyek a fordítás konkrét menetébe, hisz sokan azt hiányoltátok a cikksorozatból.
Biztosan nem így akartam haladni, eléggé képlékeny maga az anyag is, amit közszemlére szeretnék adni, így elnézést, de ez a rész ilyenre sikerült.
Ha van jelentkező az elején említett következő két fejezetre, kérem jelentkezzen!
Ha nincs, jövő héten, esetleg kicsit később megyek tovább, azaz bocsánat, nem én megyek tovább, hisz pár hete megérkezett a betűtípusokról szóló írás is, szóval más veszi át a stafétabotot, valahol itt is van a gépemen, csak elég nagy a káosz, egyik hdd úgy volt megadja magát, most úgy tűnik mégsem... De a lényeg, hogy meg fogom találni! Tessék, Evin írása már meg is van :D
Még egyszer bocsánat a késésért, a kavarodásért, azért remélem érdekes olvasmánnyal tudtam szolgálni.
2012-08-24 13:36
és végig ilyen!
Ezt hogy lehet magyarosítani?
2012-05-12 22:33
2012-05-12 22:07
2012-05-12 21:33
Szerinted is ki kellene venni a tartalomjegyzékből?
2012-05-12 19:41
2012-05-12 19:40
A külsős programot valaki megcsinálja a játékhoz, aki nem a fordító mondjuk, az egyéb meg pl a játék korábbi motorjával, vagy azonos motorral, de más fejlesztők játékához készült program.
Van még valami, ami idevág?