English summary
This is a project to create a fan translation for Ultima VII: Black Gate and Ultima VII: Forge of Virtue. This project is completely unaffiliated with and unsanctioned by Origin and Electronic Arts, who hold all rights to the game. However, this fan translation, once finished, will not be playable without an original copy of the game, so we are not encouraging piratism or anything.
This site will also host the translation tools made for this project, and will host whatever else interesting technical information I uncover over this translation. This stuff is kind of awful, but probably better than nothing!
Ultima VII? Anteeksi mikä?
Ultima VII on yksi parhaista ja suosituimmista tietokoneroolipeleistä kautta aikojen. Se julkaistiin vuonna 1992.
Ja mikä tämä projekti nyt sitten on?
Tämän projektin tarkoituksena on luoda suomenkielinen fanikäännös Ultima VII:stä. Tarkoituksena on kääntää Ultima VII: Black Gate (eli varsinainen peli) ja Ultima VII: Forge of Virtue (pelin lisälevy). Luultavasti tarkoitus ei ole erikseen erotella kumpaa versiota pelaaja käyttää, eli luultavasti käännös toimii vain ja ainoastaan jos kumpikin on asennettuna. Tämä ei yleensä nykypäivänä ole ongelma, sillä modernit, ilmeisesti suhteellisen helposti bongattavat julkaisut (kuten The Complete Ultima VII ja Ultima Collection) sisältävät kyseisen lisälevyn.
Tämä projekti ei ole virallinen Originin tai EA:n projekti, ja teemme tätä täysin omalla luvallamme ja räikeästi tekijänoikeuslakia rikkoen. Kuten useimmat fanikääntäjät, toivomme että pelin tekijät eivät tästä kuitenkaan suutu, koska käännöksen käyttäminen vaatii alkuperäisen pelin ostamisen, ja nämä tiedostot itsessään lienevät täysin hyödyttömiä ilman alkuperäistä peliä. Emme kannata piratismia ja kaikki ruinaukset tyyliin "mistä tämän pelin voisi imuroida" voi jättää lähettämättä, koska niihin ei vastata. Ultima VII ei ole myöskään "abandonwarea" koska sen kuulemma löytää suhteellisen helposti nettikirppareilta ja/tai EA:lta itseltään. En ole kokeillut, en tiedä. Minulla on jo omakin kappale. Kaksi, oikeastaan. En myy.
Tekniseltä kannalta tämä käännös on lähinnä tarkoitettavaksi käytettäväksi Exult-enginen kanssa. Tämä patchi saattaa toimia alkuperäisen DOS-pelin kanssa pienellä askartelulla, mutta en mene vannomaan. Tämä ei toimi SNES-version kanssa. Turha yrittääkään.
Koska tämä on valmis?
Eräiden kuolemattomien sanojen mukaan "sitten kun se on valmis." =/
Voiko auttaa?
Koska olen äärimmäisen lyhytjänteinen ihminen, yksi syy tämän projektin tekemiseen oli pinnan kasvattaminen. Siitä syystä ainakin raakakäännöksen aion tehdä aivan yksin. Kun raakakäännös on valmis, pistän mäsän version nettiin; tämän jälkeen saa kritiikkiä lähettää reilusti. Samalla julkaisen jonkin sorttisen WWW-työkalun joka helpottaa rikkinäisten käännösten viilaamista hajautetusti (pelitestaajat pääsevät selaamaan käännöstietokantaa ja lisäämään bugiraportteja viitaten suoraan niihin käännösriveihin mitkä mättävät). Kenties integroin tämän toiminnallisuuden suoraan Horanceen.
Miltä se näyttää?
Kaappauksia on omalla sivullaan.
Millä mallilla käännös on?
Työkalut
Alun pitäen käytin Serpent Islen ranskankielisen käännöksen työkaluja, mutta nämä olivat täysin käsittämättömiä johtuen dokumentaation puutteesta. Tätä varten puuhasin Ruby on Rails-pohjaisen käännöstyökalun joka on toistaiseksi toiminut ihan hyvin. Tämäkin työkalu julkaistaneen kunhan sen toimivuutta parannellaan entisestään.
Työkaluina ovat tällä hetkellä
- Horance—WWW-pohjainen käännöstyökalu usecode-tiedoston merkkijonoille. Kirjoitettu Ruby on Railsilla, toimii Apachen alla CGI-pohjaisena (hieman etana, mutta eipä törkeää vauhtia tarvitakaan...)
- Mozilla Firefox—Millä varsinainen editointi tapahtuu.
- wud, wuc, rip—Exultin työkalut usecode-tiedoston disassembloimiseksi, assembloimiseksi ja yhdistämiseksi/purkamiseksi. Horance automatisoi näiden käytön, joten uusi versio usecode-tiedostosta on helppo rakentaa.
- textpack—text.flx-tiedoston manipulointiohjelma Exult-projektilta.
- Exult Studio—tällä on helppo muokata pelin grafiikkoja.
- Eclipse, XEmacs—Tekstieditorit, edellinen Horancen koodaamiseen, jälkimmäinen kaikkeen muuhun.
- Cloanto Personal Paint, GIMP—grafiikkaohjelmat joilla grafiikoita on muokattu...
- Subversion - versionhallintasysteemi.
Funktiot
Usecode-fuktiot sisältävät suurimman osan tekstistä: keskustelut, kirjat, kyltit ja niin poispäin. Yksi funktio sisältää aina tietyn "tilanteen" tekstit.
Tällä hetkellä statistiikkavempele on aika kehno, koska siitä saa vain raa'an funktiomäärän (yksi funktio sisältää aina yhden tietyn aiheisen tekstin), eikä näitä lukuja ole suhteutettu funktioiden kokoon. Suurin osa käännetyistä teksteistä on hyvin lyhyitä, ja vain muutamien hahmojen keskusteluja on käännetty kokonaan. Statistiikka saataa myös mättää. En ole tilastotieteilijä, ja vielä vähemmän olen matemaatikko, ja koodarinakaan en ole maailman paras mutta parempi kuin kumpikaan edellämainituista. =)
Seuraavassa käännösstatistiikka suoraan käännöstyökalun generoimana, päivitetty viimeksi joskus (kerpeleen Smarty ei sisällä valmiina flastmodia ja en minä kaikkea koodata jaksa heti tänään):
Translation completion as of 2007-11-30
| Total number of functions: | 645 |
| Translated functions: | 286 |
| Translated and proofread functions: | 201 |
| Translation completion: | 44.34% |
| Translated and proofread functions: | 31.16% |
Translated NPCs
- Amber (Britain)
- Andrew (Paws)
- Apollonia (Trinsic)
- Batlin (Britain)
- Batlin - a few appropriate last words (Endgame)
- Batlin - copy protection questions (Britain)
- Brita (Paws)
- Cairbre - utterances (Destard)
- Camille (Paws)
- Candice (Britain)
- Caroline (Trinsic)
- Chantu (Trinsic)
- Chuckles (Britain)
- Chuckles - The Game (Britain)
- Chuckles - The Game - Player loses (Britain)
- Csil (Britain)
- Cynthia (Britain)
- Dell (Trinsic)
- Dupre (Jhelom)
- Dustin (Passion Play)
- Ellen (Trinsic)
- Fellowship ceremony (Trinsic)
- Fellowship spam
- Fellowship spam
- Fenn (Paws)
- Feridwyn (Paws)
- Feridwyn - Avatar death recovery messages (Paws)
- Ferryman (Skara Brae)
- Finnigan (Trinsic)
- Finnigan - copy protection questions (Trinsic)
- Finnigan - report (Trinsic)
- Finnigan - report (Trinsic)
- Frank the Fox (Moonglow)
- Gargan (Trinsic)
- Gargan coughs (Trinsic)
- Garritt (Paws)
- Geoffrey (Britain)
- Gilberto (Trinsic)
- Guard
- Guard (Trinsic)
- "Hubert the Lion was haughty and vain..."
- Iolo (Trinsic)
- Iolo, Shamino and Dupre - Avatar death recovery messages (Paws)
- Iriale Silvermist (Meditation Retreat)
- Jaana (Cove)
- Jesse (Britain)
- Johnson (Trinsic)
- Judith (Britain)
- Kallibrus - utterances (Destard)
- Kliftin (Jhelom)
- Klog (Trinsic)
- Komor (Paws)
- Lord British (Britain)
- Lord British, FoV, gives ship deed and crystal (Britain)
- Lord British goes mediaeval on WaR3z D00dZ
- Lord Heather (Cove)
- Lord Horance (Skara Brae)
- Markus (Trinsic)
- Max (Britain)
- Merrick (Paws)
- Meryl (Passion Play)
- Miranda (Britain)
- Morfin (Paws)
- Neno (Britain)
- Nicholas (Britain)
- Nystul (Britain)
- Palace guard
- Party member location chatter
- Patterson (Britain)
- Paul (Passion Play)
- Petre (Trinsic)
- Petre - interjection at the opening dialogue (Trinsic)
- Polly (Paws)
- Prison guard dialogue
- Raymundo (Britain)
- Shamino (Britain)
- Spark (Trinsic)
- Sprellic (Jhelom)
- Stuart/Laurence (Britain)
- Syria (Jhelom)
- The Passion Play (Trinsic)
- Thurston (Paws)
- Timmons (Jhelom)
- Tobias (Paws)
- Trent builds a cage
- Trials of the Avatar audition (Britain)
- Vokes (Jhelom)
Uudelleenkoodaus
Suunnitelmissa on käyttää vanhaa pelikoodia niin pitkälti kuin mahdollista. Saattaa tosin olla että joitain kohtia pitää korjata Usecode-tasolla. Esimerkiksi kaikki hahmot hölisevät jotain omituista jos antaa väärät kopiosuojausvastaukset - tämä puppugeneraattori olisi kätevintä koodata kokonaan uudelleen. Kauppoja ja harjoituspaikkoja saattaa joutua säätämään.
Staattinen data
Staattinen data sisältää esimerkiksi esineiden, hahmojen ja hirviöiden nimet. Nämä ovat pääasiassa text.flx:ssä, ja ovat jo raakakäännetty, kiitos textpack-työkalun. Paikkaansapitävyyden varmistaminen on sitten toinen juttu...
Teksti joka on mainshp.flx:ssä (introteksti, krediitit, kommentit) on helppo kääntää expack-työkalulla. Vielä kun keksisi miten pelin saa sen tajuamaan.
Osa teksteistä on exultmsg.txt:ssä, ja nämä saatiin helposti käännettyä. Tosin näiden fontit taitavat olla vielä kadoksissa.
Grafiikka
U7:n fontteihin (fonts.vga) saatiin helposti (itkien ja hammasta kiristäen) lisättyä ääkköset, jopa vielä Latin-1-merkistön paikkoihin. Tällä hetkellä peliteksti (fontti 0) ja kirjatekstiä (fontti 4?) koristaa ääkköstö.