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

DoctorEarlyn

Frischling

  • »DoctorEarlyn« ist der Autor dieses Themas

Beiträge: 15

Beruf: Schüler

  • Private Nachricht senden

1

04.08.2012, 22:43

Erstes Projekt

Hallo zusammen,

Ich bin nun bald mit dem Buch durch und möchte dann ein Weltraumspiel kreieren im Stiel der Port Royale-/Patrizier-Reihe, allerdings werde ich voraussichtlich das alles etwas "simpler" gestalten. Halt eine Karte mit Raumstationen und Planeten mit denen man Handel betreiben kann. Ich will ein 2D-Spiel machen mit 2D-Grafiken. Meine erste Frage wäre, ob das ganze realisierbar für mich ist oder ob ich mich da völlig überschätze. :D Und meine zweite Frage wäre, welche Bibliotheken und Programme ihr mir empfehlen könnt. Soll ich da die "SDL" nehmen und Gimp für die Grafiken? Bin da etwas Ratlos.

Mein C++ Stand:

  • If-Anweisung und Schleifen
  • Funktionen
  • Array's
  • Zeiger
  • Klassen
  • Strukturen
  • Etwas Erfahrung mit der SDL
  • Variablen
Bin um jede Antwort dankbar.

Mfg Marc
Achtung: Kreative Signatur

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

2

04.08.2012, 22:54

Als Bibliothek würde ich dir eher zur SFML raten, die ist aktueller und zugänglicher: http://www.sfml-dev.org/
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

DoctorEarlyn

Frischling

  • »DoctorEarlyn« ist der Autor dieses Themas

Beiträge: 15

Beruf: Schüler

  • Private Nachricht senden

3

04.08.2012, 22:59

Danke dir für deinen Tipp. Was ich sehr gut finde ist, das sie Linux kompatibel ist.



Mfg
Achtung: Kreative Signatur

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

4

05.08.2012, 01:00

Um ganz ehrlich zu sein, für deine Idee ist deine Erfahrung noch zu mager, das merkst du auch daran, dass du gar nicht abschätzen kannst wie schwer die Aufgabe sein könnte.

Ich rate dir von SDL ab, da es eine veraltete C API verwendet und auch nicht nach modernen C++ ausgerichtet ist (z.B. manuelles Speichermanagment), da passt SFML doch schon ziemlich besser.

Am Besten fängst du mit einfachen kleinen Spielen an. Spiel Klone eigenen sich dazu sehr gut (Pong, Break Out, Astroids, Tetris, etc.). Dabei wirst du sehr viele Erfahrung sammeln können und wenn du ein paar fertige Produkte (d.h. nicht dass sie einfach grad knapp laufen, sondern das sie wirklich komplett abgeschlossen sind) hast, kannst du zu deiner ursprünglichen Idee zurück kommen (falls du immer noch so ein Spiel programmieren willst).
Dies man jetzt nach viel Arbeit klingen und das ist es auch. Programmieren lernt man nicht einfach über Nacht, auch wenn jetzt sicher wieder ein paar kommen werden und behaupten du sollst "einfach" anfangen. ;)
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

5

05.08.2012, 09:59

Zitat

Ich rate dir von SDL ab, da es eine veraltete C API verwendet und auch nicht nach modernen C++ ausgerichtet ist (z.B. manuelles Speichermanagment), da passt SFML doch schon ziemlich besser.

SDL 2.0 ist vor kurzen raus gekommen, soviel zu "veraltet". Die API ist vllt. nicht Klassen basiert aber das ist ja nicht das Maß aller Dinge. OpenGL müsste dann für dich ja auch völlig ungenügend sein.
Und manueller Speichermanagement hast du _immer_ in C++. Sobald du irgendwo Speicher anlegst musst du ihn auch wieder freigeben, da verfolgt die SFML keinen neuen Weg.

Also ich rate zu SDL und mal einen Blick auf Allegro zu werfen, das war auch selbst meine erste Bibliothek.

Wenn du nicht unbedingt bei C++ bleiben willst, wäre Python und Pygame (baut übrigens auf der SDL auf ;)) auch einen Blick wert, da du bei deinen Stand es nicht so schwer haben solltest Python zu lernen und man mit Python wohl mit am schnellsten sichtbare Resultate erzielt. Die Sprache ist am Anfang eh vollkommen egal. Aber das nur nebenbei.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

6

05.08.2012, 10:57

Soll das jetzt hier weiter gehen oder was? ^^

