C++ ...

Der Anlaufpunkt für alle, die selbst ein Adventure programmieren wollen.
Antworten
Möchtegern Abenteurer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 02.07.2004, 13:57
Kontaktdaten:

Plattform

Beitrag von Möchtegern Abenteurer »

Damit hier kein Streit ;-) entsteht, werden wir es mit SDL machen! Das haben wir zwar noch nicht abgesprochen, aber da sind wir uns einig. Habe mir schon einige Gedanken zur Umsetzung der Engine gemacht! Ich bin wirklich gespannt ob wir das schaffen! Da sind wirklich komplexe Themen drinnen. Aber ich schätze mit genügend Feedback aus gewissen Foren und ner Menge Engagement ist das machbar. Da ich mir heute nen Batzen C++ reingezogen habe, werde ich meine Meinung über diese Sprache wohl ändern: Einfach fantastisch was man alles machen kann. Und logisch ist es auch!

Gruß Michi
PS: An meinem AGS Adventure arbeite ich dennoch weiter :lol:
Linux is like a Wigwam: No Windows, no Gates and inside a apache!
theDon
Rätselmeister
Rätselmeister
Beiträge: 2219
Registriert: 11.06.2002, 18:22
Wohnort: gone (forever)
Kontaktdaten:

Re: Plattform

Beitrag von theDon »

Möchtegern Abenteurer hat geschrieben:Einfach fantastisch was man alles machen kann. Und logisch ist es auch!
gerade templates sind unheimlich mächtig, wenn man sie richtig einsetzt. ich weiß garnicht, was ihr alle so an java findet. :P
Wer Ironie oder beleidigende Inhalte in diesem Beitrag findet, darf sie behalten.

http://www.thwboard.de | http://oph-qfb.sourceforge.net
Möchtegern Abenteurer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 02.07.2004, 13:57
Kontaktdaten:

Java

Beitrag von Möchtegern Abenteurer »

Java ist keine schlechte Sprache! Allerdings ist C++ einfach extrem Mächtig. Nicht nur was die Schnelligkeit anbelangt. Spaß macht es auch!

Gibt es eingentlich ein gutes Forum zu C++?
Michi
Linux is like a Wigwam: No Windows, no Gates and inside a apache!
Benutzeravatar
max_power
Zombiepirat
Zombiepirat
Beiträge: 10065
Registriert: 16.04.2002, 20:30
Wohnort: Uppsala
Kontaktdaten:

Re: Plattform

Beitrag von max_power »

theDon hat geschrieben: ich weiß garnicht, was ihr alle so an java findet. :P
Meiner Erfahrung nach, findet die Mehrheit C++ besser. Ich kenne es noch nicht gut genug, um wirklich eine qualifizierte Meinung zu haben. Bisher gefällt mir aber Java besser, da es einfacher ist. Sicher ist C++ mächtiger, aber man muss meiner Meinung nach mehr wissen; insgesamt finde ich Java etwas durchdachter / logischer.
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

Benutzeravatar
john_doe
Logik-Lord
Logik-Lord
Beiträge: 1302
Registriert: 06.05.2001, 20:58

Beitrag von john_doe »

Naja, für mich sind die Templates in C++ eher ein Hack, um "modernen" Ansprüchen zu genügen.
Im Prinzip sind das ja erweiterte Makros, die dann halt der Compiler auswertet (mal böse ausgedrückt).
Jedenfalls sollte man sie bedacht anwenden, hab schon zu viel Zeugs gesehen, wo quasi jeder Käse ein Template für ein anderes Template war, Übersicht = NULL.
Möchtegern Abenteurer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 02.07.2004, 13:57
Kontaktdaten:

Welche Sprache ist egal

Beitrag von Möchtegern Abenteurer »

Hi!

Eine Engine zu erstellen ist sehr Zeitaufwändig! Ich hoffe Micha und ich können etwas auf die Beine Stellen. Davon hab ich ja schon immer mal geträumt... :D
Allerdings habe ich noch nie sowas gemacht. Schon allein der Gedanke eine Klasse für den Hauptcharakter zu schreiben mit den nötigen Funktionen (bzw Methoden) usw. Dann den Charakter am Bildschirm anzeigen und ihn mit Mausklicks umherschicken. Das komplizierteste ist wohl, denke ich, die Klassen zu schreiben. Dann müsste man noch Pathfinding programmieren, da gibt es ja auch verschiedene Lösungsansätze und und und. Welche Programmiersprache ist egal. Der Aufwand dürfte bei einer Grafikengine wohl der gleiche sein!
Ausser man benutzt BlitzBasic oder so. Aber ich möchte auch lieber mit C++ proggen. Das hilft für Später. Kann man immer brauchen!
Ich hoffe nur Micha meldet sich bald!
;-)

