Battle Domination

Kommentare anzeigen Worklog abonnieren

Worklogs Battle Domination

Abänderungen, Grafiken, Dies&Das

Montag, 22. Dezember 2014 von AnniXa
Nun gibt es schon im 2ten Worklog Abänderungen an den Einheiten / Schadensformen,
Ich konnte mich nun mit mir selbst auf folgendes Schadens-Modell einigen:
Es gibt 3 Schadensarten und 3 Einheitentypen, womit sich im Grundstock 9 Einheiten typen ergeben,
Einheitentypen: Leicht, Gepanzert, Beritten
Schadenstypen: Stich, Klinge, Hieb
Für den Einheiten Grundstock mische ich also jeweils jeden schadenstypen und jedem einheitentypen, und komme so also auf 9 Einheiten, für den Anfang sollte dies reichen.
Je nach Lust und Motivation rüste ich später noch spezielle Einheiten und Fähigkeiten nach.

Die ersten 3 Einheiten
Die 3 Grundeinheiten die man zu anfangs bauen kann, sind an sich eher zum Ressourcen verdienen da, und die spawnende Einheit ist nicht wirklich dazu gedacht den Gegner zu bezwingen, im Grunde genommen ist sie sogar ein Handicap, da sie dem Gegner günstige Kills einbringt sobald der anfängt "Richtige" truppen aufzustellen.
Wenn man also Zuviel auf Ressourcen spielt, bekommt der Gegner viele Billige kills und profitiert evtl von den damit verbundenen Boni.

Existend sind also nun die 3 Grundeinheiten mitsamt Gebäuden:
Gebäude - Spawn
Bauernhof - Bauer (Leichte Einheit, Stichschaden)
Bergwerk - Bergmann (Leichte Einheit, Hiebschaden)
Holzfällerhütte - Holzhacker (Leichte Einheit, Klingenschaden)

Man baut also welche von diesen Gebäuden, bzw man muss sogar denn Den Bauernhof braucht man für sein Supply (also Pro Bauernhof kann man mehr Andere Gebäude bauen), Holzfäller und Bergwerk braucht man für ein einkommen an Holz und Eisen.
Aber dafür spawnen eben auch diese schwachen Einheiten.
Hier meine ersten Pixelein für die ersten Gebäude

user posted image


Programmiermäsiges
Das laden der Eigenschaften der Einheiten aus einer .ini Datei war natürlich kein Problem, spannender ist eher wie man das so organisiert das auf dauer auch mehrere tausend Einheiten flüssig umherlaufen, nach Gegner vor sich aus schau halten, und ggf denen auf die Mütze hauen.

Dazu ist die map in Tiles unterteilt (sieht man evtl. an den grünen Kästchen, das sind einfach RND farben für die Tiles)
Die Tiles zählen wieviel Einheiten sie von jeder Faction (BLUE oder RED) in "sich" haben, so sind fast alle prüfungen davon eigentlich nur eine abfrage in der art:
BlitzMax: [AUSKLAPPEN]
If Battlefield.Instance.map[tilex + 1][tiley].Reds > 0 Then

was nicht weiter schlimm sein sollte, Jedes tile hat halt ne liste mit den Einheiten darin drin,
Diese ist auch wichtig fürs zeichnen, weil ich so von oben nach unten die „Tilereihen“ durchgehen kann, so das es selten zu grafischer Überlappung kommt (ein Königreich für ein Z buffer in mojo)

Ausblick
Nun is ja erstmal Weihnachten, da wird wohl nicht viel passieren, danach jedoch steht das Schadensystem auf dem Plan, Aktuell werden ja einfach 5 HP abgezogen pro hit, und alle haben 100HP, da kommt dann natürlich ein richtiges System rein was den Schadenstyp gegen den Einheitentyp auswertet und so weiter.

Dann weiteres einbauen/pixeln der militärischen Einheiten, Lanzenträger, Schwertkämpfer, Hammerkämpfer sowie diese dann jeweils noch in Berittener Form.

Zudem geht es dann daran den Base ausbau zu gestalten, das is der bereich unter dem Schlachtfeld Rechts
user posted image

Das wars erstmal von der Front, Frohe Weihnachten euch allen^^

Projektvorstellung: Battle Domination

Donnerstag, 18. Dezember 2014 von AnniXa
Da ich nun neben Job und Lernen ein bisschen Zeit habe, habe ich beschlossen mein neues Projekt mal wieder zu "WorkLoggen", ist ja schon Mehrere Jahre her das ich dies getan habe.

Hierbei handelt es sich um ein Spielidee die ich von einer Starcraft/Broodwar bzw Starcraft 2 Map adaptiert habe, dem einen oder anderen ist sie ja vielleicht bekannt, es handelt sich um "Dessert Strike" bzw. besser bekannt ist glaube ich die variante "Dessert Strike 1337".

Das Spiel läuft folgendermaßen ab:
Es gibt ein Schlachtfeld, und 2 Spieler, in Intervallen z.B. alle 5 Sekunden gibt es für beide Spieler einen Spawn an Einheiten.
Was gespawnt wird hängt davon ab was der Spieler in seiner Base (abseits vom Schlachtfeld) an Gebäuden aufgestellt hat.
Die Einheiten laufen über die map auf die gegnerische Seite zu bis sie ein Gegner treffen den sie angreifen können, oder bis sie zum gegnerischen Hauptgebäude vorgedrungen sind und dieses zerstört haben.

Die Slots auf denen man Gebäude bauen kann sind begrenzt, zudem kosten Gebäude Geld, Geld bekommt man durch das töten von gegnerischen Einheiten, sowie von Gebäuden die dauerhaft Geld einbringen anstatt Einheiten zu spawnen.

Zudem gibt es über das Schlachtfeld verteilt Minen, welche demjenigen der die Region um sie herum kontrolliert ein kleines Extra einkommen geben.

Die Einheiten haben verschiedene stärken und schwächen, und Müssen in einem Schere-Stein-Papier System gegeneinander ausgespielt werden.

Im Grunde ein relativ simples System aus Schadenstypen und Rüstungstypen:

Gepanzert:
Schwach gegen Magie, Stark gegen Nahkampf

Leichte Rüstung
Schwach gegen Nahkampf, Stark gegen Fernkampf

Magische Rüstung
Schwach gegen Fernkampf, Stark gegen Magie

Somit ergeben sich für 3x3 Einheiten Kombinationen, sowie noch verschiedene Stärkestufen.
Das Balancen erfolgt über eine Formel, so das man im Grunde immer auf die Einheiten des Gegners schauen muss, und seine Truppen entsprechend anpassen muss.

Wer zu erst das gegnerische Hauptgebäude zerstört hat gewonnen.
Gespielt wird gegen KI Gegner, Zielplatfromen sind Kongregate und Google Play.

Das ist die grobe Grund Idee.

Verwenden tue ich Monkey und das von mir und PhillipK eigens gebaute Framework, welches nur mojo und ein paar BRL Grund Sachen (fileloader etc) benötigt um zu funktionieren.

Einen ersten kleinen Eindruck wie das in etwa aussehen könnte sowie einen kleine Performance-Test gibt es Hier:
https://dl.dropboxusercontent....yGame.html

Nichts besonders an sich, einfach ein Haufen Leute die sich mit Heugabeln bekämpfen und versuchen die gegenüberliegende Seite zu erreichen =)
Die Spawn-menge kann mit Numpad +/- variiert werden (evtl. vorher clicken für den Focus)