Combaterea luptelor este o distracție preferată în videogame, nucleul nenumăratelor serii, atât bine-cunoscute, cât și obscure, și o experiență tensionată și captivantă când este făcută bine. Mulți dezvoltatori de jocuri au luat un joc de două ființe care o scot afară, până când nu se mai pot bate și se gândeau: "acest lucru ar fi mult mai bine dacă ar exista tone de nenorociți! "Uneori este adevărat, dar adesea suma este mai mare decât părțile sale și lupta o mulțime de" baddies "dintr-o dată nu este la fel de interesantă, adâncă sau nuanțată ca o luptă una câte una.
Multe jocuri de luptă corp la corp nu folosesc nici un AI deosebit de special atunci când luptă împotriva mai multor adversari. Acest lucru înseamnă adesea că lupta împotriva a doi adversari este mai greu exponențial decât lupta împotriva unuia, pentru că ambii atacă în același timp, dar nu poți decât să te răzbuni cu adevărat împotriva unuia dintre ei. În cele mai grave cazuri, când luptăm cu hoardele de dușmani, aceasta poate însemna că strategia optimă este de a conduce inamicul într-o singură linie de fișiere, apoi de a le ataca unul câte unul în timp ce înapoi! Asta nu se simte foarte fantastic sau interesant, nu-i așa??
Introduceți cercul de luptă. Aceasta este o bucată de cod AI care îi spune inamicilor să se înconjoare intenționat în jurul jucătorului și să atace doar atunci când jucătorul are șansa de a reacționa. Aceasta forțează dușmanii să lupte într-un stil și un ritm care este mult mai distractiv pentru jucător ... chiar dacă este de fapt o tactică foarte bună de luptă!
Principalul motiv pentru care doriți să folosiți cercuri de luptă este să lăsați jucătorul simți ca și cum se luptă cu mulți dușmani simultan, fără a se confrunta cu adevărat real provocare de a lupta mai multe dușmani la o dată. Astfel, chiar în centrul său, un cerc de luptă este o iluzie. În mod deliberat faci lucrurile mai ușor pentru jucător, astfel încât să poată experimenta fantezie de a lua o grămadă de tipi la o dată și știind că vei ieși în viață, la fel ca în orice film de arte marțiale.
Un cerc de luptă nu trebuie să funcționeze la fel pentru fiecare joc; dacă alegeți să o utilizați, trebuie să vă petreceți timpul adaptându-l la joc. La un capăt al spectrului, aveți cercuri de luptă "cinematice", cum ar fi în Assassin's Creed sau Batman: Arkham Asylum, unde vrăjmașii așteaptă cu răbdare răsuflarea lor înainte de a încerca să atace și dau jucătorului avertisment suficient pentru a face față atacurilor primite. În celălalt capăt, aveți cercuri de luptă "periculoase", cum ar fi în Dark Souls, unde dușmanii vor încerca să rămână unul pe celălalt, dar în caz contrar nu aveți nici o problemă să vă agresați masiv.
Folosesc cuvintele "cinematic" și "periculos" pentru a descrie tipul de experiență pe care jucătorul este de așteptat să o aibă în interiorul cercului; este mai mult o experiență audio-vizuală interesantă pe care trebuie să o simtă jucătorul confortabil în, sau ar trebui să fie a vulnerabil poziția pe care ar trebui să o încerce să o evite?
Acest concept poate fi simplificat în continuare prin simpla gestionare a sumei presiune pe player. În mod specific, acesta este suma motivării pe care trebuie să o facă jucătorul pentru a reacționa împotriva dușmanilor în cercul de luptă. Un cerc de joasă presiune va lăsa jucătorul să aștepte ca atacurile de intrare să contracareze sau să atace un anumit dușman fără retribuție imediată. Un cerc de înaltă presiune va forța jucătorul să aleagă "lupta sau zborul" imediat ce se află în cerc, astfel încât intrarea în cerc în primul rând ar trebui să fie o decizie tactică premeditată. În timp ce se află într-un astfel de cerc periculos, jucătorul trebuie să decidă imediat cine să atace, cine să controleze și când și cum să scape.
Am oferit un fișier de tip Unity, complet funcțional, dacă este minimalist, în ritmul "beat-em-up". Dacă nu folosiți unitatea, ar trebui să aveți în continuare o idee despre cum să adaptați codul cercului de luptă la orice limbă și motor pe care îl utilizați. Fișierele care vă interesează sunt EnemyMob.cs și SwordzPlayer.cs.
Iată cercul de luptă în acțiune. Faceți clic pe demo pentru a acorda focalizare, apoi utilizați tastele săgeți pentru a vă deplasa și apăsați X pentru a biff.Cercul de luptă AI funcționează în felul acesta (din perspectiva inamicului):
În primul rând, umblați spre jucator până ajung la o rază de "pericol"
În timp ce sunteți în modul "periculos", nu vă apropiați prea mult de un alt inamic, decât dacă îmi dau permisiunea de a ataca jucătorul. (Avoider.cs.)
De asemenea, în modul "periculos", încercați să abordați jucătorul. Dacă sunt prea mulți dușmani în calea mea, nu voi reuși să ajung la jucător până când dușmanii nu se mișcă sau jucătorul se mișcă.
Când jucătorul se află în raza "atacului" meu (aproximativ domeniul maxim al atacului meu) întreabă jucătorul dacă îmi este permis să atacă. Dacă da, adăugați-mă la lista atacatorilor curenți pe obiectul jucatorului. (A se vedea SwordzPlayer.cs.)
numărul maxim permis de atacatori simultan (simultaneousAttackers
în SwordzPlayer.cs) este esențială în echilibrarea cercului de luptă. Un număr mai mare determină o creștere exponențială în presiune. În exemplul demo am setat la 2
; mai puțin șchiopătător și mai multe jocuri "cinematice" au pus-o la 1
. Dacă puneți acest număr prea mare, învingeți scopul cercului, deoarece grupurile mari de dușmani devin inamovibili sau pot fi înfrânți numai cu tactici neclintitoare.
O importanță similară este și răul de atac inamic (rata atacurilor
în EnemyMob.cs). Aceasta nu este cea mai rapidă posibilă rată de atac a inamicului, dar cât de des se va întâmpla alege să atace când ți se dă permisiunea. După cum v-ați aștepta, un număr mai mic crește presiune, dar ar trebui să aveți, în general, acest lucru de câteva ori mai mare decât rata reală de atac. Puteți face această rată un pic mai imprevizibil (și astfel suma de presiune ușor mai puțin previzibil) prin creșterea numărului de persoane attackRateFluctuation
, care va crește sau scădea rata de atac după fiecare atac.
Folosind acest sistem, aveți mijloacele de bază pentru a crea acea iluzie a puterii, ceea ce îl face mult mai distractiv pentru jucătorii dvs. să lupte o mulțime de dușmani simultan.
Există tone de modificări minore și adăugiri pe care le puteți face pentru luptă în interiorul cercului pentru a fi chiar mai interesante:
Aduceți astfel sucurile creative care curg! Acesta este doar începutul: faceți cercul de luptă o parte centrală a gameplay-ului dvs. și faceți propria versiune a cercului care se potrivește bine cu ta joc.