Michi
Linux is like a Wigwam: No Windows, no Gates and inside a apache!
Benutzeravatar
john_doe
Logik-Lord
Logik-Lord
Beiträge: 1302
Registriert: 06.05.2001, 20:58

Beitrag von john_doe »

Auf jeden Fall ist es sehr wichtig, sich vorher die Klassen usw. genau zu überlegen, UML usw. muß ja nicht sein (:)), ich schreib das ganze in eine Textdatei und spiel mir dann immer das Zusammenspiel der Klassen usw. durch.

In meiner Engine gibt es im Prinzip nur eine Klasse "Actor", deren Objekten es im Endeffekt egal ist, ob das Objekt der Ego-Charakter ist oder nur ein Npc, das verwaltet die drüberliegende "Schicht."

Und zum Pathfinding gibt's imo nur zwei Ansätze (jedenfalls bei Adventures), das wären 1.) ein Matrix-Wegnetz und 2.) A*.
Die Scumm-Spiele z.B. benutzen Ansatz 1., AGS benutzt so wie es aussieht A* (oder?).
Hat beides seine Vor- und Nachteile. Je nachdem, wie die Klassen dann designt sind, könnte man theoretisch zwischen beidem wechseln bzw. später im Zweifel einbauen und sehen, was besser ist.

Ich wünsch dir jedenfalls viel Glück damit!
Möchtegern Abenteurer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 02.07.2004, 13:57
Kontaktdaten:

eine Klasse

Beitrag von Möchtegern Abenteurer »

Ja! Die Planung ist immer schwer. Damit alles übersichtlich bleibt und das auch alles perfekt zusammenpasst. Ich habe mir auch schon überlegt nur eine Klasse für die ganzen Chars zu nehmen.
Mit was für einen Teil der Programmierung fängt man eigentlich an, wenn man eine Engine like SCUMM proggen will? Ich habe mir schon viele Gedanken gemacht. Hat jemand einen Vorschlag?
Gruß Michi
Linux is like a Wigwam: No Windows, no Gates and inside a apache!
Benutzeravatar
max_power
Zombiepirat
Zombiepirat
Beiträge: 10065
Registriert: 16.04.2002, 20:30
Wohnort: Uppsala
Kontaktdaten:

Re: eine Klasse

Beitrag von max_power »

Möchtegern Abenteurer hat geschrieben:Mit was für einen Teil der Programmierung fängt man eigentlich an, wenn man eine Engine like SCUMM proggen will? Ich habe mir schon viele Gedanken gemacht. Hat jemand einen Vorschlag?
Hm, ich glaube, darüber kann man sich wirklich viele Gedanken machen. Auf die Schnelle fallen mir ein:
Räume ohne Charaktere, worauf man dann aufbauen kann.
Charaktere ohne Räume, worauf man dann aufbauen kann. ;)


Na ja, vielleicht eher das Ausschlussprinzip?
Ton kann man zunächst getrost weglassen.
Besondere Optionen wie speichern auch, versteht sich von selbst, höchstens schon mal bei der Erstellung der ersten Objekte im Hinterkopf behalten, dass man das ganze irgendwann mal speichern muss.
Das Menü ist auch noch nicht so wichtig, erstmal würde ich den Charakter eh erst gehen lassen. (Was aber gar nicht so schwer ist, zumindest in Java, aber C++ sollte da ja auch nicht viel schwerer sein, vor allem, da die Charaktere ja gleich schneller unterwegs sein müssten. ;) )
Weglassen würde ich auch die Animationen, zuerst einen Charakter mit immer dem gleichen Standbild.

Grob gesagt würde ich mit der Darstellung der Objekte beginnen, dann mit der Bewegung des Charakters. Dann ihn nach und nach zum Sprechen bringen etc.
Wenn man das ganze richtig gut durchplant (vielleicht nicht UML, aber schon auf ähnliche Weise vorüberlegen), kann man eigentlich gleich recht gut loslegen und auch zu Beginn schon viel Funktionalität implementieren. Allerdings muss man dann auch damit rechnen, die ersten zwei bis drei Wochen nur zu planen.
Möchtegern Abenteurer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 02.07.2004, 13:57
Kontaktdaten:

gute Idee

Beitrag von Möchtegern Abenteurer »

Das ist schonmal gar nicht dumm finde ich! Dennoch werde ich auf die Antwort auf Micha warten, da er schon mehr Erfahrung als ich hat. So kann er mir sagen was konkret zu tun ist. Bin ja schonmal gespannt! SDL kann ich eigentlich nur jedem Empfehelen. Lässt sich schnell lernen und man kann vieles damit machen. Aber wohl eher nur im 2D Bereich (was ausreicht) 3D ist mit SDL nicht so gut glaube ich. Michi
Linux is like a Wigwam: No Windows, no Gates and inside a apache!
Benutzeravatar
Certain
Rätselmeister
Rätselmeister
Beiträge: 1908
Registriert: 26.07.2002, 01:32

