Mein (erstes) Dev Projekt - ein Clash of Heroes-like

Double geht unter die Spieleentwickler!

Moderator: Double

Antworten
Benutzeravatar
Double
Dixie Kong's Trouble
Beiträge: 77
Registriert: 20. Sep 2020, 17:21

Mein (erstes) Dev Projekt - ein Clash of Heroes-like

#1

Beitrag von Double »

Howdy!

Schon ein Weilchen trage ich die Idee zu einer eigenen Spiele-Entwicklung mit mir herum. Doch warum? Introducing Ubisofts Might & Magic: Clash of Heroes:



Ein vorzüglicher Puzzler basierend auf dem "Match 3"-Prinzip, entwickelt von Capybara Games und erstmals 2009 für den Nintendo DS erschienen. In den Folgejahren kamen Ports für PS3, Xbox360, PC und Mobile. Und erst kürzlich, im Juli 2023, eine Neuveröffentlichung als "Definitive Edition", die feature-wise meines Wissens eher ziemlich redundant ausgefallen ist, aber das Spiel in diesem Zuge immerhin auch auf die Nintendo Switch brachte.

Das Spielprinzip: zwei Gegenspieler verschieben (oder entfernen) auf den sich gegenüberliegenden Spielfeldern solange abwechselnd einzelne Einheiten, bis sie drei gleichartige davon entweder horizontal (für Verteidigung) oder vertikal (für Angriffsformationen) aneinandergereiht bekommen. Schafft man es mit einer Aktion gleich mehrere "Matches" zu erzeugen, bekommt man eine Extraaktion (zu sonst standardmäßig 3 pro Zug) spendiert. Geschaffene Angriffsformationen starten mit geringer Stärke und laden sich mit jedem absolvierten (gegnerischen) Zug weiter auf, bis sie nach einer festgelegten Anzahl von Zügen (z.B. 3 bei Speerkämpfern) ihre volle Angriffsstärke erreicht haben und einen vertikalen Angriff auf das gegnerische Spielfeld (in ihrer entsprechenden Spalte) starten. Dringen sie bis zur "Grundlinie" - hinter alle gegnerischen Einheiten - vor, werden die Lebenspunkte des Gegenspielers um die entsprechende verbliebene Angriffstärke der Formation dezimiert. Wer als erstes keine Lebenspunkte mehr hat, verliert den Kampf!
Dann gibt es auch noch Spezialeinheiten, die bei erfolgreicher Aufladung besondere Fähigkeiten (und Angriffsstärke) mitbringen, und... [weitere Ausführungen vom Lektor gekürzt, da sie hier den Rahmen sprengen würden].

Auf dem DS habe ich das alles damals nie gespielt und bin erst später irgendwann, auf Android, eingestiegen. Ich kann gar nicht mehr rekapitulieren, wie es dazu kam! Ich tendiere eigentlich nicht dazu, mir Spiele auf mobile zuzulegen :lol:
Wie dem auch sei, es war ein Glücksgriff! Der Port war mitunter instabil, die Einzelspieler-Kampagne mit einer seichten Fantasy-Story eher serviceable, aber meine Güte, dieses Gameplay! Lange auf dem Smartphone und viel später dann auch auf dem PC habe ich zusammen vermutlich insgesamt 600 Stunden (oder sogar noch mehr) damit verbracht. Größtenteils in einem lokalen 1 vs. 1 - gegen mich selbst! Yes, I'm weird like that!

Es gibt nur ein Problem: am Content hat man sich eben doch irgendwann ein bisschen sattgespielt. Wie gut wäre es, zur Abwechslung ein paar neue Fraktionen mit neuen Einheiten zur Auswahl zu haben? Und wenn schon nicht das, wieso muss ich mich eigentlich vor jedem Kampf für 2 von 5 Spezialeinheiten entscheiden (und tendiere dabei natürlich zwangsläufig zu denen, die sich deutlich öfter bewährt haben)? Und warum sind die Anpassungsmöglichkeiten im Allgemeinen eigentlich so dünn?! Da ginge doch viel mehr! Was ist mit anderen Spielmodi? Statistiken?! Und wo wir gerade dabei sind, ist die Umsetzung der Defensiv-Mechanik eigentlich wirklich der Weisheit letzter Schluss...?

