Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

12.05.2012, 20:09

Space-Pong

Hi,

ich wollte euch gern mein erstes fertiges Spiel vorstellen:


Allgemeines

Das Spiel heißt Space-Pong und ist, wie man am Namen erkennen kann, ein Pong-Klon. Nachdem ich das Buch "C++ für Spieleprogrammierer" von Heiko Kalista durchgearbeitet habe, bin ich mit diesem Spiel angefangen und habe es jetzt nach ein paar Monaten fertiggestellt (gab aber zwischendurch auch mehrere Pausen:P).
Das Spiel an sich ist ja nicht unbedingt komplex, ich habe trotzdem versucht, möglichst viele verschiedene Sachen mit einzubauen. Z.B. gibt es drei verschiedene Schwierigkeitsstufen im Singleplayer und man kann zwischen Fenstermodus und Vollbild wechseln. Die Einstellungen werden in einer seperaten Datei gespeichert und werden bei einem Neustart des Spiels wieder geladen.


Grafik

Ich habe alle Grafiken in dem Spiel selbst erstellt. Ich bin noch totaler Anfänger im Grafikdesign und habe auch kein Grafik-Tablet o.ä. Also das Spiel nicht unbedingt nach der Grafik bewerten, da habe ich auch nicht meinen Fokus drauf gesetzt. Zum erstellen der Grafiken hab ich übrigens Paint.net verwendet.


Steuerung

Man steuert das Spiel nur mit der Tastatur. Im Menü benutzt man die Pfeiltasten und die Entertaste zum bestätigen. Beim Spiel gegen den Computer steuert man sein Paddel mit Pfeiltasten nach oben und unten. Im Multiplayer steuert man das linke Paddel mit w und s und das rechte mit den Pfeiltasten.


Technik

Das Spiel ist in C++ geschrieben und als Grafik-Api benutzte ich die SDL, da diese auch im Buch von Kalista verwendet wurde. Zum Einblenden des Punktestandes wird die SDL-Erweiterung SDL-ttf genutzt, alle andern Schriften sind BMP-Dateien. Ich habe den komletten selbst geschrieben, bis auf die Sprite und die Singleton-Klasse, die habe ich aus dem Buch übernommen und z.T. etwas verändert. Für den Gamestate-Manager habe ich mich in einem Tutorial "inspirieren" lassen, ihn aber für meine Zwecke verändert.




Hier einmal alle Features im Überblick:

  • Single- und Multiplayer
  • Ball wird nach je 15 sec. ohne Punkt schneller
  • bewegt sich das Paddel, während der Ball auftrifft, ändert sich der Winkel des Balls
  • drei verschiedene Schwierigkeitsstufen (Easy, Medium, Hard)
  • Wechsel zwischen Fenstermodus und Fullscreen (1920x1080, beim Wechsel gibt es aber manchmal einen Bug und man muss das Spiel neu starten)
  • Einstellungen bleiben bei Neustart erhalten
Ich würde mich über eure Meinungen und Verbesserungsvorschläge freuen!

Den Sourcecode habe ich mal mit in den Ordner gepackt, falls ihn sich einer ansehen will. Ich hoffe, das alle benötigten DLL´s dabei sind, wenn nicht einfach melden.



Hier schonmal ein paar Screenshots:


EDIT: Hab die zlib1.dll jetzt auch hinzugefügt.
»michi_95« hat folgende Datei angehängt:
  • Space-Pong.zip (874,78 kB - 57 mal heruntergeladen - zuletzt: 28.10.2023, 06:05)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »michi_95« (13.05.2012, 16:07)


2

12.05.2012, 21:01

Habe es mal getestet und finde es ganz nett für den Anfang :).
Du könntest auch eine Spur hinter dem Ball ziehen lassen, wenn du Erweiterungen einbauen willst. Ich wollte mal den Fullscreen Mode einschalten, jedoch hat sich nur das Viewport (damit meine ich, es hat nur einen Zoom gegeben) verändert.