Beitrag von Certain »

Ich würde eher nicht mit der Darstellung der Objekte beginnen, sondern mit der zugrundeliegenden Spiellogik. Eine saubere Projektplanung mittels UML darf aber bei einem Projekt dieser Größenordnung auf keinen Fall fehlen.

@Möchtegern Abenteurer: Ich will Dir nicht auf den Schlips treten, aber Du scheinst im Bereich Softwareentwicklung sehr unerfahren zu sein. Das beste wäre sicherlich, wenn Du zuerst mehrere kleine, Überschaubare Projekte realisierst, um etwas Erfahrung zu bekommen. Das ist besser als diese ganzen "Spieleentwicklungsbücher", von denen ich noch nie viel gehalten habe. Daher mein Tipp: mach dich rasch mit SDL oder einer anderen Grafikbibliothek vertraut, und programmieren dann erst mal was Kleines der Marke "Verschiebepuzzle" oder "Minesweeper".
Ich will Dich mit diesen Vorschlägen nicht desillusionieren, sondern nur vor Frustration bewahren.
Bye,
Certain

Benutzeravatar
john_doe
Logik-Lord
Logik-Lord
Beiträge: 1302
Registriert: 06.05.2001, 20:58

Re: gute Idee

Beitrag von john_doe »

Möchtegern Abenteurer hat geschrieben:3D ist mit SDL nicht so gut glaube ich. Michi
SDL für 3D gibt's ja im Prinzip gar nicht, wenn man 3D mit SDL machen will nimmt einem SDL nur die Fenster-Initialisierung etc. ab, danach verwendet man normales OpenGL.
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

Certain hat geschrieben:Das beste wäre sicherlich, wenn Du zuerst mehrere kleine, Überschaubare Projekte realisierst, um etwas Erfahrung zu bekommen. Das ist besser als diese ganzen "Spieleentwicklungsbücher", von denen ich noch nie viel gehalten habe. Daher mein Tipp: mach dich rasch mit SDL oder einer anderen Grafikbibliothek vertraut, und programmieren dann erst mal was Kleines der Marke "Verschiebepuzzle" oder "Minesweeper".
Ich will Dich mit diesen Vorschlägen nicht desillusionieren, sondern nur vor Frustration bewahren.
Wahrscheinlich hältst du nichts von diesen "spieleentwicklungsbüchern" weil du noch nie ein gutes gelesen hast.
Aber gerade in den büchern von Andre Lamothe, sind sehr viele beispiele der marke der verschiebepuzzle enthalten, ausserdem viele tricks und techniken, auf die man alleine nie draufkommt.
den wenn man spiele programmieren will, hat es nicht viel sinn sich ein buch über datenbankprogrammierung zu kaufen, abgesehen davon dass soetwas onehin hier niemanden interessiert.
Und für jedes problem selber das rad neu erfinden zu müssen, ist wohl nur etwas für masochisten.
trotzdem ist es eine gute idee, sich erstmal kleinere ziele zu setzen, auf denen man eventuell das grössere aufbauen kann.
Benutzeravatar
Certain
Rätselmeister
Rätselmeister
Beiträge: 1908
Registriert: 26.07.2002, 01:32

Beitrag von Certain »

Von Datenbankprogrammierung hat ja keiner was gesagt, aber es gibt sehr gute Bücher zu...
  • jeder beliebigen Programmiersprache
  • Softwareentwicklung
  • allgemeinen Konzepten der Grafikprogrammierung
  • Algorithmenentwurf
  • speziellen Bibliotheken
  • usw.
Und ein "Spieleentwicklungsbuch" versucht nun mal, das alles unter einen Hut zu bringen, was auf 300 Seiten aber kaum möglich ist. Daher habe ich in der Tat noch nichts in der Richtung gesehen, was ich überzeugend gefunden hätte. Wahrscheinlich gibt es auch bessere Werke, keine Frage, aber mehr als einen groben Einstieg kann man da wohl nicht erwarten. Und da man letzten Endes ohnehin das Wissen einiger der oben genannten Bücher benötigt, würde ich mir diese sofort kaufen, auch wenn das erst mal der härtere Weg ist.

Dass in dem von Dir genannten Buch erst mal kleine Projekte verwirklicht werden, klingt aber tatsächlich nach einem guten didaktischen Ansatz.
Bye,
Certain

Antworten