Lohnt sich C++ für mein Vorhaben zu lernen?



  • hängt davon ab worum es in einem spiel geht. aber wenns jetzt nicht minecraft werden muss, ja



  • Also like Metin2 und WOW nicht?



  • kenn ich nicht. aber wenn man das schnelle google - ergebnis anschaut, dann könnte das kompliziert werden. sowas macht man normalerweise nicht, wenn man gerade erst mit einer Sprache anfängt. und insgesamt auch nicht alleine. sonst dauert das ewig.



  • Ich will ja nicht direkt sowas machen. Aber will ja in diese Richtung gehen, es soll ja nicht so sein, dass ich das alleine mache. Aber meine Frage ist eher, ob mich der Weg C# lernen dahin bringt. Darum gehts mir eher, weißt du was ich meine?



  • ja. dann auf alle fälle C#.



  • Bist du ein Frau?



  • Ich verstehe das irgendwie nicht. Du schreibst, dass wenn es jetzt zum Beispiel nicht im Umfang wie Minecraft oder MT2 etc. ist, soll ich lieber c# lernen. Aber ich will ja genau das machen, also wieso dann c# lernen. 😕

    Und ja ich bin eins, wieso fragst du? c:



  • @Yasmin_x sagte in Lohnt sich C++ für mein Vorhaben zu lernen?:

    Also like Metin2

    Auch das schaut nach einem richtigen Spiel aus (ich kenne das selber nicht). Sowas alleine zu schaffen, ist fakisch unmöglich. Genauso wenig, wie man alleine etwas wie Microsoft Office programmieren kann. Es hat schon einen Grund, warum bei Microsoft hunderte oder tausende Entwickler jahrelang daran arbeiten.

    Warum man für Spieleprogrammierung GUIs braucht, versteh ich jetzt nicht. GUIs für Desktopanwendungen braucht man generell (leider) immer weniger. C# ist vielleicht insofern besser geeignet, weil man das mit Unity benutzen kann.

    Ansonsten ist das eher Geschmackssache. Ich mag C# und .NET aus mehreren Gründen lieber, programmiere beruflich aber vor allem C++ und etwas Java, und habe damit jetzt an sich nichts dagegen (aus Performancesicht habe ich damit aber schon viele Probleme, bietet sich daher für Spiele eher nicht an).
    Wenn du Java kannst und C++ lernen willst, lern C++. Der Umweg über C# bringt nicht viel.



  • @Yasmin_x sagte in Lohnt sich C++ für mein Vorhaben zu lernen?:

    Was für Programmiersprachen soll ich lernen? Und wenn ich z.B. C++ gelernt habe, wie soll ich weiter vorgehen? Denn ich denke die Basics zu können, da ist noch man weit entfernt davon, was ich wirklich vorhabe.

    Da gibt es sicher viel zu lernen:

    1. Programmieren an sich(was ja in meinen Augen ziemlich unabhängig von der Programmiersprache ist)
    2. Algorithmen und Datenstrukturen
    3. 2D- und 3D-Grafikprogrammierung
    4. Arbeiten im Team
    5. Software Architektur
    6. Verschiedene Frameworks, Engines etc.
    7. Die Programmiersprache, die wohl die wenigste Zeit in Anspruch nehmen wird.

    An die Profis hier: korrigiert mich wenn ich mit meiner Einschätzung daneben liege. Wie lange wir man dafür brauchen um dann an so etwas wie WoW ran zu kommen 5-10 Jahre?



  • @Mechanics sagte in Lohnt sich C++ für mein Vorhaben zu lernen?:

    Auch das schaut nach einem richtigen Spiel aus (ich kenne das selber nicht). Sowas alleine zu schaffen, ist fakisch unmöglich.

    Es gab in den letzten Jahren einige Spiele von nur einem Entwickler, die bei Steam durch die Decke gegangen sind.



  • @Jockelx sagte in Lohnt sich C++ für mein Vorhaben zu lernen?:

    @Mechanics sagte in Lohnt sich C++ für mein Vorhaben zu lernen?:

    Auch das schaut nach einem richtigen Spiel aus (ich kenne das selber nicht). Sowas alleine zu schaffen, ist fakisch unmöglich.

    Es gab in den letzten Jahren einige Spiele von nur einem Entwickler, die bei Steam durch die Decke gegangen sind.

    Vermutlich ging das nur weil diese leute meist eine engine alla Unity3D, Unreal und co verwendet haben.



  • @Jockelx sagte in Lohnt sich C++ für mein Vorhaben zu lernen?:

    Es gab in den letzten Jahren einige Spiele von nur einem Entwickler, die bei Steam durch die Decke gegangen sind.

    Ja, gibts. Sowas machen zu wollen wäre schon halbwegs realistisch. Das ist aber auch kein WoW, und da muss man echt schauen, wo man die ganzen Assets herbekommt.



  • @CppConst sagte in Lohnt sich C++ für mein Vorhaben zu lernen?:

    Wie lange wir man dafür brauchen um dann an so etwas wie WoW ran zu kommen

    Was heißt ran zu kommen? Wie gesagt, das ist allein vom Aufwand her einfach nicht möglich. Wie lang braucht man, um einem Team an so einem Spiel mitmachen zu können? Im Grunde sollten 4 Jahre Studium oder 3 Jahre Ausbildung ausreichend sein, um als Juniorentwickler einzusteigen. Konkret kommt es natürlich auf die Firma drauf an, was sie so für Anforderungen und Vorstellungen hat.



  • Hallo Yasmin_X,
    C++ zu lernen lohnt sich schon, aber der Weg ist hart und steinig.
    (Was grundsätzlich nicht schlecht sein kann.)

    Aber ich rate dir fange erst mal mit sehr kleinen Spielen an und erlerne die Basics und steigere dich dann langsam.

    Hilfreich für ein Spiel ist:
    -> Du bist sehr kreativ (kannst gut zeichnen, oder bist zu dem auch noch musikalisch, etc.)
    -> Du hast viel freie Zeit
    -> Du kannst andere Leute für dein Projekt begeistern.
    (Du bist Teamfähig und kannst ein Team leiten?)
    -> Du kannst sehr gut logisch denken und kannst selbständig eigene nützliche Algorithmen entwerfen. (KI, etc)
    -> Du kennst dich mit Netzwerkprogrammierung aus (Multiplayer)
    -> ....

    Ansonsten ist es wahrscheinlich recht unsinnig eine eigene Gameengine von Anfang an zu entwickeln. Es gibt schon so viele gute Engines.
    Außer du möchtest dein Spiel direkt mit DirectX-Api, OpenGl/Vulkan-Api, oder mit dem SDL(2)/SFML - Framework erstellen?

    Ich würde dir AGK2 (oder App Game Kit Studio) mit Tier 2 empfehlen.
    Da kannst du C++ nutzen und hast zu dem ein geniales Game-Framework zur Verfügung.



  • @Mechanics sagte in Lohnt sich C++ für mein Vorhaben zu lernen?:

    Ja, gibts. Sowas machen zu wollen wäre schon halbwegs realistisch

    Dann hab ich dich falsch verstanden oder eher du hast es komisch formuliert:
    "Richtigen Spiel" also "fakisch unmöglich"
    Ich mache das in meiner Freizeit auch und komme da sogar ziemlich weit. Ich behaupte mal, wenn ich das nicht nur Abends mal zwei/drei Stunden betreiben würde, würde da auch was rauskommen, was man als "richtiges Spiel" bezeichnen könnte.
    Hab sogar mal gekündigt, weil ich das durchziehen wollte, aber da hat mich meine Firma (zum Glück?) zurück geholt.

    Assets mache ich übrigens auch komplett selber. Bei sowas wie "Banished" (ein Entwickler) ist das auch überschaubar.



  • @Jockelx sagte in Lohnt sich C++ für mein Vorhaben zu lernen?:

    "Richtigen Spiel" also "fakisch unmöglich"

    Wohl beides... Aber komisch formuliert war das auf jeden Fall schon 🙂

    Man muss sich schon etwas besser auskennen, um einschätzen zu können, was alles möglich ist. Ich wollte vor allem verdeutlichen, dass hinter größeren bekannten Spielen sehr viel Manpower steckt. Sonst geht man vielleicht mit der Vorstellung ran, man muss nur 1-2 Jahre programmieren lernen, und dann macht man eben so sein eigenes WoW.

    Es ist aber auch richtig, dass es mittlerweile sehr vieles fertig gibt und es tatsächlich realistisch ist, etwas kleinere, aber sehr erfolgreiche Spiele alleine oder mit einem kleinen Team zu schaffen.



  • Ich würde das auch garnicht von der Sprache abhängig machen. Man kann nicht sagen, lern C++, lern C#, lern Python. Wie schon gesagt wurde, kann man sicher mit viel Herzblut und Zeit etwas in diese Richtung entwickeln. Du wirst so etwas aber nicht komplett von 0 schreiben können. Das schafft man nicht mit so wenigen Mitteln. Also wirst du dir eine fertige Engine suchen. Als Beispiel nenne ich hier jetzt mal die Unreal Engine und die Unity Engine. Es gibt aber noch viele mehr. Du musst selbst entscheiden welche Engine zu deinem Projekt passt. Was kann die eine besser als die andere? Auf welche Dinge legst du in deinem Projekt weniger den Fokus? Was gibt's allgemein für Unterschiede? Und wenn du diese Fragen beantwortet hast, dann bist du an die Sprachen gebunden die dir die Engine vorgibt. Bei der UnrealEngine bist du zum Beispiel mit C++ garnicht so falsch, du kannst allerdings dort auch das Blueprint-System nutzen (kann sein, dass dieses Einschränkungen mit sich bringt). In Unity programmiert man glaube ich mit C# oder Javascript. Du musst dich dort also bei mehreren Sprachen informieren, was am besten (oder auch einfachsten für dich) funktioniert. Und dann schaust du dir erst die Sprache an.... So würde ich das machen. Aber ich habe absolut keine Ahnung von Game Development 😅. Ich denke jedenfalls, dass dich die richtige Engine zu der Sprache führt, die du lernen solltest 😁



  • Ich denke es kommt auch etwas auf die Zielsetzung an. Am Anfang klang es so als wäre ein Spiel entwickeln dein größter Traum, dem du dein ganzes Leben widmen möchtest. Daher wenn du in 40 Jahren dein eigenes (kleines) Spiel entwickelt hast und sonst nichts kannst (im Informatik Bereich), wärst du zufrieden.

    Dann klang es widerum so (Software entwickeln, Apps entwickeln, Web Seiten erstellen etc.) als würdest du eig. gerne Softwareentwicklerin werden und da würdest du dich insbesondere auch für Spiele interessieren. Das sind aus meiner Sicht schon zwei völlig unterschiedliche Ziele.

    Daher: Was willst du eigentlich wirklich erreichen? In wie vielen Tagen / Monaten / Jahren / Jahrzehnten willst du das erreichen? Wie viel Zeit bist du bereit pro Tag / Woche / Monat darin zu stecken? Wie viel Geld bist du bereit darin zu strecken (Nicht das Geld jetzt primär das wichtigste wäre, aber z.B. um überhaupt die UnrealEngine nutzen zu können muss der PC schon leistungsstark sein, wenn du dir Arbeit sparen willst und fertige Graphiken etc. kaufen willst, kostet auch das Geld und auch Lehrbücher etc. werden Geld kosten).
    Welche Vorkenntnisse bringst du mit (du hast zwischendrin mal von Java Kenntnissen gesprochen)? Hast du eine Ausbildung / Studium im IT-Bereich? Planst du eine? Ist das nur ein Hobby, ein potentieller Nebenjob oder soll es kurzfristig / langfristig dein Hauptjob werden?

    Es gibt sehr viele Wege, die du einschlagen kannst und ich kann nur empfehlen sich am Anfang zu überlegen, was man genau erreichen will (sowohl kurzfristig, mittelfristig als auch langfristig), dann sich guten Ratschlag zu holen wie man dort am besten hinkommt.
    Und dann kommt es letzendes auf dich an: Auf deine Motivation!

    Um dir vlt. mal ein Beispiel zu geben:
    Ich habe mich früher auch sehr für Spiele interessiert, mittlerweile eig. eher weniger (höchstens ein minimales Spiel vlt. mal). Aber ich wusste schon recht früh, dass ich Softwareentwickler werden möchte, entsprechend auch ein Informatik Studium machen möchte. Ich habe vor allem den Fokus darauf gelegt mich erstmal etwas breit aufzustellen und gewissermaßen das Fundament zu lernen anstatt mich auf irgendeine trendige Technik zu stürzen, die in 5-10 Jahren eh keiner mehr verwendet. Habe dann auf guten Rat hin mich mit C++ beschäftigt. Ich kann wirklich noch verdammt viel in C++ lernen (auch teilweise noch eher Basic Sachen) und trotzdem hat es mir schon viel genützt. Im Studium und auf der Arbeit werde ich viel mit unterschiedlichen Aufgaben, Programmiersprachen etc. konfrontiert ... mit C++ als Fundament konnte ich mich da immer recht gut einarbeiten. Das kann ich von Studienkollegen, die z.B. mit Python angefangen habe, nicht grade behaupten. Auf der anderen Seite haben andere die mit Python, Webzeugs, Appentwicklung anfangen schon viel früher viel cooleres Zeug entwickelt.
    Ich müsste lügen, aber ich glaube erst nach nem Jahr mit C++ habe ich überhaupt mal erste Sachen mit Graphik gemacht. Da hatten andere schon ihre ersten coolen Apps programmiert 😉
    Für das Ego ist die Variante mit Python etc. anfangen sicherlich besser! Aber da ich eben auf der Arbeit sinnvolle Projekte umsetze, stört es mich nicht allzu sehr, dass ich privat noch keine riesigen Softwareprojekte realisiert habe. Wenn man von vorne rein das ganze nur hobbymäßig macht, nach seinem 40h Job, dann hat man vlt. schon eher den Anspruch da richtig was zu leisten - die Zeit ist ja begrenzt.
    Am Anfang habe ich nur C++ gemacht (hatte rudimentäre Vorkenntnisse in Java). Mit dem Arbeiten habe ich angefangen dann sowohl dort als auch privat, wenn ich etwas schnell umsetzen muss, auch die Programmiersprache etc. zu wählen mit der das am schnellsten geht. Etwas über den Tellerand hinaus blicken hat mir auch nie geschadet. Allerdings beschäftigt ich mich auch circa 60h pro Woche mit Informatik durch Arbeit und privates.
    Wenn man das ganze nur hobbymäßig macht und < 10h pro Woche hat, dann wird man sich wohl eher etwas spezialisieren wollen.

    Ich bin mit meinem Weg bisher zufrieden. Aber das ist vlt. nicht der Weg den du einschlagen möchtest. Du machst das ganze vlt. nur hobbymäßig, hast nur 2-3h pro Woche und willst vor allem dein Spiel entwickeln und das noch in diesem Leben. Ein solides, breit aufgestelltes Fundament ist dir ggf. nicht so wichtig, lieber willst du dich schnell spezialisieren und Ergebnisse erzielen.
    Es kommt also letzendes wirklich nur darauf an, was dein Ziel, deine Kapazitäten, deine Motivation, dein Frustrationspotential ist. Deine Vorkenntnisse spielen vlt. auch eine Rolle (z.B. dein Schulabschluss ... Mathematik auf Uni Niveau ist für Abiturierenten mit 15 Punkten im Leistungskurs hart ... wenn man aber dann auch da schon Probleme hat oder vlt. gar kein Abi hat ... dann muss man wohl erstmal ein paar Monate / Jahre das absolute Fundament lernen und das ist frustrierend!)



  • Ich werde im kommenden Wintersemester Informatik studieren. Ich wär nicht zufrieden, wenn ich mit 40 Jahren nur ein kleines Spiel entwickeln könnte. Die Spieleprogrammierung war einfach nur ein Traum von mir. Beziehungsweise anders gesagt, ich wollte einfach selber ein Spiel machen, welches in dem Ausmaß ist, wie WOW oder andere große Spiele. Es muss aber nicht heißen, dass ich alleine an sowas arbeiten möchte, ein Teil davon zu sein, genügt mir schon.

    Und ich bin auch bereit den ganzen Tag, mehrere Stunden am Stück in die Informatik zu investieren, weil das eine Sache ist, die mir Spaß macht. Ich weiß halt aber einfach nicht, womit ich mich beschäftigen muss, um dahin zu kommen.

    Aber sowie ich das ganze hier aufnehme, muss man sich in soviele Bereiche einarbeiten, weshalb man sich nur auf eine Sache fokussieren sollte. Also, zumindest kommt das so auf mich rüber.



  • Mein Ratschlag wäre: fang mit etwas ganz einfachem an, auch um ein bisschen Erfahrung zu bekommen. Ich habe zum Beispiel mit einem Tetris-Programm angefangen. Das ist nicht sehr anspruchsvoll, aber Erfahrungen wirst du dabei machen. Je nachdem, wie leicht dir das fällt, kannst du dann an komplexere Programme rangehen.

    Ich habe damals ein Cheatprogramm für "Master of Magic" geschrieben. Das war auch noch recht einfach, weil die savegame-Dateien dieses Programms immer dieselbe Größe haben. Ich musste also nur schauen, wie sich die Dateien ändern, wenn man bestimmte Dinge tut und dann war es ein bisschen Fleißarbeit.

    Danach habe ich so ein bisschen das Interesse an Spielen verloren.


Anmelden zum Antworten