Also ich sehe da zwei Möglichkeiten. Wir können ja nochmal 15 Jahre warten und gucken, ob Ubisoft die Reihe irgendwann doch nochmal aufgreift. Immerhin haben sie letztes Jahr diese eher überflüssige Definitive Edition herausgebracht :ugly:
Ein anderes Spiel wie dieses ist mir nicht bekannt(!) - was uns zu Möglichkeit Zwei führt:

Bild

Vielleicht habt ihr ja Bock, mich auf diesem Abenteuer zu begleiten!
Benutzeravatar
Yoshi
Site Admin
Beiträge: 1897
Registriert: 27. Apr 2020, 18:30
Nintendo Switch Friendscode: sw-2750-0200-3742
Xbox Live Gamertag: gfreaksyosh
PlayStation Online-ID: G-FYoshi

#2

Beitrag von Yoshi »

Ich bin gespannt, wie dir Gamedesign und Programmierung gefallen werden. Das sind schon sehr spezielle Tätigkeiten, gerade wenn man es als kleiner Indie macht und sich das Spielerfeedback quasi selbst generieren muss.
Benutzeravatar
Clawhunter
Beiträge: 1912
Registriert: 21. Jan 2021, 23:50

#3

Beitrag von Clawhunter »

Viel Erfolg, @Double
Bufko hat ja auch mit einem Game-Dev-Projekt angefangen (Point n Click).

Ich denke jeder langjährige Gamer spielt zumindest mal mit dem Gedanken :)
Vom Gedanken zum Game ist es aber u.U. ein sehr langer Weg.
Ich empfehle mal dieses interview vom sehr erfolgreichen Shapez (2)-Macher: Gift-Link. (ach wenn ich schon dabei bin, seh ich gerade ein schönes Interview des Chained Echoes Entwicklers, Gift-Link.)
Insb. spricht er halt an, dass sich viele Neulinge übernehmen, weil sie gleich das ganz große Ding machen wollen. Die Gefahr seh ich hier nur so halb, weil es ja bei deiner Spielidee ja durchaus Möglichkeiten gibt sich Schritt für Schritt heranzutasten (btw. das Genre eignet sich ja auch hervorragend als Browser-Game).

Mit Glück ist in einigen Jahren das AI-Tooling in Entwicklungsumgebungen so gut, dass auch Einsteiger recht gut/schnell kleine Games zaubern können. Weil ehrlicherweise muss man schon sagen, dass Programmieren (wie Yoshi indirekt ja sagt) nicht für jeden ist; schon sehr speziell. Bei mir selbst hats auch nur für kleine Scripts gereicht (aber immerhin :D).
Benutzeravatar
Yoshi
Site Admin
Beiträge: 1897
Registriert: 27. Apr 2020, 18:30
Nintendo Switch Friendscode: sw-2750-0200-3742
Xbox Live Gamertag: gfreaksyosh
PlayStation Online-ID: G-FYoshi

#4

Beitrag von Yoshi »

Clawhunter hat geschrieben: 12. Okt 2024, 13:15 Mit Glück ist in einigen Jahren das AI-Tooling in Entwicklungsumgebungen so gut, dass auch Einsteiger recht gut/schnell kleine Games zaubern können. Weil ehrlicherweise muss man schon sagen, dass Programmieren (wie Yoshi indirekt ja sagt) nicht für jeden ist; schon sehr speziell. Bei mir selbst hats auch nur für kleine Scripts gereicht (aber immerhin :D).
Double ist aber Informatiker, ich mache mir tatsächlich wenig Sorgen, dass er mit der Programmierung zurecht kommt :).
Benutzeravatar
Clawhunter
Beiträge: 1912
Registriert: 21. Jan 2021, 23:50

#5

Beitrag von Clawhunter »

Ach dachte er wäre Statistiker oder so :D
Wobei die vermutlich auch genug Code rumschubsen müssen^^
Benutzeravatar
Sun
Angry Sun
Angry Sun
Beiträge: 1849
Registriert: 27. Apr 2020, 19:10