PS: zlib1.dll fehlt

MitgliedXYZ

Alter Hase

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

3

12.05.2012, 21:03

Cool, endlich mal ein Projekt, dass erfolgreich (von einer einzelnen Person) umgesetzt werden konnte...
Finde ich schön, wie detailliert du das Spiel entwickelt hast (Multiplayer, Schwierigkeitsstufen, etc.) und das es nicht einfach "zusammengeklickt" wurde mit GameMaker und Co. (nicht böse nehmen, ich verwende ihn selbst ab und zu, aber es ist doch wirklich besser selbst etwas zu entwickeln, gerade in einer Sprache wie C++).
Einziger Nachteil an deinem Spiel: Ich glaube fast niemand würde es sich installieren, da jeder schon den Inhalt von Pong kennt...
Update: Oh, hab mich doch getäuscht, der Beitrag ist erst seit kurzem online und das Spiel wurde schon vier mal runtergeladen.

Geheim

Treue Seele

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

4

13.05.2012, 00:25

Hi michi,
Also für dein erstes Spiel ist das doch schon sehr gut!

Wenn du Änderungen machen willst:
Es gibt einen kleinen Grafikbug beim Spieler (vielleicht ja nur bei mir): Wenn man den Spieler nicht bewegt ein kleiner roter Strich, wenn man ihn nach oben bewegt ein weißer Strich etwa in der Größe des Spielers (links hinter dem Spieler)
Und der Computer rechnet sich die nächste Ballposition aus? Und besonders bei Hard merkt man, dass er zittert (weil du ihn denk ich mal rauf bewegst, bis er den berechneten Punkt erreicht, dann ist der Punkt wieder etwas unterhalb, dann wieder runterbewegst, usw...)

Und das schon genannte: Die zlib1.dll fehlt und bei Vollbild zoomt das Spiel rein, statt Vollbild ;)

Aber das sind nur Kleinigkeiten die mir aufgefallen sind und am Spiel selbst nicht ausschlaggebend sind!
Ich finde es gut, dass du gleich alles, was man einbauen kann, auch eingebaut hast (Optionen, Multiplayer...) und kann nur sagen weiter so!

MfG Geheim!

5

13.05.2012, 16:15

Vielen Dank schonmal für eure Antworten! :D

Das mit dem Vollbild (also das nur gezoomt wird) ist mehr oder weniger so gewollt. Das liegt daran, das ich das Spiel von Anfang an in 1920x1080 entwickelt habe und auch die Grafiken dementsprechend erstellt habe.
Für die, die vielleicht keinen Full-HD Monitor besitzen, habe ich dann noch einen Fenstermodus eingebaut und alle Sprites einfach runterskaliert. Deshalb gibt es im Fenstermodus auch auf der linken Seite einen kleinen Grafikfehler.
Wenn ihr also einen Full-HD Bildschirm habt, würde ich empfehlen, es in Fullscreen zu spielen.

Die fehlende DLL ist jetzt übrigens auch dabei.

6

02.09.2012, 15:36

Du kannst die Grafiken auch unter PNG speichern. Somit ersparst du dir das Tranzparentmachen, der violetten Farbe und die Grafiken/Sprites sehen somit besser aus :D
Jedoch musst du dann noch die SDL_Image hinzufügen. Es lohnt sich aber :D
Programmiersprache: C++
Fortschritt: Grundkenntnissse

7

02.09.2012, 19:53

Du kannst die Grafiken auch unter PNG speichern. Somit ersparst du dir das Tranzparentmachen, der violetten Farbe und die Grafiken/Sprites sehen somit besser aus :D
Jedoch musst du dann noch die SDL_Image hinzufügen. Es lohnt sich aber :D

Danke für deinen Tipp. :)
Aber ich denke nicht, dass ich an dem Projekt nochmal was ändere.

Werbeanzeige