DeHubDeHub openen

DeHub › Blog

Spelen mogelijk maken: DeHub's aangepaste mobiele game-engine

Door DeHub Team — 2022-01-05

DeHub Q1 2022 update: Powering Play: DeHub's Custom Mobile Game Engine

In het eerste kwartaal van 2022 hebben we een aangepaste game-engine gebouwd die is geoptimaliseerd voor mobiele apparaten.

"We schreven onze eigen engine" is meestal een waarschuwingssignaal. Unity en Unreal bestaan, ze zijn buitengewone softwarepakketten, en de meeste teams die ze afwijzen lossen een probleem op dat ze zelf hebben uitgevonden. Dus de last van uitleg ligt bij ons.

De daadwerkelijke beperking

Onze games werken niet als standalone installaties. Ze worden uitgevoerd in de DeHub-app, die React Native is, met al een videopijplijn, een feed en een wallet-stack — op telefoons die in een groot deel van ons publiek enkele jaren oud zijn.

Die combinatie is het probleem. Het insluiten van een engine voor algemeen gebruik in een dergelijke app betekent dat er een grote looptijd moet worden geleverd naast alles wat er al is, waarbij de opstartkosten worden betaald elke keer dat iemand op een game tikt, en het vechten voor de grafische context die onze videospeler ook wil.

Voor een titel die je zelf downloadt en lanceert, doet dat er allemaal niet toe. Voor vijf games die in minder dan een seconde vanuit een tik in een sociale app moeten worden geopend, doet alles dat.

Waar we voor hebben geoptimaliseerd

De motor is gebouwd rond een korte lijst met eigenschappen, die geen van alle op zichzelf indrukwekkend zijn:

Die laatste is het stuk dat niemand ziet. Arcade-titels moeten een identiteit lezen en een score schrijven die in de keten terechtkomt. Dat doen over een motorgrens is een permanente bron van wrijving.

Wat het kostte

Alles wat een algemene motor je gratis geeft, hadden we niet. Geen volwassen editor, geen assetpijplijn, geen plug-in-ecosysteem van derden, geen grote pool van ontwikkelaars die de tooling al kennen.

Dat is een echte en voortdurende belasting, en het is de reden dat dit geen algemeen advies is. We namen het omdat het alternatief slechter was voor ons specifieke geval, niet omdat het bouwen van een motor slim is.

Of het juist was

Meestal wel, met één uitzondering.

De arcade verscheepte vijf titels in een kwartier en games gingen snel genoeg open om met de feed te concurreren, wat het resultaat was waar de hele oefening voor was. Latere titels landden zonder re-architectuur. Op oude hardware — waar veel van ons publiek eigenlijk is — gedroeg het zich.

Het voorbehoud is talent. Elke ontwikkelaar die aan onze games werkt, leert een systeem dat nergens anders bestaat en dat de aanwerving heeft vertraagd op een manier die we in 2022 hebben onderschat. Als we opnieuw zouden kiezen met dezelfde beperkingen, zouden we waarschijnlijk dezelfde beslissing nemen en zouden we die kosten eerlijk begroten in plaats van ze te ontdekken.

De test die we zouden toepassen

De vraag is niet "kunnen we onze eigen bouwen?" — een competent team kan bijna alles bouwen en daarom is de vraag nutteloos.

Het is: kun je de specifieke eigenschap noemen die je nodig hebt en die de standaardoptie je niet in één zin kan geven zonder de woorden flexibiliteit of controle te gebruiken?

De onze was dat een game moest worden geopend vanuit een kraan in een React Native sociale app, in minder dan een seconde, op een vier jaar oude midrange Android, terwijl er al een videopijplijn stond. Dat is een echte beperking met een reëel getal erin.

Als het antwoord vager is dan dat, is de eerlijke conclusie dat je een motor wilt bouwen, wat iets anders is dan er een nodig te hebben — en aanzienlijk duurder dan het lijkt uit de eerste titel.

Alle DeHub-artikelen · Startpagina van dehub.io