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

1

19.04.2013, 21:53

Source code zum erlernen von Programmiererfahrung

Hallo,

ich suche Source Code zum erlernen von Programmiererfahrung. Ich habe den Source code der Tribase engine zum Großteil verstanden und auch schon nachprogrammiert. Nun hätte ich gerne mehr Source code zum durchstudieren. Der Source code muss unbedingt in c++ geschrieben sein und auch nur directx verwenden und die Windows API und nicht andere Libraries wie OpenGL, weil mir directx ausreicht.
Zum Beispiel wäre der Source Code der Unreal engine interessant, soweit ich weis ist der aber nicht zugänglich.
Auch der code irgend eines Games der auf directx und c++ aufbaut wäre interessant; auch c ist in Ordnung.

:)

2

19.04.2013, 22:06

Der Quake 3 Source schwirt im Netz rum. Ist aber C und alt.

3

19.04.2013, 22:16

also mit directx9 oder neuer wäre schon toll

Source code der directx9 directx10 oder directx11 verwendet wäre schon toll. Weil ältere sind eben alt.
Vielleicht auch ein klein wenig, weniger professionell also einfacher zu verstehen und auch einfacher aufgebaut.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

19.04.2013, 22:27

Programmiererfahrung bekommst du, indem du programmierst und nicht, indem du nachprogrammierst oder fremden Source Code liest. Du kannst noch so viele Matches anschauen, studieren, analysieren und alle Regelwerke auswendig lernen, wenn du Tennisprofi werden willst, musst du vor allem eines: Tennis spielen, so viel und so oft du kannst...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (19.04.2013, 22:39)


5

19.04.2013, 23:10

Ich programmiere schon sehr viel selbst.
Von anderem Source Code kann man aber eine Menge lernen und darum suche ich immer zu nach Source Code. Ein Tennisspieler der immer nur alleine spielt wird auch nie wirklich gut werden.
Am meisten lernt man immer noch, wenn man Profis zusieht und dann nachahmt und dann selber weiterentwickelt.


Ich hab schon Google durchforstet. Allerdings denke ich, dass man in diesem Forum hier bessere Ergebnis erhält.

Also immer schön Links zu Source Code posten. :D

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

19.04.2013, 23:18

Dann wirf mal einen Blick in die bereits erwähnte Quake 3 Engine. Ich hab mehr Zeit mit dem Ding verbracht als mir lieb ist und fand das Design der Engine trotz ihres hohen Alters überraschend modern. Dennoch kann ich nur sagen, dass man in einer Stunde selbst ein Spiel programmieren sehr wahrscheinlich wesentlich mehr lernt als in einer Stunde Quake Engine debuggen...

Der Doom 3 Source wurde übrigens mittlerweile auch veröffentlicht. Ich hab ihn zwar nur überflogen, dabei aber den Eindruck bekommen, dass man dort eher kein gutes C++ lernen würde und würde daher eher Quake 3 empfehlen, da man dort zumindest sehr gutes C zu sehen bekommt...

7

19.04.2013, 23:30

Ich debugge nicht Source Code. Die TriBase engine habe ich auch nicht debugged. Als ich mal alle meine Texturen zentral verwalten wollte habe ich eine Klasse texturecontroller geschrieben, welche diese Texturen in einem AVL-Baum verwaltete, was ganz gut funktioniert hatte. Im Source Code der TriBase engine habe ich mir dann die Klasse tbtexturemanager durchgelesen und gesehen, dass man Texturen auch aus dem Speicher laden kann und eben nicht nur aus Files. So hab ich dann auch das rendern in Texturen schreiben können. Das war echt toll. Eigentlich war das nicht viel aber es war entscheident. Ich hab eben echt was gelernt.


Die Quake 3 engine ist ein bisschen zu professionell und daher wäre es eben toll Source Code zu haben der auf dem Level der TriBase Engine ist.



Ich hätte gerne Source Code um was dazu zu lernen.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

20.04.2013, 00:08

Debuggen ist meiner Erfahrung nach der beste Weg um fremden Source verstehen zu lernen. Aber egal, wenn ich das richtig verstanden hab, suchst du eigentlich nach Inspiration was die Lösung konkreter Probleme betrifft. In dem Fall rate ich zu folgendem: Programmier Spiele um selbst auf neue, konkrete Probleme zu stoßen und wann immer du ein Problem gefunden hast, google dich ein Weilchen durchs Internet, lies Forenbeiträge, Artikel, Paper etc. zu dem Thema, um zu sehen, was andere sich dazu überlegt haben. Dabei wirst du wesentlich mehr lernen, als wenn du kreative Gedanken mühsam in irgendwelchen Sourcen suchst. Das Internet ist sehr dicht damit besiedelt und man wird wesentlich einfacher fündig. Ich kann dir jedenfalls versichern, dass alles, was ich jemals durch das Lesen fremden Codes gelernt hab, praktisch vernachlässigbar ist im Verleich zu allem, was ich durch das Lesen und Posten in Foren gelernt hab. Und mit Abstand am allermeisten gelernt hab ich immer noch beim selber Probleme Lösen aka Programmieren... ;)

Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von »dot« (20.04.2013, 00:30)


9

20.04.2013, 10:19

@dot: Dito.

Man kann Tage und Wochen damit verbringen fremden Code zu studieren und versuchen zu verstehen - was manchmal leider so ist und eine wirklich nervige Arbeit sein kann (vor allem wenn keine einzige Zeile Kommentar vorhanden ist ...)
Wenn du diesen Code nachbaust, nachdem du ihn "studiert" hast, hast du einen schönen Nachbau des eigentlichen Projektes, doch hat man dabei wirklich etwas gelernt?
Meiner Meinung nach ist es besser die Grundlagen dahinter verstanden zu haben, denn dann kann man auch wirklich eigene Programme schreiben.

Aber gut, bleeibt jedem selbst überlassen und wie bereits gesagt wurde: Der Source Code von Quake3 ist offiziell zugänglich, genauso wie der von Doom3 den ich allerdings mehr als schreckliches C++ finde.

Ansonsten gibt es noch Projekte wie etwa Ogre3D (was lediglich eine 3D Engine ist), Irrlicht3D, etc.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

10

20.04.2013, 10:47

Man lernt durch Variation. Durch Ausprobieren, Testen und Vergleichen. Man lernt nichts, wenn man sich nur eine bestehende Lösung anschaut, denn dann wird man selbst immer nur den selben Ansatz verfolgen. Es ist beim Programmieren aber wichtig zu wissen welche Alternativen und Wege möglich sind und welche davon für die eigene Situation den besten darstellt.
Wie dot schon sagte, man lernt kein Tennis nur durch zuschauen. Ich würde es aber etwas anders ausdrücken: Man lernt nicht zu tanzen, wenn man nur beim Tango anderer zuschaut. Man kann am Ende nämlich weder Tango, noch Jive, Rumba oder QuickStep.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige