Frage

Ich bin ein Bastler Programmierer mit einem fairen Verständnis von Python und ich lerne C. derzeit Kürzlich wurde ich an einen Kollegen sprechen, die auch Programm lernen will. In seinem Fall will er C ++ als Pfad zu Windows-Spieleprogrammierung mit DirectX lernen. Persönlich fühle ich tauchen direkt in C ++ als erste Sprache ist ein bisschen viel - es ist schwer genug zu halten in einer einfacheren Sprache motiviert, und ich denke, es ist besser, eine andere Sprache zu lernen, Ihren Kopf um die meisten der grundlegenden Konzepte zu bekommen, dann gehen in so etwas wie C ++.

Ich fand Python hat gut funktioniert als meine erste Sprache, wie ich in Netzwerk und Web-Programmierung unter Linux / Unix-Plattformen mehr daran interessiert bin, aber für jemanden interessiert vor allem Windows-Spiele-Programmierung Ich habe C # denken könnte eine bessere Wahl sein, wie er konnte Verwendung von Visual C # Express Edition und XNA lernt, dann wechseln Sie zu Visual C ++, wenn er bereit ist, C lernen zu beginnen ++ und damit bereits in einer vertrauten Umgebung sein. Ich denke, Speicherverwaltung viel ist in zu nehmen, und C # zumindest Handles, so kann er das aufschieben, bis er C beginnt das Lernen ++.

Wie denken andere von C ++ als ersten Programmiersprache für diese Art der Anwendung? Soll ich ihn für C # gehen empfehlen stattdessen?

War es hilfreich?

Lösung

C ++ sollte in Ordnung sein. Ich glaube, er ist am besten über die Speicherverwaltung aus Lernen, Zeiger usw. VOR zu C # springen auf, als er wird verstehen, wie das Programm besser zu arbeiten. Andernfalls wird er nur sehen, Speicher wie Magie zu sein und die Garbage Collector wird keine wirkliche Bedeutung hat. Es ist immer gut, ein solides Verständnis der zugrunde liegenden Sprachen zu haben (C, C ++, Montag usw.), um den besten Code zu erzeugen.

Andere Tipps

C ++ ist die Hauptsprache für die meisten „ernsten“ Spieletitel verwendet. Wenn die Programmierung für ein großes Gaming-Studio, dann muss er die schmutzigen kleinen Bits von C ++ wissen.

mit C Ausgehend ++ vielleicht ein bisschen viel für einen kompletten Anfänger sein. Ich würde C als guter Ausgangspunkt empfehlen. Sie erhalten mit den Konzepten der Speicherverwaltung vertraut und den anderen niedrigen Niveaus Sachen vor der Komplexität von C ++ hinzugefügt wird.

Da C # -Code verwaltet wird, würde er nicht die Erkenntnisse der geringen Speicherverwaltung gewinnen werden. Das wird ihn auch nicht dienen, wenn mit C ++ beschäftigen. In diesem Fall beginnen näher an das Metall wird ihm auf lange Sicht helfen.

C ++ Spieleprogrammierung ist groß. Aber es sei denn, Sie mögen insgesamt Schmerzen während Sie programmieren lernen, könnten Sie bei beginnend mit XNA aussehen. Dies ermöglicht es Ihnen auf dem Spielinhalte und Logik zu arbeiten, anstatt mit dem Motorcode zu kämpfen.

Nun, wenn Sie wie Schmerzen gehen die DirectX und C ++ Route mit zu beginnen.

Ich denke, es ist besser, gründlich eine Sprache wie Java oder C # zu lernen, bevor sie auf C ++ unter. Der Grund, warum ich das sage ist, weil man leicht in den Details verzettelt und Feinheiten des C ++.

ich mit C kämpfte ++ ein und aus (als Hobby) für ein paar Jahre, dann an der Uni wurde ich gelehrt, Java, hielt jede C tun ++, bekam einen Job für ein paar Jahre zu tun Java, zog dann in C ++ Entwickler. Ich nahm alles sehr schnell, weil ich schon wusste, was Muster und Konzepte, die ich wollte, die Syntax und weirdnesses anzuwenden und es war nur eine Frage des Lernens und Gewöhnung wieder auf Zeiger. Ich hatte gerade zu lernen, wie und warum. Übernahme von C ++ als erster großen Sprache lernt, wie und warum zur gleichen Zeit, und es kann sehr verwirrend sein!

XNA ist ein guter Vorschlag.

Python ist bei Spieleprogrammierung gut. Siehe i-want-to-learn-Spiel -Entwicklung-which-language-sollte-i-use . Betrachten Sie das Lernen Pygame .

  

