C++ ...

Der Anlaufpunkt für alle, die selbst ein Adventure programmieren wollen.
Antworten
Benutzeravatar
Hanuka
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 879
Registriert: 14.05.2002, 10:15
Wohnort: Soest
Kontaktdaten:

Beitrag von Hanuka »

Ich würde sagen, Möchtegern Abenteurer hat schon jetzt den Benutzertitel 'Hobby-Archäologe' verdient...
"Ich nahm seinen Kopf, und ich nahm seine Frau, noch bevor sein Blut kalt war" -- Albert Einstein
Benutzeravatar
max_power
Zombiepirat
Zombiepirat
Beiträge: 10065
Registriert: 16.04.2002, 20:30
Wohnort: Uppsala
Kontaktdaten:

Beitrag von max_power »

Vor allem ist C++ Mist, zumindest wenn man Visual Studio und MFC benutzen MUSS.
Musste mal gesagt werden, und dafür ist mir auch kein veraltetes Thema zu schade, wenn es denn schonmal da ist. ;)
theDon
Rätselmeister
Rätselmeister
Beiträge: 2219
Registriert: 11.06.2002, 18:22
Wohnort: gone (forever)
Kontaktdaten:

Beitrag von theDon »

mit wxWidgets rockt das aber. :P
Wer Ironie oder beleidigende Inhalte in diesem Beitrag findet, darf sie behalten.

http://www.thwboard.de | http://oph-qfb.sourceforge.net
Benutzeravatar
max_power
Zombiepirat
Zombiepirat
Beiträge: 10065
Registriert: 16.04.2002, 20:30
Wohnort: Uppsala
Kontaktdaten:

Beitrag von max_power »

theDon hat geschrieben:mit wxWidgets rockt das aber. :P
Und ohne Visual Studio schätze ich!? ;)

Na ja, ich mag Java trotzdem lieber, Microsoft hat mir den Spaß an C++ verdorben… ;)
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 eine tolle Sprache!!! Keine Frage. Damit mache ich am meisten. C++ lerne ich im Moment noch mit einem Buch. Ehrlich gesagt finde ich es sehr abschreckend!

Eigentlich tue ich mit das nur an, damit ich vielleicht viel Später mal eine Adventure Engine proggen kann.

Allerdings verstehe ich eins nicht: Warum ist C++ in der Masse so beliebt? Es ist doch ein haufen Quellcode dahin bis man überhaupt ein Fenster erzeugt! Meiner Meinung nach hat Microsoft das ganze ein bisschen versaut. Bissal unübersichtlich geworden!

Was meint ihr?
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:

Beitrag von max_power »

Mit wxWindows / wxWidgets soll man angeblich auch recht übersichtliche Programme hinbekommen und Microsoft kann C++ im Grunde nicht versaut haben, nur die MFC sind übel und von Microsoft. Müsste ich nicht damit arbeiten (und dem gerne abstürzendem Visual Studio), wäre es vielleicht ein wenig einfacher und übersichtlicher, aber bei MFC steige ich kaum durch, alles per Hand machen würde vermutlich nicht klappen.
Da liegt für mich ein Vorteil von Java: Mit Swing kannst du richtig schön objektorientiert deine GUI erstellen und recht einfach die verschiedenen Elemente auf deine Bedürfnisse anpassen. Leider sieht es allerdings auch nicht immer so richtig gut aus, aber so dramatisch ist das nicht. Java ist in meinen Augen deutlich einfacher, du musst dich nicht mit Pointern, Header-Dateien oder Makefiles rumschlagen. Es werden nicht überall tausend spezifische Module eingebunden etc.
Wenn du eine Adventure Engine erstellen willst, nimm lieber Java, denn das ist plattformunabhängig. C++ ist mit Sicherheit schneller, aber heute sind die Rechner so leistungsstark, dass Plattformunabhängigkeit meiner Meinung nach in dem Bereich interessanter ist. Gut mit Java kannst du das Problem bekommen, dass nicht auf allen Rechnern ohne weiteres .jar Dateien ausgeführt werden können (kein Java installiert), aber dafür gibt es zumindest unter Windows Lösungen, die lauffähige .exe Dateien erstellen.
Vor allem hättest du mit einer Java-Engine aber den Vorteil, dass sie fast einzigartig wäre.
Möchtegern Abenteurer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 02.07.2004, 13:57
Kontaktdaten:

