2014. május 3., szombat

Pioneer Project #1 - Skill rendszer

Végre vállalható állapotba került a Pioneer Project skill rendszere. A konkrét képességek még nincsenek kialakítva, de a rendszer már kezeli a fő típusokat. A számolási rész teljes egészében a szerver oldalon fut, a kliens a megjelenítésért felel, illetve egyenlőre a célpont kiválasztásért. Ez utóbbit majd nagy eséllyel át kell költöztetnem a szerverre, de egyenlőre nem akartam szerver oldali fizikát létrehozni, így a "hacker-barát" megoldást választottam.
Íme egy rövid kis videó arról, hogyan is néz ki. Sajnos nem sikerült két klienssel felvennem, mert valamitől haldoklik a gépem, a 10 fps-es videón meg nem sok látszódott volna. Így kénytelenek lesztek elhinni, hogy ezek működnek multiplayer módban is és még sebzik is a másik játékost. :)


A kliens oldalon ötféle célpont választás (targetelés) van lekezelve:
  • Self - a skill a használójára hat
  • Crosshair - a skill arra hat, akit a célkereszttel becéloztunk, ha a célpont nem érvényes, akkor a képesség self-nek minősül. (a videóban a fehér áldás-szerű effect ilyen)
  • Melee - Már a projekt elejétől ragaszkodtam ahhoz a megoldáshoz, miszerint a közelharci fegyver pengéjének (sebzőfelületének) el kelljen érnie a célpontot sérüléshez. Ehhez a unity Raycast-ját használom, mely a fegyver markolatától indul, és a hegyéig tart. Találat akkor jön létre amikor ebbe a vonalba bekerül egy ellenséges collider.
  • Projectile - Távolsági támadásokhoz (íjászat, tűzlabda a videóban) egy lövedék jön létre, aminek el kell találnia a célpontot.
  • AOE - területre hat. Itt aránylag könnyű dolgom volt, mert hasonlít a lövedékhez, csak nem mozog. Viszont amit meg kellett oldani az a terület kijelölése. Ehhez egy külső assetet használtam. Röviden egy projektort mozgat oda ahova az egér mutat. Ha eszembe jut honnan töltöttem le, berakom az asset ajánlóba.
Még egy típusra lesz majd szükségem: az Aurára. Ezt olyan skillek fogják használni, melyek létrejötte után változó mennyiségű célpontra vannak hatással. Egyik példa erre a tűzfal, ami létrejötte után azokra sebez bizonyos időnként, akik a hatótávolságán belül vannak. Másik példa, amiről végül el neveztem, a karakter körül lévő valamilyen méretű aura, mely különféle módon hathat a benne lévőkre. 

0 megjegyzés:

Megjegyzés küldése