Aonad 7 / 11

Giniúint an Chóid agus Comhtháthú Inneall: Unity (C#) agus Unreal (Blueprint/C++)

Gnóthachain:

  • Cumas cód cluiche iontaofa in-chomhshóite a tháirgeadh ó hintleachta saorga trí inneall, leagan, teanga agus comhthéacs ailtireachta a thabhairt agus é a chomhtháthú tríd an gcód a léamh agus a thuiscint
  • Cumas feidhmíocht cód-shonrach cluiche a bhainistiú (leithdháileadh in aghaidh an fhráma), saolré an innill, agus rioscaí siabhránachta trí thiomsú, tástáil agus próifíliú
  • Cumas prionsabal an údaráis óstaigh a chur i bhfeidhm i gcluichí il-imreora agus faisnéis shlándála a úsáid go freagrach amháin chun do chluiche féin a chosaint agus a fhíorú.

Is bogearraí é an cluiche; Is cuma cé chomh maith agus atá sé deartha, cuirtear i bhfeidhm é le cód. Is é an t-inneall cluiche an bonneagar a dhéanann an cluiche a rith: Unity (inneall a úsáidtear go forleathan scriptithe i C #) agus Unreal Engine (inneall ag baint úsáide as C ++ agus an Blueprint teanga scriptithe amhairc) an dá cheann is coitianta. Tá AI ar cheann de na háiseanna is aibí i nginiúint cód: rialtóir imreora, córas fardail, meaisíní stáit, sábháil/ualach, loighic comhéadain, dífhabhtú agus athmhacrú (cód athmhaclaithe gan a iompar a bhriseadh). Ach tá a chuid gaistí féin ag cód cluiche: feidhmíocht (ráta fráma), saolré an innill, slándáil il-imreora. San aonad seo foghlaimeoidh tú conas AI a úsáid go sábháilte agus go héifeachtach i gcód cluiche.

Prionsabal criticiúil: comhthéacs inneall agus leagan

Mura bhfuil a fhios ag an AI cén inneall agus cén leagan a bhfuil sé ag scríobh dó, cuirfidh sé API mearbhall, as feidhm nó nach bhfuil ann. Mar sin tabhair comhthéacs inneall, leagan, teanga agus ailtireachta i ngach leid cód. "Scríobh gluaiseacht imreoir le haghaidh Unity" Is lag; Tá "Unity 2022.3, C#, Córas Ionchuir nua, gluaiseacht fisice bunaithe ar Rigidbody" cumhachtach. Sonraigh cé acu an bhfuil Blueprint nó C++ ag teastáil uait in Unreal agus cén leagan atá in úsáid agat.

Sreabhadh cód slán céim ar chéim:

  1. Tabhair comhthéacs (inneall, leagan, teanga, ailtireacht reatha, srianta).
  2. Want sé beag agus sainithe (comhpháirt amháin, nach bhfuil an córas ar fad).
  3. Léigh agus tuig an cód (tuig cad a dhéanann sé líne ar líne; ná cuir cód nach dtuigeann tú).
  4. Tógáil agus tástáil (rith ar an inneall; próifíl - feidhmíocht a thomhas).
  5. Athfhachtóir agus comhtháthú (caighdeán tionscadail a mheaitseáil).
Leid: Nuair a iarrann tú cód ar an AI, abair "mínigh le tuairimí". Is é do sprioc an cód a thuiscint; Má chuirtear cód AI nach dtuigeann tú isteach i dtionscadal, carnfar fiacha neamh-inchothaithe. Iarr cód freisin i smutáin bheaga intástála: In ionad córais 500-líne, is furasta comhpháirt 30-50 líne a dhéanann jab sainithe amháin a fhíorú agus a chomhtháthú.

Gaistí a bhaineann go sonrach leis an gcód cluiche

Feidhmíocht. Ritheann cód an chluiche 30-60+ uair in aghaidh an tsoicind. Is féidir le AI oibríochtaí costasacha (leithdháileadh cuimhne, lookup, ionramháil teaghrán) a chur isteach sa lúb Nuashonraithe a ritheann ag gach fráma; laghdaíonn sé seo an ráta fráma. Próifíl cóid ríthábhachtach feidhmíochta agus tabhair srianta AI ar nós "rith ar gach fráma, gan aon leithdháileadh".

Saolré an innill. Uaireanta bíonn mearbhall ar AI nuair a ghlaoitear modhanna speisialta, mar shampla Awake/Start/Update in Unity, BeginPlay/Tick in Unreal. Faigh earráidí saolré trí thástáil.

Slándála il-imreora. Is í seo an cheist is tábhachtaí maidir le TF/slándáil. Ná muinín an chliaint as il-imreora: is féidir an cliant ar ríomhaire an imreora a ionramháil le haghaidh caimiléireachta. Fíoraigh stádas criticiúil ar nós pointí, damáiste, airgead ar an bhfreastalaí (freastalaí-údarásach). Rialú a dhéanamh ar an gcód líonra a ghineann an AI i gcoinne an phrionsabail seo; Má chruthaigh an AI leochaileacht cliaint-iontaoibh, é a shocrú. Bain úsáid as an eolas seo amháin chun do imirt féin a chosaint agus a fhíorú; Tá rochtain neamhúdaraithe ar fhreastalaí duine eile nó caimiléireacht ar fhreastalaí duine eile mí-eiticiúil agus mí-eiticiúil.

Aire: D’fhéadfadh leochaileachtaí a bheith i gcód ginte AI (bailíochtú ionchuir in easnamh, muinín cliant, sábháil ionramháil comhaid). Ná glac leis an gcód go dall; Déan athbhreithniú slándála, go háirithe ar an gcód líonra, eacnamaíocht agus sábhála.

Fiachas ailtireachta agus cothabhála

Táirgeann AI feidhmeanna aonair go tapa; Ach is cinneadh fadtéarmach é ailtireacht cluiche - conas a roinntear córais, conas a labhraíonn siad lena chéile, áit a gcoimeádtar sonraí - agus baineann sé leis an duine. Má insíonn tú don AI "an córas iomlán fardal a scríobh, a chomhrac, agus a shábháil le chéile" gheobhaidh tú liathróid snáth atá ag obair ach atá dlúth-chúpláilte, atá deacair a chothabháil agus nach féidir a leathnú. Ina áit sin, déanann tú an ailtireacht a dhearadh, úsáid AI chun comhpháirteanna beaga a líonadh le comhéadain shainithe. Déanann dea-ailtireacht difríocht de réir mar a fhásann an cluiche: tagann droch-chinntí ar ais bliain ina dhiaidh sin mar fhiachas teicniúil a chuireann moill ar gach gné nua.

Foinse eile fiachais cothabhála is ea an cód a théann isteach sa tionscadal gan a thuiscint. D'fhéadfadh córas scríofa ag AI oibriú inniu; Ach nuair a chaithfidh tú é a athsholáthar sé mhí ina dhiaidh sin agus nach cuimhin le duine ar bith cad a rinne siad, is ús a bhíonn sna fiacha. Sin an fáth go bhfuil dhá dhisciplín riachtanach: an cód a léamh agus a thuiscint ag am táirgthe, agus ag iarraidh tuairimí a shoiléiriú ón AI. Mar riail ghinearálta, ná cuir aon chód AI isteach i do thionscadal nach féidir leat tú féin a athscríobh nó ar a laghad a mhíniú líne ar líne. Tugann AI luas; Tugann do smacht inbhuanaitheacht.

trí chás mion

Cás 1 - Chuir comhthéacs scaoilte cosc ar an bhfabht. Dúirt ríomhchláraitheoir ar dtús, "Scríobh fardal le haghaidh Unity"; bhí an cód ag baint úsáide as sean API, níor thiomsaigh sé. Ansin thug sé an comhthéacs "Unity 2022.3, C#, bunaithe ar ScriptableObject"; chuir an cód le chéile den chéad uair agus d'oirfeadh sé don tionscadal. Shábháil an comhthéacs uair an chloig de debugging.

Cás 2 — Gaiste feidhmíochta. I gcluiche amháin bhí an ráta fráma íseal. Agus é ag próifíliú, chonacthas go ndearna modh Nuashonraithe arna dtáirgeadh ag an AI liosta nua a leithdháileadh i ngach fráma agus cuardach a dhéanamh ar naimhde. D'éirigh leis an gcód a shocrú le tagairt i dtaisce agus le nuashonrú neamhchearnógach, ag méadú an ráta fráma ó 42 go 60.

Cás 3 — Leochaileacht slándála gafa. I gcluiche il-imreora, ríomh an cód AI-ghinte an damáiste don chliant agus thuairiscigh sé don fhreastalaí; bhí sé seo oscailte le haghaidh caimiléireachta (d'fhéadfadh an cliant damáiste gan teorainn a dhéanamh). Tá an cód déanta mar fhreastalaí-údarásach (ríomh an freastalaí an damáiste). Chuir an t-iniúchadh cosc ​​ar scannal caimiléireachta iarfhoilsithe.

Ceithre theimpléad inchóipeála

1) Iarratas cód le comhthéacs:

Inneall: Unity 2022.3. Teanga: C#. Ailtireacht: [e.g. comhpháirt bunaithe].Constraint: Leithdháileadh i Nuashonrú; bheith inléite agus tráchtaireacht.Tasc: [comhpháirt shingil, shainithe, e.g. "rialtóir carachtar léim dhúbailte"]. Fíoraigh go bhfuil gach API a úsáideann tú sa leagan seo; Mura bhfuil tú cinnte, cuir in iúl dom.

2) Míniú/athbhreithniú cód:

Mínigh an cód seo a leanas de réir líne agus scríobh (1) cad a dhéanann sé, (2) fadhbanna feidhmíochta féideartha (leithdháileadh in aghaidh an fhráma, cuardach costasach), (3) fabhtanna féideartha, (4) moltaí le haghaidh feabhsúcháin. Cód: [greamaigh]

3) Iniúchadh slándála il-imreora:

