Herzlichen Glückwünsch zum ersten "fertigen" Spiel
Was mich allerdings wundert ist, warum ich das .NET Framework 3.5 installieren muss. Du hast das Spiel doch mit C++ und SFML ohne Unterstützung von .NET programmiert.
Aber nun zum Spiel. Was ich übrigens schonmal schön finde, dass die Schiffe zumindest eine kleine Animation haben.
1. Verbesserungsvorschläge
Da es sich um dein
erstes Spiel handelt, ist das Ergebnis natürlich kein
Knüller des Jahres. Für ein erstes Spiel gefällt es mir aber schon ganz gut. Aber ich habe einige Verbesserungsvorschläge, die ich hier einmal aufliste.
1.1 Musik & Sound
Du solltest noch Musik und Sounds einbauen. Das sorgt für eine bessere
Atmosphäre.
1.2 Spielmenü
Das Spiel hat kein Spielmenü sondern man ist sofort im Gefecht. Das ist nicht sehr schön. Bereits ein kleines Intro "Bitte Enter drücken" oder ähnliches hätte gereicht. Auch einen Highscore gibt es nicht.
1.3 Vollbildmodus
Das Spiel startet im Fenstermodus. Besser wäre es, den Benutzer entscheiden zu lassen, ob er Vollbild- oder Fenstermodus möchte.
1.4 Animationen
Schön wäre z.B. eine kleine Explosion wenn ein Schiff getroffen wird. Und wenn ein Schiff ganz zerstört wurde, eine größere Explosion.
1.5 Features
Bisher ist das Spielprinzip relativ langweilig. Um es spannender zu machen, könntest du beispielsweise mehr Waffen und verschiedene
Schiffsmodelle zur Auswahl stellen.
Zusätzlichen könntest du auch noch einen kleinen Einzelspielermodus hinzufügen, indem man Asteroiden oder feindlichen Schiffe zerstören muss. Und wie bereits erwähnt, wäre ein Highscore auch nicht falsch.
2. Bugs
Was mich stört ist, dass wenn einer der beiden Spieler gewinnt, es kein richtiges Ende des Spiels gibt.
Es erscheint lediglich der Text "Spieler 1/2 hat verloren". Danach kann man immernoch weiter spielen und die HP wird dann sogar negativ.
Eine schnelle Lösung wäre, einfach das Spiel automatisch wieder von neuem beginnen zu lassen. Oder wenn du ein Spielmenü eingebaut hast, einfach dorthin zurückzukehren.
Zudem wird das Schiff, sobald man es zu weit in eine Richtung bewegt hat, wieder in die Mitte gesetzt. Besser wäre das Schiff einfach zu stoppen und nicht mehr weiter in eine Richtung zu lassen, damit es den Bildschirm nicht verlässt.
3. Wie verbessern?
Es ist dein erstes Spiel. Die ganzen Verbesserungen einzubauen ist sicherlich keine leichte Aufgabe für dich. Aber du musst bedenken, dass ich mich noch sehr zurückgehalten habe. Und die anderen Community-Mitglieder werden sich automatisch auch zurückhalten. Eben weil es dein erstes Spiel ist.
Aber eigentlich ließe sich da noch wesentlich mehr verbessern. Aber ich wollte nicht gleich übertreiben.
Versuche erstmal die einfachen Sachen zu verbessern. Füge Musik & Sounds hinzu und versuche ein kleines Spielmenü zu bauen. Das Spielmenü muss nicht gleich super komplex mit UI-Skins, etc. werden. Es reicht zu Anfang, ein einfaches Spielmenü wie z.B. bei dem Spiel in diesem Thema: https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=11573 zu erstellen.
Wenn du das verbessert hast, ist das Spiel schonmal nen Stückchen weiter. Versuche also Stück für Stück das Spiel zu verbessern. Wichtig ist aber, das du dir irgendwo eine Grenze setzt. Weil sonst das Problem auftritt, dass man immer mehr und mehr verbessern möchte. Womit das Spiel niemals fertig wird.
Es muss auch nicht beim 2D Top-Down Shooter bleiben. Es gibt noch viele andere 2D Genres. Wenn du also dein erstes Spiel fertig hast, dann versuch danach mal ein anderes Genre. Evtl. ein Tetris, Arkanoid, etc. zu entwickeln.
Das sind natürlich alles einfache Spiele, aber du wirst dadurch automatisch immer besser werden. Deine Spielmenüs, Features, etc. werden automatisch von Spiel zu Spiel immer besser. Weil du mit der Zeit ein Gefühl dafür entwickelst und auch immer mehr dazulernst.
Mit freundlichen Grüßen
Kasenoru