Pygame ist eine Reihe von Python-Modulen für das Schreiben Spiele entworfen. Pygame fügt Funktionalität auf der ausgezeichneten SDL-Bibliothek. Auf diese Weise können Sie voll funktionsfähige Spiele und Multimedia-Programme in der Python-Sprache erstellen. Pygame ist sehr portabel und läuft auf nahezu jede Plattform und Betriebssystem. Pygame selbst wurde Millionen Mal heruntergeladen und hat Millionen Besuche auf seiner Website hatte.

Wenn er will in die Branche bekommen, dann C ++ zu wissen, ist von entscheidender Bedeutung, da die meisten Spiele-Engines C ++ verwenden. (I auch Entwickler sollten bei ein Punkt schlanke C oder C ++)
wenn er aber will Spiele schreiben (wie in, beenden Sie ein Spiel zu schreiben), dann C ++ kann nicht der Weg zu gehen. Es ist sehr komplex und hat viele Fallen, die es eine langsame Sprache machen in zu entwickeln. Es ist nicht nur die Speicherverwaltung, aber Dinge wie die schreckliche stl kompilieren-Fehler usw., die es sehr schwer machen, zu bekommen etwas getan, wenn der erste Versuch zu programmieren.
Ein Blick auf etwas wie C # oder Python wäre eine bessere Option sein, da sie weit weniger komplexe Sprachen sind und jeweils einige gute Spiel Bibliothek.

Wenn er entscheidet, dass C ++ ist der richtige Weg zu gehen, dann würde ich zumindest eine Rendering-Bibliothek empfehlen. So etwas wie Ogre3D zumindest. Der Grund hierfür ist in diesem Artikel schreiben Spiele nicht Motoren . Beim Schreiben (oder versucht zu schreiben) einen Motor von einem Basis-API eine gute Erfahrung sein wird, ist es unwahrscheinlich, dass das Spiel beendet wird erhalten.

Etwas, das Sie haben zu prüfen, ist SDK bestehenden, werden Sie wahrscheinlich nicht programmieren wollen alles selbst. Zum Beispiel gibt es recht gute 3D-Motoren mit verschiedenen Arten von Lizenzen, die Sie können gut passen.

So sollten Sie überprüfen, outthe vorhandene Bibliotheken und SDK und die wenige Sprachen, die Sie in der gleichen Zeit mit zusammenhalten wollen. Anpassung an den C ++ oder C # nicht so schwierig, die ehemalige strenger und anspruchsvoller, während es Sie weitergehende Kontrolle über Speicher gibt, sie letzteres ermöglicht auf den Hauptentwicklungsbereich zu konzentrieren, sondern nimmt die Speicherverwaltung verantwortlich (meistens), was bedeutet, dass Sie in Echtzeit Probleme haben könnten.

Am Ende des Tages, was Sie helfen können Ihre Anwendung erstellen bekommen immer die kleinen Unterschiede zwischen den OO-Sprachen (in gewissem Maße) outweight.

Es gibt viele Spiele-Engines, die meisten sind aufgelistet auf dieser Seite . Von besonderem Interesse sind, in der freien Welt:

Unfreie Pakete beinhalten Unity und andere.

Wenn Sie das tun nicht wollen jede dieser Motoren gibt es immer noch sehr gute Bibliotheken wie Qt für C ++, das erlaubt Scripting - wenn auch nicht direkt Python, würden Sie es selbst einzubetten haben -. und andere für C #, aber die Auflistung könnte ziemlich lang erhalten

Normalerweise aus Dampf Menschen laufen vor ihrem ersten Spiel abgeschlossen ist. Deshalb, wenn Ihr Freund eine Erfolgsbilanz der wird verbissen bestimmt hat, würde ich die High-Level-Option zur Verfügung empfehlen. Wenn Sie zwischen C ++ und C # wählen, das wäre C #.

Ich würde es vorziehen, XNA und C # für ein schnell und schmerzlos introduction.I würde C ++ verwenden, und eine Bibliothek wie DirectX, für Spiele-Programmierung nach etwas Erfahrung auf dem topic.Most der erfolgreichsten Spiele, die haben in C ++ geschrieben.

Wenn Ihr Ziel ist es, Spaß zu haben, und tatsächlich Spiele selbst zu beenden (oder in kleinen Teams), die relativ klein sind im Rahmen, dann sage ich, C # und XNA.

Wenn Ihr Ziel ist in der Industrie zu arbeiten, auf Super Big-Budget-Spiele mit riesigen Teams ... Then C ++ ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top