Scrúdaigh an cód il-imreora seo a leanas le haghaidh slándála. Go sonrach: áiteanna ina bhfuil muinín ag an gcliant, staid chriticiúil nach mór a fhíorú ar an bhfreastalaí (damáiste, pointí, airgead), bailíochtú ionchuir ar iarraidh. Mol socrú chun freastalaí-údar a dhéanamh. Níl anseo ach chun mo chluiche féin a chosaint. Cód: [greamaigh]

4) Refactor dírithe ar fheidhmíocht:

Ritheann an cód seo ar gach fráma agus laghdaítear an ráta fráma: [cód].Faigh leithdháiltí, cuardaigh daor, agus oibríochtaí fráma ar fhráma nach bhfuil gá leo; Optamaigh gan bhriseadh iompar le taisceadh agus nuashonruithe níos lú minice. Mínigh na hathruithe.

Leid lag / Pras láidir

Leid lag:

Scríobh córas sábhála in Unity.

Gan leagan, formáid, raon feidhme sonraí, slándáil; Is é an toradh ginearálta agus risky.

Leid chumhachtach:

Inneall: Unity 2022.3, C #. Tasc: Córas sábhála/luchtaithe bunaithe ar JSON. Le sábháil: suíomh imreoir, fardal, dul chun cinn. Srianadh: faigh bainistíocht earráide i gcoinne éilliú comhaid; Cuir seiceáil sláine (hash) leis an gcomhad sábhála chun caimiléireacht a chosc trí é a athrú go héasca ag an imreoir. Déan trácht ar an gcód agus deimhnigh go bhfuil gach API ag an leagan seo.

