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

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

41

04.08.2014, 11:13

Das Programmierer schlechte Grafiker sind, daran sind sie selbst schuld. Vergleicht mal wie viel Zeit ihr in die Programmierung gesteckt habt. Jetzt überlegt mal wie viel Zeit ihr aufgebracht habt um euch im grafischen Bereich weiter zu bilden.
Aber um auf das Thema zurück zu kommen. Du hast doch jetzt mit C angefangen. Das ist auch in Ordnung so. Jeder hat seine Lieblingssprache und teilweise haben die Leute die Angewohnheit andere von ihrer Lieblingssprache überzeugen zu wollen. Du kannst auch mit C Spiele entwickeln. OOP ist schon eine tolle Sache und damit ist auch meiner Meinung nach viel besser zu arbeiten und auch ich denke dir gefällt es nur nicht, da du es nicht richtig kennst. Es dauert halt bis man eingearbeitet ist, die Prinzipien kennt/versteht und bis man diese dann anwenden kann dauert es auch noch mal. Aber mit der Zeit kommt ein immer besseres Denken dafür. Aber jetzt hast du halt mit C angefangen und dann ist das so. Also mach da auch weiter. Aber jetzt C zu lernen um direkt danach mit Java anzufangen halte ich für Blödsinn. Bis man eine Sprache vernünftig verinnerlicht sollte man damit einige Zeit gearbeitet haben. Und das auch nicht nur ein paar Wochen. Wenn du direkt von C auf Java umsteigst, machst du dir das Java lernen erst mal schwerer da du grad C im Kopf hast und wirst anfangen Sprachen und Stile zu mischen. Dadurch machst du dir das ganze meines Erachtens nur schwerer und endest vermutlich mit schlechterem Code als sonst. Mach halt ein Spiel mit C. Java kannst du dir auch später noch angucken. Lass dazwischen aber vielleicht erst mal ein wenig Zeit vergehen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

42

04.08.2014, 12:47

Zu welchem Genre soll das Spiel denn gehören?
Eine Liste von häufig unterschätzen Genres: Jump&Run, RPGs, Hack&Slay, Wirtschaftssimulationen(sind sicher nicht alle)
Besonders wenn sie mehrspielerfähig sein sollen ist es mehr Aufwand als viele denken.

Ein Spiel ist nicht dadurch leichter zu entwickeln, weil es ein 2D Spiel ist. Dank den tollen 3D Engines, die es heute gibt, ist die Entwicklung eines 3D Spiels nicht schwerer als die eines 2D Spiels.

3D Spieleengines nehmen einem fast so viel Arbeit ab, dass man nurnoch die Logik des Spiels implementieren muss. Das ist an erster Stelle die Implementierung deiner Ideen, der Regeln, die dein Spiel zu dem Spiel machen, das du dir ausgedacht hast.
Z.B. sieht der Code für ein Handelssystem in beiden Fällen gleich aus, es ist völlig unabhängig von der Anzahl der Raumdimensionen.

Ach, und du empfindest Mono als zu langsam(wobei ich bezweifel, dass du das beurteilen kannst) und würdest stattdessen lieber mit Java arbeiten? Java ist absolut Objektorientiert und erzwingt sie und vieles andere auch sehr häufig(was ziemlich nerven kann).
Dein Sprung von C zu Java ist viel länger als der zu C++.
"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?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »NachoMan« (04.08.2014, 12:59)


pouk_

Frischling

  • »pouk_« ist der Autor dieses Themas

Beiträge: 64

Beruf: Schüler

  • Private Nachricht senden

43

04.08.2014, 17:01

Ich will ein Jump and Run programmieren ( 2D ). 3D hat ich auch garnicht vor. Multiplayer soll es nicht haben nur ein Highscore-System. Mir würden schon Pixelgrafiken ausreichen, die ich selber zeichnen kann^^
Ich bleib erstmal dann bei C und schau dann ob ich Java oder C++ nehme :thinking:

C-/C++-Quelltext

1
2
#include <stdlib.h>
main(){for(;;malloc(1024));} // dead

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

44

04.08.2014, 17:25

Im Prinzip ist die Programmiersprache auch relativ egal. Nimm das, womit du zurecht kommst. Auch mit C kann man 2D-Spiele programmieren. Es ist eben nur so, dass in C, wie du selbst schon gemerkt hat, manches etwas umständlicher funktioniert als beispielsweise in Java, C# oder C++. Wenn du damit allerdings zurecht kommst, ist es ja kein Problem.

Du solltest meiner Meinung nach C aber nicht lernen, um später C++ zu lernen. Dann nutze lieber gleich C++. Der Name verwirrt leicht, aber letztlich sind sich C und C++ eben nicht so ähnlich, wie es klingen mag und bei einem späteren Umstieg wird man auf manche Probleme stoßen (die ja teilweise auch schon beschrieben wurden).