Wenn du schon Erfahrung hast mit SDL kannst du das wahrscheinlich gut weiterverwenden (ich kenn mich da nicht so aus). Der "hardcore" Weg wäre es OpenGL zu lernen und dort orthogonal Sprites zu rendern. Das würde ich dir aber nur empfehlen wenn du so viel Zeit und Lust hast wie ich und auch mal 3D Spiele programmieren willst.
Ansonsten hört man hier ständig SFML, sollte also nicht so schlecht sein.
Falls du was Plattform unabhängiges willst kannst du auch Java nehmen. Da ist der Kram für die einfache Grafikausgabe schon dabei und die Umstellung von C++ zu Java ist nicht allzu schwer.

Für die Grafiken würde ich auch Gimp nehmen oder Photoshop (die Einsteiger Version). Ansonsten kann man auch gut erstmal Platzhalter benutzen und viele Grafiken aus dem Internet nutzen (wenn sie denn kostenlos verfügbar sind). Falls einer deiner Freunde/Bekannten Lust hat Grafiken für dich zu machen ist das auf jeden Fall von vorteil, da das Programmieren alleine eigentlich Zeit genug kostet.

Und je nach dem was du alles einbauen willst ist dein Spiel nicht unrealistisch. Fang einfach an, schaff dir eine Basis und bau darauf ein komplexeres Spiel auf. Evt. solltest du vorher 2-3 kleinere Spiele schreiben (z.B. Pong, Tetris, ...).

S4My

unregistriert

7

05.08.2012, 14:31

Hi ^^ .

Wenn erlaubt so gebe ich jetzt auch einmal meinen Senf dazu ;) .

Ich denke das sein jetziges Wissen über C++ ausreichend ist um sich, wie andere schon gesagt haben, eine Basis aufzubauen. Was die kleinen Spielereien betrifft so denke ich sind sie gedacht um dich in das ganze hinein zu versetzten, also Planung bis Umsetzung eines Projektes. Genauso wie die Spiellogik an sich, liege ich da richtig? :D

Wenn du wirklich noch nicht so Erfahren mit der SDL bist so wäre es wirklich ratsam auf die SFML umzusteigen. Gründe hat ja schon eXpl0it3r genannt :D .
Was da vielleicht noch zu ergänzen ist, du hast bei der SFML sehr viele Dinge gleich dabei, wie etwa Soundausgabe oder das rendern von JPEGs, das müsste man nämlich bei der SDL mit weiteren DLLs ergänzen. Jetzt ohne dich abschrecken zu wollen, aber es gab und gibt hier sehr viele Fragen und Probleme mit diesem einbinden dieser Features der SDL.

Auch gut ist das die SFML komplett OOP ist. Dinge wie Spriteklassen oder Soundklassen muss man sich nicht mehr extra schreiben. Von daher dürfte die Handhabung gegenüber der SDL gerade für Einsteiger leichter sein. :)

Noch zur Plattformunabhängigkeit. Wenn ich mich recht entsinne könnte da doch auch C# herhalten, oder nicht? Soll, so munkelt man, teilweise stärker als Java sein, kann ich aber nicht bestätigen. Gut wäre dann aber auch, das man die SFML auch mit .NET-Sprachen, also eben C# verwenden kann ;) . Wie ich hier oft gelesen habe dürfte es auch für Einsteiger relativ gut geeignet sein.

Mlg
S4My

DoctorEarlyn

Frischling

  • »DoctorEarlyn« ist der Autor dieses Themas

Beiträge: 15

Beruf: Schüler

  • Private Nachricht senden

8

06.08.2012, 12:11

Hallo zusammen,

danke euch für eure Tipps und Ratschläge. Ich werde mir mal die SFML-Bibliothek mal genauer anschauen und mich kleineren Projekten wie "Tetris, Pong" etc. widtmen.

Mfg Marc
Achtung: Kreative Signatur

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

9

06.08.2012, 13:05

Tetris ist schon recht schwierig. Würde ich erst als drittes oder viertes Spiel machen.
Als ersten Klon finde ich einen "Mohrhuhnklon" mit Zielscheiben am geeignesten. Dann Pong, Snake, Tetris, Bejeweled usw.

Achja, schau dir nicht gleich alle SFML tutorials an und versuch bitte nicht sofort alles in Klassen zu kapseln. Schau dir immer die Tutorials an, die du gerade benötigst und fang klein an. D.h. du zeichnest erstmal ein Sprite in der Mainfunktion, dann bewegst du es und wenn alles funktioniert erstellst du eine Klasse Zielscheibe und verschiebst alles was dazu gehört aus der Mainfunktion in diese Klasse.
Viel Planung macht in deinem Stadium sowieso keinen Sinn, weil du eigentlich immer falsch liegst.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

10

06.08.2012, 15:42

Wie wäre es mit einem Pong?

Werbeanzeige