Déanann leagan, scóip, láimhseáil earráidí, agus seiceáil sláine an t-aschur a chruasú.

Tábla comhthéacs innill/teanga

inneall

teanga

Cad a chaithfidh tú a thabhairt don AI

aird ar leith

aontacht

C#

Leagan, córas ionchuir/fisice

Leithdháileadh cothrom le dáta, saolré

neamhfhíor

Blueprint

Leagan, comhthéacs nód

Teorainneacha loighic amhairc

neamhfhíor

C++

Leagan, struchtúr modúl

Cuimhne, GC, macraí

il-imreoir

araon

samhail líonra

Láithreoir-údarachas

Botúin choitianta

  • Gan inneall/leagan a shonrú. Tagann sé ó API atá as dáta nó déanta suas.
  • Cód iontaofa gan é a thuiscint. Carnann fiacha neamh-inchothaithe.
  • Gan feidhmíocht a thomhas. Laghdaíonn leithdháileadh fráma-ar-fhráma an ráta fráma go ciúin.
  • Iontaobhas an chliaint. Tá leochaileacht cheating i il-imreora.
  • Ag iarraidh an córas ar fad ag an am céanna. Tá píosa beag intástáilte níos sábháilte.

Go hachomair

Is cúntóir cumhachtach é AI i gcód cluiche, ach éilíonn sé inneall, leagan, agus comhthéacs ailtireachta. Ná cuir isteach i dtionscadal é gan an cód a léamh agus a thuiscint, é a thiomsú agus a thástáil, agus feidhmíocht agus slándáil a sheiceáil. Údarachas an fhreastalaí a choinneáil in il-imreora agus bain úsáid as faisnéis slándála chun críocha cosanta agus fíoraithe amháin.

Tasc feidhmchláir

Roghnaigh comhpháirt bheag (m.sh. léim dhúbailte nó fardal simplí). Gin cód trí inneall agus leagan a sholáthar leis an teimpléad "iarratas cód le comhthéacs". Ansin bain rioscaí feidhmíochta agus fabhtanna tríd an gcód céanna a athbhreithniú leis an teimpléad “Cód tuairisc/athbhreithniú”. Déan an cód san inneall a thiomsú agus a thástáil.

seicliosta

  • [ ] Thug mé comhthéacs an innill, an leagan, na teanga agus na hailtireachta.
  • [ ] Léigh mé agus thuig mé an cód; Theastaigh uaim é le tráchtaireacht.
  • [ ] Rinne mé é a thiomsú agus a thástáil san inneall agus thomhais mé an fheidhmíocht.
  • [ ] Rinne mé seiceáil slándála sa chód líonra/eacnamaíochta/sábhála.
  • [ ] Níor úsáid mé ach faisnéis slándála chun mo chluiche féin a chosaint.