IN-GAMEBad Goons

ALGORITMIKEHITYS & OPTIMOINTI

Todelliseen kuormaan suunnitellut algoritmit

Mukautettu reitinhaku, spatiaalinen indeksointi, proseduraaliset järjestelmät, vokselikäsittely ja dataorientoitunut optimointi.

Mukautettu reitinhaku, spatiaalinen indeksointi, proseduraaliset järjestelmät, vokselikäsittely ja dataorientoitunut optimointi.

Jotkin tuotteet epäonnistuvat, koska ydinkuorma kasvaa nopeammin kuin yleiskäyttöinen ratkaisu pystyy käsittelemään. Suunnittelemme ja toteutamme algoritmit todellisen topologian, päivitystaajuuden, laitteiston ja oikeellisuusvaatimusten ympärille ja integroimme ne ympäröivään Unity- tai backend-järjestelmään.

Räätälöidyt algoritmit, kun enginen oletusratkaisut eivät enää riitä.

Räätälöidyt algoritmit, kun enginen oletusratkaisut eivät enää riitä.

Jotkin tuotteet epäonnistuvat, koska ydinkuorma kasvaa nopeammin kuin yleiskäyttöinen ratkaisu pystyy käsittelemään. Suunnittelemme ja toteutamme algoritmit todellisen topologian, päivitystaajuuden, laitteiston ja oikeellisuusvaatimusten ympärille ja integroimme ne ympäröivään Unity- tai backend-järjestelmään.

The player holding a crossbow and rifle among frozen beanstalk branches in Beanstalker's ice biome
IN-GAMEBeanstalker
01

Navigointi ja reitinhaku

A*, hierarkkinen tai domain-kohtainen navigointi, dynaamisten esteiden päivitykset, saavutettavuus ja moninpelin huomioiva liike epätavallisiin maailmoihin.

02

Spatiaaliset tietorakenteet

Octreet, ruudukot, spatiaaliset hashit ja räätälöidyt indeksit näkyvyyteen, läheisyyteen, törmäysehdokkaisiin, maailmakyselyihin ja streamaukseen.

03

Proseduraaliset ja voxel-järjestelmät

Maastogenerointi, chunkitus, greedy meshing, muokkaus, pysyvä data ja datansiirto suuriin tai pelaajien muokattaviin maailmoihin.

04

Korkean suorituskyvyn toteutus

Datan asettelu, eräajo, välimuistit sekä Unity Burst- ja Job System -työ, jota ohjaavat profiilit trendikkäiden uudelleenkirjoitusten sijaan.

Pullonkaulasta varmennetuksi toteutukseksi

Pullonkaulasta varmennetuksi toteutukseksi

Algoritmityö alkaa näytöstä. Säilytämme mahdollisuuksien mukaan oikeellisen referenssin, luomme edustavat datasetit ja mittaamme koko järjestelmän kustannuksen — myös synkronoinnin, muistin ja integraation ylikuorman.

Striped flying creatures circling thorned desert vines in Beanstalker's arid biome
IN-GAMEBeanstalker
  1. 01

    Määritä kuorma

    Kirjaa syötekoot, muutosmallit, oikeellisuussäännöt, kohdelaitteisto ja tuotteen kannalta olennainen suorituskykybudjetti.

  2. 02

    Rakenna mitattava lähtötaso

    Luo benchmarkit ja edustavat scenet tai datasetit, jotta parannuksia voidaan verrata rehellisesti.

  3. 03

    Suunnittele ja integroi

    Valitse tai mukauta algoritmi, datan asettelu ja rinnakkaisuusmalli ja liitä ne pelimekaniikkaan sekä tuotantotyökaluihin.

  4. 04

    Rasitustestaa ja dokumentoi

    Testaa pahimmat tapaukset, muistinkäyttö ja vikatilat ja dokumentoi sen jälkeen oletukset sekä turvalliset laajennuspisteet.

Mitä kehityspaketti sisältää

Mitä kehityspaketti sisältää

Tulos sisältää järjestelmän ylläpitoon tarvittavan näytön, ei vain optimoitua lähdekoodia.

  • Kuormamalli ja suorituskykybudjetti
  • Referenssibenchmark ja profilointikaappaukset
  • Tuotantotason toteutus ja integraatio
  • Oikeellisuus-, rasitus- ja regressiotestit
  • Suunnittelupäätökset, rajat ja laajennusohjeet

Mitä kehityspaketti sisältää

Räätälöidyt algoritmit, kun enginen oletusratkaisut eivät enää riitä.

UKK

Tätä polkua koskevat kysymykset.

Optimoimmeko ennen algoritmin vaihtamista?

Profiloimme ensin. Pullonkaula voi olla datan siirrossa, allokoinnissa, synkronoinnissa tai integraatiomallissa big-O-kompleksisuuden sijaan.

Voimmeko työskennellä Unity Burstin ja Job Systemin kanssa?

Kyllä, kun kuorma sopii siihen. Huomioimme datan asettelun, ajoituksen ylikuorman, turvallisuusrajoitteet ja ylläpidettävyyden sen sijaan, että rinnakkaistaisimme oletuksena.

Pystyykö tiimisi laajentamaan järjestelmää myöhemmin?

Se on toimitusvaatimus. Dokumentoimme invariantit, rajat ja testiskenaariot, jotta tulevia muutoksia voidaan arvioida löytämättä suunnittelua uudelleen alusta.

SEURAAVA ASKEL

Tuo meille rajoite, älä hiottua briefiä.

Tekninen vetäjä arvioi nykytilan ja suosittelee pienintä hyödyllistä seuraavaa askelta.

Aloita projekti
Aloita projekti