Vi designer Ancient Online: Remastered som én samlet verden, hvor spillere på Windows, Linux, macOS, Android og iOS mødes. På papiret lyder det enkelt: ét spil, fem platforme. I praksis betyder det en række svære beslutninger at bringe et klassisk MMORPG, der er designet til at blive spillet med museklik, over på telefoner og controllere. I denne del af devloggen deler vi de beslutninger og grundene bag dem.
Spillet er under udvikling. Udviklingsversionen testes i øjeblikket på Windows- og Android-enheder; macOS, Linux og iOS er de øvrige platforme, vi sigter mod.
Regel 1: én verden, ét regelsæt
Der er ingen særskilt server og ingen ”forenklet” balance for mobilspillere. Fordi alle spillets regler kører på serveren, spiller du i den samme verden efter de samme regler, uanset hvilken enhed du forbinder fra. Din konto, din karakter, dit inventar og dit laug er uafhængige af enheden. Serversiden gennemgik vi i første del af devloggen.
For klienten betyder reglen, at forskellige platforme kan tilbyde forskellig styring, men de kan ikke tilbyde forskellige muligheder.
Touchskærme: nytænkning frem for formindskelse
At formindske det klassiske MMORPG-interface, som det er, og lægge det på en telefon virker ikke; knapperne ender med at være for små til en finger og skærmen for overfyldt. Derfor designede vi et særskilt interfacelag til mobil:
- Et flydende joystick: Uanset hvor du sætter fingeren på venstre halvdel af skærmen, kommer joysticket hen til den; spilleren behøver ikke ramme et bestemt sted på skærmen.
- En angrebsknap, du holder nede, med en bue af færdigheder omkring den.
- Tryk for at vælge mål: Touch-udgaven af pc-vanen med at ”klikke på monsteret”.
Der er også noget, vi bevidst ikke gjorde: tryk for at bevæge sig. Joysticket står for bevægelsen. Med to bevægelsessystemer ville hvert tryk, der ramte ved siden af et mål, blive til et utilsigtet løb, og midt i en kamp er det uacceptabelt.
Endnu en lille, men vigtig beslutning: på en telefon er kun få pladser synlige ad gangen, så man skifter langt oftere mellem færdighedssider end på computer. Vi gjorde eliksirpladserne uafhængige af siderne; når du skifter side, bliver dine eliksirer, hvor de er. Det krævede mere end at flytte en celle i interfacet: vi måtte skille den kode, der bruger eliksirpladserne, helt fra sidelogikken.
Kamera og multitouch
På en telefon drejer kameraet, når du trækker en finger hen over et tomt område. Det var fristende at gøre det ved at lægge en ”kamerazone” i fuld skærm oven på interfacet, men sådan et lag ville sluge de tryk, der var tiltænkt hver knap nedenunder. Ved at håndtere kameratrækket i spillercontrolleren i stedet for i interfacelaget undgik vi konflikter mellem knapperne og kameraet. Vi skelner også målvalg fra kameratræk med en lille bevægelsestærskel: indtil tærsklen er passeret, rører kameraet sig ikke, og når den er passeret, begynder kameraet at dreje uden et pludseligt ryk.
Controllere: også rundt i menuerne
Vi designede controllerunderstøttelsen til hele interfacet, ikke kun til kamp. For at kunne navigere i inventar og menuer med en controller tilføjede vi fokusnavigation med D-pad'en. Her var der også en fælde: D-pad'en og knapperne til bekræft/tilbage skal bruges både til at navigere i menuer og til at bruge hurtigpladserne. Løsningen: mens et vindue er åbent, navigerer knapperne i menuen, og når det er lukket, går de tilbage til hurtigpladserne. At glide lydløst over i ”menutilstand” midt i en kamp ville være den værste fejl, systemet kunne have.
Spillet holder styr på, hvilken inputenhed du brugte sidst: når du skifter til en controller, trækker touchknapperne sig væk fra skærmen.
Indstillingerne følger også platformen
Indstillingsvinduet tager form efter enheden: fanerne for mus og tastatur vises kun på pc, og touchfanen vises kun på telefoner. Grafikvalg, der kun findes på computer, som Lumen, DLSS og FSR, viger på mobil pladsen for valg af opløsning og anti-aliasing. På hver enhed viser vi kun de indstillinger, der faktisk gør noget dér.
30 sprog og et interface, der måles sprog for sprog
Spillet og vores hjemmesider sigter mod 30 sprog. Den skjulte vanskelighed ved et flersproget interface er tekstlængden: den samme knaptekst kan være kort på ét sprog og dobbelt så lang på et andet. Vi beregner bredden på fanerne i indstillingsvinduet ud fra den faktiske bredde af hver tekst på det pågældende sprog i stedet for at give dem lige meget plads; når sproget skifter, beregnes layoutet igen. I sprogvælgeren står hvert sprog under sit eget navn.
Chatoversættelse på vores egne servere
For at spillere fra forskellige lande kan forstå hinanden i den samme verden, oversættes chatbeskeder til læserens sprog. Vi havde to principper, da vi byggede systemet:
- Beskeder forlader ikke vores servere. Oversættelsen laves på vores egne servere af en lokal model, der kun bruger CPU; der bruges ikke noget eksternt oversættelses-API.
- At bevare spillets sprog. MMORPG-chat er fuld af forkortelser, spiludtryk og emojier. Vi bruger en spilspecifik ordliste, og vi beskytter emojier særskilt, så de ikke går tabt under oversættelsen.
Hvad kommer der nu?
Arbejdet fortsætter med ydeevnen på mobil og med de øvrige platforme, vi sigter mod. Vil du se den fulde liste over styringen fra spillerens side, så kig på guiden til spil på tværs af pc og mobil på spillets hjemmeside. Vil du lære vores studie at kende, så læs Hvem er Astronaut Entertainment?.