Hi

Beitrag von Möchtegern Abenteurer »

@max_power!

Du wirst es nicht glauben, aber ich habe in Java schonmal angefangen eine Engine zu coden. Du hast recht mit Swing. Das ist easy! Aber leider ist es so, dass man trotzdem mega viel Zeit mitbringen muss! Paralell zur Schule wurde das etwas stressig. Ich mache vielleicht in den Sommerferien weiter.
Michi
Linux is like a Wigwam: No Windows, no Gates and inside a apache!
Micha
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 36
Registriert: 23.05.2004, 21:10

Beitrag von Micha »

Finde C++ eigentlich ganz "einfach", und es ist ja auch einigermaßen Plattformunabhängig...

Pointer sind ne super Sache, ermöglichen richtig schönes Programmieren, und schneller ist immer besser, denn so kannste mehr Sachen reinbringen, bzw ist es nicht ganz so schlimm wenn du mal eine Klasse/Funktionversaut hast...

Ok mit Java habe ich noch nicht wirklich gearbeitet, muss es jetzt aber auch für die Schule nehmen, aber denke schon das C++ gut ist, wenn man einfach "professionell" programmieren will, hier ist das ja eher noch im Hobby-Bereich, da reicht dann Java...
Benutzeravatar
max_power
Zombiepirat
Zombiepirat
Beiträge: 10065
Registriert: 16.04.2002, 20:30
Wohnort: Uppsala
Kontaktdaten:

Beitrag von max_power »

Na ja, dass C++ nicht gut ist, finde ich auch nicht, wenn man's kann, ist es sicher auch eine schöne Sache. Vielleicht liegt es einfach daran, womit man eingestiegen ist, das ist bei mir nunmal Java. Es ist vermutlich einfacher als C++. Von daher ist es vielleicht ein wenig schade, dass wir im Studium eine Veranstaltung für Java haben, aber uns C++ selbst beibringen müssen. Und da ich das in den Ferien nicht getan habe, heißt es jetzt direkt ins kalte Wasser. Und da GUI-Programmierung mit dem Einbinden fremder dlls sicher nicht zu den trivialsten Aufgaben gehört, stehe ich jetzt dementsprechend blöd da. Vielleicht bin ich auch nur deshalb C etwas negativ eingestellt.
Aber das mit der Plattformunabhängigkeit bei C++ ist wirklich ein Nachteil. Ich schätze, dass zumindest eine der Engines Visionaire, AGS oder AGAST in C geschrieben ist, trotzdem gibt's alle drei soweit ich weiß nur für Windows. Für AGS habe ich zwar von einer Linux-Version gehört, aber die soll (noch) nicht so gut sein.
Richtig klasse wäre es, wenn man einen Editor für ScummVM Spiele erstellen könnte, dann hätte man direkt die größte Möglichkeit, sein Spiel zu verbreiten.
Zuletzt geändert von max_power am 04.07.2004, 14:41, insgesamt 1-mal geändert.
Möchtegern Abenteurer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 02.07.2004, 13:57
Kontaktdaten:

@Micha

Beitrag von Möchtegern Abenteurer »

Nun ja, C++ ist sicher toll, sonst würde es nicht so hoch geschrieben werden in der Computerwelt! Allerdings finde ich den Einstieg heutzutage irgendwie schwer. Ich habe auch mit Java angefangen und habe bisher keine Möglichkeit gefunden C++ ordentlich zu lernen! Wie hast dus denn gemacht Micha?
Gruß Michi
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:

Beitrag von theDon »

Es ist doch ein haufen Quellcode dahin bis man überhaupt ein Fenster erzeugt
das hat erstmal _rein garnichts_ mit c++ zu tun. falls du dich auf winapi beziehst: selbst schuld (die ist btw in c geschrieben). du kannst genausogut winapi mit assembler benutzen. winapi ist _kein_ bestandteil von c++.

letztlich hängt das stark vom `gui toolkit of choice' ab, wie aufwändig das ist, ein fenster zu erzeugen. (und das geht auch in anderen sprachen, teilweise mit den selben gui toolkits.)

also merken: `fenster' sind kein bestandteil von c++, sondern zusatzlibs.

