Suunnittelemme Ancient Online: Remastered -peliä yhdeksi maailmaksi, jossa Windows-, Linux-, macOS-, Android- ja iOS-pelaajat kohtaavat. Paperilla se kuulostaa yksinkertaiselta: yksi peli, viisi alustaa. Käytännössä hiiren napsautuksilla pelattavaksi suunnitellun klassisen MMORPG:n tuominen puhelimille ja ohjaimille tarkoittaa joukkoa vaikeita päätöksiä. Tässä kehityspäiväkirjan osassa kerromme noista päätöksistä ja niiden perusteista.
Peli on kehitteillä. Kehitysversiota testataan tällä hetkellä Windows- ja Android-laitteilla; macOS, Linux ja iOS ovat muut alustat, joihin tähtäämme.
Sääntö 1: yksi maailma, yhdet säännöt
Mobiilipelaajille ei ole erillistä palvelinta eikä ”yksinkertaistettua” tasapainotusta. Koska kaikki pelin säännöt toimivat palvelimella, pelaat samassa maailmassa samoilla säännöillä riippumatta siitä, miltä laitteelta yhdistät. Tilisi, hahmosi, tavaraluettelosi ja kiltasi eivät riipu laitteesta. Palvelinpuolta käsittelimme kehityspäiväkirjan ensimmäisessä osassa.
Asiakasohjelmalle tämä sääntö tarkoittaa, että eri alustat voivat tarjota erilaisen ohjauksen mutta eivät erilaisia kykyjä.
Kosketusnäytöt: uudelleen ajattelua kutistamisen sijaan
Klassisen MMORPG-käyttöliittymän kutistaminen sellaisenaan puhelimeen ei toimi; painikkeet jäävät sormelle liian pieniksi ja ruutu liian täyteen. Siksi suunnittelimme mobiilille erillisen käyttöliittymäkerroksen:
- Kelluva ohjaussauva: Minne tahansa lasket sormesi ruudun vasemmalla puoliskolla, ohjaussauva tulee sen alle; pelaajan ei tarvitse osua tiettyyn kohtaan ruudulla.
- Pohjassa pidettävä hyökkäyspainike, jonka ympärillä on taitojen kaari.
- Kohteen valinta napauttamalla: Kosketusvastine PC:ltä tutulle tavalle ”napsauttaa hirviötä”.
On myös jotain, minkä jätimme tarkoituksella tekemättä: liikkuminen napauttamalla. Ohjaussauva hoitaa liikkumisen. Kahdella liikkumisjärjestelmällä jokainen ohi mennyt kohdenapautus muuttuisi tahattomaksi juoksuksi, ja kesken taistelun sitä ei voi hyväksyä.
Vielä yksi pieni mutta tärkeä päätös: puhelimessa näkyvissä on kerrallaan vain muutama paikka, joten taitosivujen välillä vaihdetaan paljon useammin kuin tietokoneella. Teimme taikajuomapaikoista sivuista riippumattomat; kun vaihdat sivua, taikajuomasi pysyvät paikoillaan. Tämä vaati enemmän kuin käyttöliittymän solun siirtämisen: taikajuomapaikkoja käyttävä koodi piti erottaa sivulogiikasta kokonaan.
Kamera ja monikosketus
Puhelimessa kamera kääntyy, kun vedät sormea tyhjällä alueella. Sen toteuttaminen asettamalla koko ruudun kokoinen ”kamera-alue” käyttöliittymän päälle näytti houkuttelevalta, mutta sellainen kerros nielaisisi kosketukset, jotka on tarkoitettu sen alla oleville painikkeille. Kun käsittelemme kameran vedon pelaajaohjaimessa (player controller) emmekä käyttöliittymäkerroksessa, painikkeiden ja kameran väliset ristiriidat jäivät pois. Erotamme myös kohteen valinnan kameran vetämisestä pienellä liikekynnyksellä: ennen kynnyksen ylittymistä kamera ei hievahdakaan, ja kun se ylittyy, kamera alkaa kääntyä ilman äkillistä hyppäystä.
Ohjaimet: myös valikoissa liikkuminen
Suunnittelimme ohjaintuen koko käyttöliittymälle, emme pelkästään taisteluun. Jotta tavaraluettelossa ja valikoissa voi liikkua ohjaimella, lisäsimme kohdistuksen siirtämisen suuntaohjaimella. Tässäkin oli ansa: suuntaohjainta ja vahvistus- ja takaisin-painikkeita tarvitaan sekä valikoissa liikkumiseen että pikapaikkojen käyttöön. Ratkaisu: kun ikkuna on auki, nämä painikkeet liikuttavat valikossa, ja kun se on kiinni, ne palaavat pikapaikoille. Äänetön lipsahdus ”valikkotilaan” kesken taistelun olisi pahin bugi, joka tässä järjestelmässä voisi olla.
Peli pitää kirjaa siitä, mitä syöttölaitetta käytit viimeksi: kun vaihdat ohjaimeen, kosketuspainikkeet väistyvät ruudulta.
Asetuksetkin seuraavat alustaa
Asetusikkuna saa muotonsa laitteesta: hiiri- ja näppäimistövälilehdet näkyvät vain PC:llä ja kosketusvälilehti vain puhelimilla. Vain tietokoneelle tarkoitetut grafiikkavaihtoehdot, kuten Lumen, DLSS ja FSR, väistyvät mobiilissa resoluutio- ja reunanpehmennysasetusten tieltä. Näytämme kullakin laitteella vain ne asetukset, jotka oikeasti tekevät siinä jotain.
30 kieltä ja kielikohtaisesti mitattu käyttöliittymä
Pelin ja verkkosivustojemme tavoitteena on 30 kieltä. Monikielisen käyttöliittymän piilevä vaikeus on tekstin pituus: sama painikkeen teksti voi olla yhdessä kielessä lyhyt ja toisessa kaksi kertaa pidempi. Laskemme asetusikkunan välilehtien leveyden kunkin tekstin todellisesta leveydestä kyseisellä kielellä sen sijaan, että antaisimme niille yhtä suuret osuudet; kun kieli vaihtuu, asettelu lasketaan uudelleen. Kielivalitsimessa jokainen kieli on kirjoitettu omalla nimellään.
Chatin käännös omilla palvelimillamme
Jotta eri maista tulevat pelaajat ymmärtäisivät toisiaan samassa maailmassa, chat-viestit käännetään lukijan kielelle. Meillä oli tätä järjestelmää rakentaessamme kaksi periaatetta:
- Viestit eivät poistu palvelimiltamme. Käännöksen tekee omilla palvelimillamme paikallinen, pelkällä suorittimella toimiva malli; ulkoista käännösrajapintaa ei käytetä.
- Pelin kielen säilyttäminen. MMORPG-chat on täynnä lyhenteitä, pelitermejä ja emojeita. Käytämme pelikohtaista sanastoa ja suojaamme emojit erikseen, jotta ne eivät katoa käännöksessä.
Mitä seuraavaksi
Työ jatkuu mobiilin suorituskyvyn ja muiden tavoittelemiemme alustojen parissa. Täydellisen ohjausluettelon pelaajan näkökulmasta löydät pelisivuston oppaasta monialustaiseen pelaamiseen PC:llä ja mobiilissa. Studioomme voit tutustua kirjoituksessa Kuka on Astronaut Entertainment?.