#6

Beitrag von Sun »

Das Problem ist ja weniger das Programmieren können. Das ist halt eine Sache von vielen die gemacht werden muss. Bei mir würde es da eher an Grafik, Musik und wahrscheinlich auch Ideen mangeln. Ich hab auch schon mehrfach angefangen, aber das Durchhaltevermögen. Aber das scheint besser geworden zu sein, sonst hätten wir jetzt keine Releaseliste und Spielesammlung, auch wenn die etwas mehr Feinschliff vertragen könnten. Ich hoffe jedenfalls @Double bleibt dran, denn ich hab Clash of Heroes gut in Erinnerung.
Benutzeravatar
Double
Dixie Kong's Trouble
Beiträge: 77
Registriert: 20. Sep 2020, 17:21

#7

Beitrag von Double »

Clawhunter hat geschrieben: 12. Okt 2024, 13:15 Viel Erfolg, @Double
Bufko hat ja auch mit einem Game-Dev-Projekt angefangen (Point n Click).

Ich denke jeder langjährige Gamer spielt zumindest mal mit dem Gedanken :)
Vom Gedanken zum Game ist es aber u.U. ein sehr langer Weg.
Ich empfehle mal dieses interview vom sehr erfolgreichen Shapez (2)-Macher: Gift-Link. (ach wenn ich schon dabei bin, seh ich gerade ein schönes Interview des Chained Echoes Entwicklers, Gift-Link.)
Insb. spricht er halt an, dass sich viele Neulinge übernehmen, weil sie gleich das ganz große Ding machen wollen. Die Gefahr seh ich hier nur so halb, weil es ja bei deiner Spielidee ja durchaus Möglichkeiten gibt sich Schritt für Schritt heranzutasten (btw. das Genre eignet sich ja auch hervorragend als Browser-Game).

Mit Glück ist in einigen Jahren das AI-Tooling in Entwicklungsumgebungen so gut, dass auch Einsteiger recht gut/schnell kleine Games zaubern können. Weil ehrlicherweise muss man schon sagen, dass Programmieren (wie Yoshi indirekt ja sagt) nicht für jeden ist; schon sehr speziell. Bei mir selbst hats auch nur für kleine Scripts gereicht (aber immerhin :D).
Danke dir. Erstes und größtes Ziel ist für mich erstmal, einen "Prototypen" zu entwickeln, der nur aus einem (lokalen) 1v1 besteht. Davon ausgehend ist alles weitere dann relativ offen, natürlich mit schon ein paar Ideen in die eine oder andere Richtung.

Neben diesem erstmal kleinen Scope halte ich das "Dranbleiben" aus ein paar Gründen für, sagen wir mal, zumindest nicht völlig ausgeschlossen :D
Sehr vorteilhaft ist natürlich, dass das Kern-Gameplay im Grunde schon steht, und ich es quasi nur "reverse engineeren" muss. Den Code habe ich leider nicht aus dem Original-Spiel rausbekommen, also muss ich es jetzt eben nachprogrammieren :ugly:
Und dann mache ich das erstmal vor allem für mich selbst - ein ganz eigennütziger Antrieb, wodurch ich aber immer weiss, wieso/wofür ich das eigentlich mache.
Die Aussicht, das Spiel dann zumindest auf Coding-Ebene mit vergleichsweise geringem Aufwand erweitern zu können (wenn wir jetzt mal rein an sowas wie Einheiten mit neuen Fähigkeiten denken, was aber auch die elementarste Form neuen Contents für diese Art Spiel wird), ist natürlich auch gut.

Natürlich denkt man (ich) auch daran, das Ganze irgendwann mit anderen zu teilen, ist ja klar. Und man erwischt sich hin und wieder bei dem Gedanken, irgendwann mal (etwas) Geld damit verdienen zu können. Aber dahin ist es natürlich noch weit :lol:
Das Spielprinzip eignet sich aber finde ich sowieso sehr gut für ein Konzept mit zeitweisen "Content-Updates". Immer mal wieder ein paar neue Fraktionen, Einheiten, Maps, und das Ding kann theoretisch immer wieder Laune machen. Und das ließe sich ja auch entsprechend als "business model" für einen Releae auf Steam z.B. adaptieren.