--

max: visual slickedit kickt zb. (ist allerdings nicht unbedingt billig ~~)
Wer Ironie oder beleidigende Inhalte in diesem Beitrag findet, darf sie behalten.

http://www.thwboard.de | http://oph-qfb.sourceforge.net
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

normalerweise lernt man nicht gleich c++, sondern fängt einmal gemütlich mit C an, damit lernt man einmal prozedurales proggen und alle standard-konstrukte dieser sprache.
wenn man das einmal beherscht, (dann kann man schon sehr viel und hat sicher keine gröberen probleme mehr, mit den scriptsprachen von ags, agast, oder wintermute)
kommt C++ dazu was die ganze sache noch um die objekt-orientierte komponente erweitert, danach hat man in der regel auch keine probleme mehr mit anderen sprachen wie java oder php die sehr ähnlich sind.

um spiele komplett selber zu programmieren ist das allerdings nur der anfang, denn dann muss man sich noch um die betriebsumgebung kümmern, für die man programmiert, im normalfall ist das windows, also kommt man nicht umhin sich auch zumindest das notwendigste in der windowsprogrammierung anzueigenen.
wenn man auch das beherscht, kommt noch dazu dass man sich mit den game-apis auseinandersetzen muss, also open-gl, oder directX.
natürlich muss man auch noch verstehen wie ein game vom rein technischen ablauf funktioniert, zB: wie man ein bild in den sichtbaren speicher der grafikkarte lädt, danach das nächste in den unsichtbaren teil, das im richtigen moment überblendet, usw...
ausserdem normalerweise mathematische grundkenntinsse, ZB: wie verhält sich ein ball wenn er von einer wand aprallt physikalisch korrekt, usw.
dabei hat man natürlich von 3d programmierung überhaupt noch keine ahnung.
zu jedem der oben genannten themen gibt es unmengen von büchern, es gibt aber auch ein paar gute die sich komplett auf game-programmierung beziehen, hier ein paar bücher die mich auf meinem lernweg begleitet haben und die zu empfehlen sind:

Grundlagen in C und
Grundlagen in C++ - G. Wilms
Windows Programmierung
Game-Programmierung
Game Programming
Game-Programming in Englisch

das wichtigste sind unmengen Zeit und Geduld, wer dich das nicht zutraut, soltte C lernen und einen Editor verwenden:
Wintermute dürfte qualitativ sehr hochwertig sein,
AGS ist einsteigerfreundlicher, mit einer riesigen community
Benutzeravatar
-BigDaniel-
Süßwasserpirat
Süßwasserpirat
Beiträge: 304
Registriert: 18.09.2003, 15:19
Kontaktdaten:

Beitrag von -BigDaniel- »

@Markus Laubner: Mich wunderts, dass die Spielefirmen - wie Pendulo Studios - ihre Adventureengines nicht verkaufen. Ich würde ordentlich dafür zahlen, weil ich mir ja dann nicht C++ leisten muss

Ich will ja nicht oberschlau klingen oder ein Spielverderber sein aber wenn du dir wirklich eine Enginw abkaufen willst wird das richtig ins Geld gehen ein übertriebendes beispiel die neue Unreal-Engine (UT2004) kostet 350.000 $........
Zuletzt geändert von -BigDaniel- am 04.07.2004, 16:50, insgesamt 1-mal geändert.
theDon
Rätselmeister
Rätselmeister
Beiträge: 2219
Registriert: 11.06.2002, 18:22
Wohnort: gone (forever)
Kontaktdaten:

Beitrag von theDon »

Ich schätze, dass zumindest eine der Engines Visionaire, AGS oder AGAST in C geschrieben ist, trotzdem gibt's alle drei soweit ich weiß nur für Windows.
stichwort directx.

opengl gibts so ziemlich überall, directx eben nur für windows. selbst schuld, wenn man dann mit directx arbeitet. ._°
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:

Game Programming für Dummies

Beitrag von Möchtegern Abenteurer »

Hi!

Ist man in der Lage eine Adventure Engine zu programmieren, wenn man das Buch "Game Programming für Dummies" gelesen hat?
:Michi:
Linux is like a Wigwam: No Windows, no Gates and inside a apache!
Antworten