Vi utformer Ancient Online: Remastered som én samlet verden der spillere på Windows, Linux, macOS, Android og iOS skal møtes. På papiret høres det enkelt ut: ett spill, fem plattformer. I praksis betyr det en rekke vanskelige valg å ta et klassisk MMORPG, laget for å spilles med museklikk, til telefoner og håndkontrollere. I denne delen av devloggen deler vi disse valgene og grunnene bak dem.
Spillet er under utvikling. Utviklingsbygget testes for øyeblikket på Windows- og Android-enheter; macOS, Linux og iOS er de andre plattformene vi sikter mot.
Regel 1: Én verden, ett regelsett
Det finnes ingen egen server og ingen «forenklet» balanse for mobilspillere. Fordi alle spillets regler kjører på serveren, spiller du i samme verden, etter de samme reglene, uansett hvilken enhet du kobler til fra. Kontoen, karakteren, inventaret og lauget ditt er uavhengige av enheten. Serversiden tok vi for oss i del én av devloggen.
For klienten betyr denne regelen at ulike plattformer kan tilby ulike kontroller, men de kan ikke tilby ulike muligheter.
Berøringsskjermer: tenke nytt i stedet for å krympe
Å krympe det klassiske MMORPG-grensesnittet slik det er, og legge det på en telefon, fungerer ikke; knappene blir for små for en finger, og skjermen blir for full. Derfor utformet vi et eget grensesnittlag for mobil:
- En flytende styrespak: Uansett hvor du setter fingeren på venstre halvdel av skjermen, kommer styrespaken dit; spilleren trenger ikke å treffe et bestemt punkt på skjermen.
- En angrepsknapp du holder inne, med en bue av ferdigheter rundt.
- Trykk for å velge mål: Berøringsskjermens svar på vanen fra PC med å «klikke på monsteret».
Det er også noe vi bevisst ikke gjorde: trykk for å bevege seg. Styrespaken tar seg av bevegelsen. Med to bevegelsessystemer ville hvert trykk som bommer på målet, blitt til en ufrivillig løpetur, og midt i en kamp er det uakseptabelt.
Enda et lite, men viktig valg: på en telefon er bare noen få plasser synlige om gangen, så bytte mellom ferdighetssider skjer mye oftere enn på PC. Vi gjorde eliksirplassene uavhengige av sidene; når du bytter side, blir eliksirene dine liggende der de er. Det krevde mer enn å flytte en celle i grensesnittet: vi måtte skille koden som bruker eliksirplassene, helt fra sidelogikken.
Kamera og multiberøring
På en telefon dreier kameraet når du drar en finger over et tomt område. Å løse det ved å legge en «kamerasone» over hele skjermen oppå grensesnittet så fristende ut, men et slikt lag ville slukt trykkene som er ment for hver knapp under det. Ved å håndtere kameradraget i spillerkontrolleren i stedet for i grensesnittlaget unngikk vi konflikter mellom knappene og kameraet. Vi skiller også målvalg fra kameradrag med en liten bevegelsesterskel: inntil terskelen er passert, rører ikke kameraet seg, og når den først er passert, begynner kameraet å dreie uten noe brått hopp.
Håndkontrollere: å komme seg rundt i menyene også
Vi utformet støtten for håndkontroll for hele grensesnittet, ikke bare for kamp. For at du skal kunne navigere i inventaret og menyene med en håndkontroll, la vi til fokusnavigering med styrekorset. Også her lå det en felle: styrekorset og knappene for bekreft/tilbake trengs både for å navigere i menyer og for å bruke hurtigplassene. Løsningen: mens et vindu er åpent, navigerer disse knappene i menyen, og når det er lukket, går de tilbake til hurtigplassene. Å gli stille over i «menymodus» midt i en kamp ville vært den verste feilen dette systemet kunne hatt.
Spillet holder styr på hvilken inndataenhet du brukte sist: når du bytter til håndkontroll, trekker berøringsknappene seg bort fra skjermen.
Innstillingene følger også plattformen
Innstillingsvinduet får formen sin fra enheten: fanene for mus og tastatur vises bare på PC, og berøringsfanen vises bare på telefoner. Grafikkvalg som bare finnes på PC, som Lumen, DLSS og FSR, viker på mobil plassen for valg for oppløsning og anti-aliasing. På hver enhet viser vi bare innstillingene som faktisk gjør noe der.
30 språk og et grensesnitt som måles for hvert språk
Spillet og nettstedene våre sikter mot 30 språk. Den skjulte vanskeligheten med et flerspråklig grensesnitt er tekstlengden: den samme knappeteksten kan være kort på ett språk og dobbelt så lang på et annet. Vi beregner bredden på fanene i innstillingsvinduet ut fra den faktiske bredden på hver tekst på det språket, i stedet for å gi dem like store deler; når språket byttes, regnes oppsettet ut på nytt. I språkvelgeren skrives hvert språk med sitt eget navn.
Chatoversettelse på våre egne servere
For at spillere fra ulike land skal forstå hverandre i samme verden, oversettes chatmeldinger til leserens språk. Vi hadde to prinsipper da vi bygget dette systemet:
- Meldingene forlater ikke serverne våre. Oversettelsen gjøres på våre egne servere av en lokal modell som bare bruker prosessoren; ingen eksterne oversettelses-API-er brukes.
- Å bevare spillets språk. MMORPG-chat er full av forkortelser, spilluttrykk og emojier. Vi bruker en spillspesifikk ordliste, og vi beskytter emojier separat, slik at de ikke går tapt under oversettelsen.
Hva kommer nå?
Arbeidet fortsetter med mobilytelsen og med de andre plattformene vi sikter mot. Vil du se hele listen over kontroller fra spillerens side, kan du ta en titt på guiden for PC og mobil på tvers av plattformer på spillets nettsted. Vil du bli kjent med studioet vårt, kan du lese Hvem er Astronaut Entertainment?.