Statistik habe ich eine Zeit lang versucht zu studieren, aber wie Yoshi richtig geschrieben hat, habe ich meinen Master mittlerweile in Info gemacht. Wobei das vielleicht auch nicht nur Vorteile hat, da sich das Entwickeln dadurch nicht weniger nach Arbeit anfühlt... was vielleicht auch ein Grund ist, weshalb es bis vor kurzem noch kaum mit diesem Projekt richtig voranging. Nach der eigentlichen Arbeit (und wenn die Kinder endlich im Bett sind) hatte ich selten die Muße, ... schon wieder zu entwickeln. Auch wenn meine Brotverdiener-Arbeit nicht nur aus Coding besteht.
Die von @Sun erwähnten Bereiche Grafik und Musik bereiten mir da auch schon eher etwas Kopfzerbrechen. Da werde ich aber im ersten Schritt (für den Prototypen) auf jeden Fall erstmal nur Platzhalter-Content nutzen :) und dann gucken wir mal. Ideen habe ich aber hoffentlich genug! :troet:

Jetzt war ich fast 3 Wochen krank, weshalb im Coding gar nichts voranging. Dafür habe ich hier und da etwas über das Spiel- bzw. Einheitendesign nachgedacht und bin da durchaus ein wenig vorangekommen! Vor allem beim Thema "Defensive" (vertikale 3er Matches) will ich das Spiel tatsächlich ein bisschen revolutionieren. Wie erfolgreich (read: spaßig) das wird, muss man dann am Ende sehen, notfalls kann ich immernoch das originale Konzept auch in dieser Hinsicht nachkopieren :lol:

Nachdem ich an meinem neuen Laptop jetzt auch Zugriff zu meinem Youtube-Kanal hinbekommen habe, will ich als Nächstes mal den bisherigen Fortschritt teilen. Also, sobald ich dazu mit genügend Muße und Energie komme :lol:
Verschwindet durch die Hintertür, um die kleine Tochter aus der KITA abzuholen
Benutzeravatar
Double
Dixie Kong's Trouble
Beiträge: 77
Registriert: 20. Sep 2020, 17:21

#8

Beitrag von Double »

Einen ersten Gehversuch startete ich vor schon ein paar Jahren in Unity. Über ein mäßig geeignetes 2D-Plattformer Beispielprojekt und Google habe ich versucht, mich der Sache anzunähern, aber das Projekt ist bald wieder eingeschlafen.

Dank den Timestamps der entsprechenden Bildschirmaufnahmen lässt sich der nächste Versuch zeitlich genau zurückdatieren. Oktober '22! Da bin ich dann irgendwie über Fanatical (ehemals Bundle Stars) an ein AppGameKit Studio Bundle geraten und habe mich dann dort ein bisschen ausgetobt. Nach ein bisschen Gebastel in GIMP (für den insbesondere farblich sehr... interessanten Hintergrund), der Suche nach 1-2 frei verwendbaren Grafiken für Einheiten und fleißigem Gegoogle für's Coding konnte schließlich folgender Stand erreicht werden:



Yay, mit Klick auf eine Koordinate innerhalb(!) des Spielfelds lasse ich eine Einheit in die entsprechende Spalte teleportieren. Damit lässt sich (vielleicht) arbeiten.
Den Spaß habe ich damals schon auf Bennis Discord-Server geteilt:

Bild

Nun, longish story short, ich war von AppGameKit Studio nicht überzeugt genug, um diesem VEHEMENTEN Widerstand standzuhalten (Der Mann geht in die Mucki-Bude!). Das, was ich bisher zusammengefriemelt hatte, schien mir etwas, ja, friemeliger, als es mir lieb war. Also irgendwann wieder Unity installiert und Projekt wieder eingeschlafen........
Benutzeravatar
Double
Dixie Kong's Trouble
Beiträge: 77
Registriert: 20. Sep 2020, 17:21

#9

Beitrag von Double »

