Opdelte systemer del 2 - Battle part 1

Som en del af mit spil vil jeg gerne have en form for turnbased kamp system som man kender det lidt fra de tidlige Final Fantasy spil.

Til mit battle system skal jeg bruge:

  • Jeg skal have nogle particle effects som jeg kan smide på spells
  • jeg skal have nogle spawn position som mine characters (både fjender og frendlies) spawner på.
  • Mine characters skal have nogle stats (Liv, mana, navn, maxliv)
  • mine characters skal kunne angribe hinanden og tage skade.
  • Jeg vil ikke kunne styre mine fjender, så jeg skal have lidt AI som kan bestemme hvad en fjende skal gøre og hvem den skal gøre tingene mod
  • Jeg skal kunne starte en battle.
  • Jeg skal kæde mine commands sammen med noget UI så jeg kan klikke på og udstede kommandoer i en battle.
  • spawning processen skal automatiseres, så fjenderne eller player character ikke behøves hardcodes in i min battle scene.
  • Jeg skal kunne teste mit system.

På et tomt gameobject tilgøjer jeg en partikle effect og et sample billede i dette tilfælde bare i små hvide kasser som jeg i Unity's partikle editor kan give en anden farve. Ligesom jeg manipulere antal partikler, trasparency, duration & fart på mine partikles og dernæst gemmer jeg mine partikles som prefabs, (NOTE: da prefabene her automatisk skal spawnes når et spell skal kastes så skal jeg i min prefab sikre mig at min partikle ligger på det rigtige sorting layer, og at det har det rigtige navn.

Spawnpoints opretter jeg ved oprette tomme gameobjekter i min battlescene hvorpå jeg smider mit Spawnpoint.cs script, disse spawnpoints tilføjer jeg her efter i 2 parent gameobjekter alt efter om derer et enemy spawnpoint eller et player spawnpoint (lists om man vil).

I PartyMember.cs og Enemy.cs opretter jeg fields for mine character stats. jeg vælger at Serialise disse fields så jeg kan tilgå og redigere dem fra inspectoren i Unity editoren og dermed give hver enkelt prefab sine egne private værdier som disse prefabs så kan tage med in i min gameworld når de bliver spawnet.

Link til Github

Add comment