Aber probiere es einfach mal aus und sieh zu wie du zurecht kommst. Danach kannst du vielleicht auch besser abschätzen, was deine größten Probleme waren und kannst dir dann überlegen, eine andere Sprache zu lernen, die dir manche dieser Probleme evtl. abnimmt (und dafür andere schafft ;)).

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

45

04.08.2014, 18:44

Wenn es darum geht schnell ein Jump&Run zu entwickeln solltest du dich in eine Gameengine einarbeiten die dir möglichst viel Arbeit in den Bereichen Physik, Sound und Grafik abnimmt.

Es gibt zwar einige Gameengines, die C unterstützen, aber die größte Auswahl hast du mit C++, die Komfortabelsten und Anfängerfreundlichsten in C#(Unity) oder Java(JMonkey). Wenn es um letzteres geht scheiden wohl alle C++ Engines aus, weil davor erstmal die Sprache gelernt werden müsste. Zu Java Script mit Z.B. DX Studio kann ich leider nichts sagen.

Alternativ kannst du zwei oder drei Engines/Bibliotheken zusammenschuhstern. Das ist für einen Anfänger aus zwei Gründen nicht geeignet. Du musst dich in mehrere Bibliotheken einarbeiten und sie sinnvoll kombinieren.
"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?

pouk_

Frischling

  • »pouk_« ist der Autor dieses Themas

Beiträge: 64

Beruf: Schüler

  • Private Nachricht senden

46

04.08.2014, 19:38

bei einem späteren Umstieg wird man auf manche Probleme stoßen
Ich bin leider schon bei Seite 200 von meinem C Buch :I

Als Gameengine nehm ich Allegro ( http://alleg.sourceforge.net/docs.html ), es gibt auch ein langes Library Reference ( http://alleg.strangesoft.net/docs/refman.pdf ). Wie gesagt soll mit C kein großes Spiel werden, nur um Motivation zu bekommen. Das richtige Spiel programmier ich dann mit C++ oder Java.

C-/C++-Quelltext

1
2
#include <stdlib.h>
main(){for(;;malloc(1024));} // dead

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

47

04.08.2014, 23:08

Und du weißt wie man die ganze Physik berechnet? Das macht die Entwicklung eines Jump&Run ja eben zu so schwierig(im Vergleich zu z.B. Snake)).
"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?

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

48

04.08.2014, 23:21

Man kann ein Jump'n'Run auch ohne komplexe Physik entwickeln. Das einzige, was funktionieren sollte ist das Springen und das muss physikalisch ja auch nicht unbedingt korrekt sein. Also so kompliziert ist es auch nicht. Es kommt halt darauf an, was man möchte und als Einstiegsprojekt würde ich auf eine aufwändige Physiksimulation erst einmal verzichten.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

49

04.08.2014, 23:51

Selbst ohne komplexer Physik kann es in dieser Hinsicht äußerst schwierig für einen Anfänger sein.
z.B.
- das Erkennen von Kollision incl. Schutz vor dem "Tunneling"-Effekt und die Berechnung der Richtung aus dem der Spieler kommt
- dem Verhalten auf Schrägen(Slope/Rutschen) und/oder
- bei mehrfachen Kollisionen im selben Frame

Es geht doch darum schnell mal nen Jump&Run zu entwickeln und da ist C nicht die optimale Sprache. Es bringt ihm Zeitlich nichts den C-Kram zu lernen, den er in anderen Sprachen garnicht verwenden sollte oder kann.

Würde pouk_ sagen: "Ich will lernen wie man Programmiert um mich auch langfristig damit zu beschäftigen." Würde ich schon eher sagen: "Nimm halt C und mach die Erfahrung selbst." Weil er überall auch wichtiges lernen kann. Aber bei seiner Einstellung ist das einfach der falsche weg.
"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?

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

50

05.08.2014, 00:21

Ich kann mir nicht vorstellen, dass ihm mit dieser verwirrenden Diskussion geholfen ist. Er hat sich für C entschieden, ihm war die Sprache einigermaßen Sympathisch, man kann in ihr das Spiel umsetzen was er sich wünscht. Also ist doch alles ok. Wenn er Probleme bekommt kann man ihm auch mit C gut weiter helfen.

Und wer weiß, eventuell findet er ja sogar Gefallen an den Bereichen wo C heute noch eingesetzt wird.

Schaden tut das Lernen mehrerer Sprachen auch nicht, im Gegenteil. Mir selbst macht es mittlerweile Spaß Programmiersprachen zu lernen. Damit verbringe ich teilweise mehr Zeit in meiner Freizeit als etwas zu Programmieren. Er ist doch Jung, er kann sich die Zeit nehmen.

Und einfach schnell ein Spiel hin zu klatschen um es einmal gemacht zu haben klingt für mich nicht nach Spaß, es in z.B. Assembler geschafft zu haben macht einen Stolz.

Aber nur meine Meinung.
:love: := Go;

Werbeanzeige