Nächster wichtiger Punkt auf der Zeitachse: das große Unity-Aktivierungs-Gebühr-Debakel. Dieser selbst verschuldete PR-Albtraum hat sogar ein Studio wie Megacrit verkünden lassen, dass sie als Reaktion darauf ihr geheimes Projekt (das mittlerweile als Slay the Spire 2 gelüftet wurde) von Unity auf die Open Source Engine Godot umziehen werden.

Weil ich ein cooler linker Indie-D(o)ude bin, habe ich Unity natürlich auch erstmal fallen lassen (davon müssen sie sich erstmal erholen!) und angefangen, mir die Godot-Dokumentation anzugucken :)

Fast Forward zu, erneut, einer Diskussion im Discord, in dem unser :diplodocus: darüber auspackt, welch horrende Gebühren Godot für die zur Portierung auf nicht-PC-Systeme notwendige Tools veranschlagt. Open Source my ass. Ich, zunehmend gelangweilt von den Spielen, die ich ausprobiere und zeitgleich denkend, ich sollte stattdessen lieber endlich mein eigenes Spiel machen (!), konfrontiere den hüpfenden Schurken :yoshi:, welche Engine er denn nun für mich empfehlen würde.

ich bin ehrlich gesagt davon ausgegangen, dass wir wieder bei Unity landen, ABER: (und damit kommen wir langsam in Nähe der Gegenwart an)

Bild
Benutzeravatar
Double
Dixie Kong's Trouble
Beiträge: 77
Registriert: 20. Sep 2020, 17:21

#10

Beitrag von Double »

Ich habe gerade nochmal geguckt, es gibt scheinbar nur ein "Heroes of Match", aber kein Match of Heroes, wie es mein ursprünglicher Arbeitstitel war (siehe Video oben). Wo ich namentlich aktuell stehe, sieht man ja im Screenshot oben, aber MoH fände ich tatsächlich angesichts der "Inspiration" am geschicktesten! Und wie jeder weiss, ist der richtige finale Spielname erstmal das Wichtigste an der ganzen Produktion.

GameMaker also!
Das hat verlockender Weise sogar ein Match-3 Beispielprojekt. Mit Donuts. Das sah, nachdem ich als erste Amtshandlung das Spawning der Köstlichkeiten etwas runtergedreht habe, so aus:

Bild

Mit dem Donutprojekt habe ich dann erstmal versucht, mich der neuen Engine anzunähern, und es direkt schonmal in Richtung meines eigenen Spieldesigns umzukrempeln:

Bild
Bild

Die Donuts habe ich dann noch eine Weile rollen lassen, irgendwann aber eingesehen, dass es mehr Sinn macht, den Projektcode komplett wegzuschmeissen und mit einer eigenen leeren grünen Wiese ganz neu anzufangen. Als Einstieg in die Engine (und Progammiersprache, "GameMaker Language" (duh)) war das aber soweit ganz brauchbar, denke ich!

to be continued ...
Benutzeravatar
Double
Dixie Kong's Trouble
Beiträge: 77
Registriert: 20. Sep 2020, 17:21

#11

Beitrag von Double »

Um das zu lösende "Problem" erstmal möglichst klein zu halten reduzieren wir das Spiel im ersten Schritt erstmal nur auf die Spielhälfte EINES Spielers. Wir klammern die natürlich später nötigen Interaktionen zwischen den Spielern bzw. deren Spielhälften (vor allem jeweiliger Angriff und entsprechende Verteidigung) erstmal aus. Was bleibt, sind zwei quasi identische Spielhälften, nur eben in der horizontalen Mitte des Bildschirms gespiegelt!

Nach etwas Coding haben wir jetzt also ein erstes Spielfeld. Was ist das Nächst-Wichtigste? Genau, Spielfiguren darauf, die man bewegen ka... aber eins nach dem anderen. Wir müssen das Spielfeld befüllen!
In Clash of Heroes startet man die Kämpfe immer mit einer bestimmten Anzahl an Donuts äh, wir nennen sie jetzt Einheiten. Per Rechtsklick kann man einzelne Einheiten direkt "löschen", was übrigens eine SEHR häufig angewendete Mechanik ist: die Einheiten "hinter" der gelöschten Einheit rücken nach, und wenn dadurch nun ein Match entsteht, kriegt man den Spielzug direkt wieder zurück, da das als Combo zählt! Aber das erstmal nur am Rande. Wieso ich das mit dem Löschen an dieser Stelle eigentlich erwähne: die Einheiten auf den Feldern werden natürlich weniger. Bildet man offensive (vertikale) Matches und überleben diese ihre "Aufladezeit" (z.B. 3 Runden), starten sie einen Angriff. Und sind danach auf jeden Fall "weg", egal wie erfolgreich das Kommando jetzt war. Wenn der Gegner uns angreift, verteidigen wir das mit unseren vorhandenen Einheiten und aktiven Matches, falls vorhanden. Und verlieren dadurch ebenfalls Einheiten auf dem Feld.

LONG STORY SHORT. In Clash gibt es daher eine Funktion (per Button), um Verstärkungen zu rufen. Neue Einheiten besudeln äh besiedeln jeweils einen zufälligen freien Platz auf dem Spielfeld. Problem-Verkleinerung also für uns im ersten Schritt: EINE neue Einheit besudelt einen zufälligen freien Platz auf dem Spielfeld. Das Ganze habe ich dann erstmal auf einen Druck der "R"(einforcements)-Taste der Tastatur gemappt. (Steam Deck / Controller-support kommt erst später :lol:)

Haben wir irgendwas vergessen? Achja, damit man was sieht, wäre es natürlich schön, was sehen zu können. Also brauchen wir jetzt die angesprochene Platzhalter-Grafik(en)! Bitte nicht wieder die Donuts, da kriege ich immer Phantomzucker.

Wie ihr euch erinnert (falls ihr bis hierhin alle Walls of Text gelesen haben solltet) bin ich ja nicht an den Quellcode (im Gegensazu zum gestern offiziell öffentlich gemachten Rogue Legacy-Quellcode übrigens) gekommen, deswegen haben wir jetzt den Salat hier.
Wo ich aber nach ein bisschen Suche im Installationsordner von Clash schon herangekommen bin, ist.............

Nunja, hier jedenfalls unser erster vorzeigbarer Stand mit absoutely not stolen art:



Was sehen wir hier?
Die spätere untere Spielfeldhälfte. Ich drücke mir den R-Tasten Finger wund, damit ihr möglichst oft die tolle erste (Lauf-)Animation in unserem Spiel bewundern könnt!

Bild
Benutzeravatar
Clawhunter
Beiträge: 1912
Registriert: 21. Jan 2021, 23:50

#12

Beitrag von Clawhunter »

R
Benutzeravatar
Double
Dixie Kong's Trouble
Beiträge: 77
Registriert: 20. Sep 2020, 17:21

#13

Beitrag von Double »

Aufgrund Krankheit und Kindergeburtstag ging es zuletzt weder mit einem Aufschließen zum bisherigen Stand hier, noch mit einer Weiterentwicklung des Spiels selbst weiter. Aber langsam juckt es wieder in den Fingern :dagger:
Benutzeravatar
Sun
Angry Sun
Angry Sun
Beiträge: 1849
Registriert: 27. Apr 2020, 19:10

#14

Beitrag von Sun »

Dann drücke sie dir mal wieder wund
Benutzeravatar
Double
Dixie Kong's Trouble
Beiträge: 77
Registriert: 20. Sep 2020, 17:21

#15

Beitrag von Double »

Nachdem wir jetzt also Einheiten auf das Spielfeld bekommen können (yay), sieht die nächste Zutat für den Zaubertrank vor... dass wir mit diesen auch etwas machen können. Duh!
In Clash kann man sich die jeweils "letzte" Einheit einer Spalte schnappen und sie dann auf Kosten einen Spielzugs auf einen beliebig anderen freien Platz stellen. Mit dem schlussendlichen Ziel, vertikale oder horizontale Dreier-Kombos zu bilden. Das nur zur Erinnerung.

Das "Selektieren" einer Einheit sieht dann so aus:


Uuuund hier meine erste Version dieser Funktionalität:
Antworten