Änderungen

Wechseln zu: Navigation, Suche

GameDevWeek/Programmieren

616 Bytes entfernt, 19:17, 2. Mär. 2015
keine Bearbeitungszusammenfassung
== Allgemein ==
Als Programmierer arbeitet man in der Regel in einem Teilbereich zusammen mit anderen Programmierern. Im folgenden sind Teilbereiche aufgelistet mit einer Auflistung welche Klassen man sich dazu mal anschauen sollte. Je nach dem für welches Aufgabengebiet ihr euch interessiert, solltet ihr euch die angegeben Klassen und Packages einmal anschauen. Außerdem empfehlen wir auch sehr das Libgdx Wiki und deren Demoprogramme sowie Libgdx Tests. Wir empfehlen erst einmal den Wikieintrag zu lesen, danach etwas im zugehörigen Quellcode zu stöbern und dann noch einen Blick in die Demos und Tests zu werfen! Das Ziel ist, dass ihr ein ungefähres Verständnis habt was es für Klassen und Zusammenhänge gibt. Manches davon wie Physik oder Rendering ist komplizierter, anderes wie Audio und Assets ist eher einfacher zu verstehen.
== Entwicklungsumgebung ==
Unsere Als Entwicklungsumgebung wird werden wir Eclipse seinund NetBeans unterstützen. Wir werden euch ein fertiges Eclipse Bundle anbietenFür beide wird es fertige Bundles geben, das die alle benötigten Plugins und das voreingestellte Projekte beinhaltetVoreinstellungen beinhalten. Solltet ihr euer eure bereits installiertes Eclipse installierte IDE nutzen wollen, stellt bitte sicher, dass ihr die nötigen Plugins installiert und konfigurierthabt. Solltet ihr eine andere IDE nutzen wollen so können wir euch nicht 100% versprechen euch helfen zu können, sollten Probleme auftreten. In diesem Fall solltet ihr eure IDE selbst gut kennen ;)
== Versionskontrolle = Erwartete Einstellungen und Build System Plugins ===Es wird erwartet, dass eure IDE folgendes Setup bietet:* JDK 8* Maven Unterstützung* Settings:** UTF-8 Character Encoding** 4 Whitespaces anstelle von Tabs** Unix-Style Zeilenumbruch (LF)
Zur Versionsontrolle setzen wir GIT ein. Dazu wird es auf [http://www.github.com/ Github] ein Repository geben zu dem jeder Teilnehmer Zugriff bekommt. Das bedeutet jeder Programmierer benötigt '''einen Github Account'''. Solltet ihr noch überhaupt keine Ahnung von Versionskontrolle habe, dann lest euch === Nutzt in keinem Fall die Dokumentation auf der [http://git-scm.com/ eingebauten Plugins für Git!===Diese verschleiern oft den Git Homepage] durch. Zumindest das Prinzip Workflow und das Ziel eines solchen Systems solltet ihr schonmal gehört habensorgen so für Verständnisprobleme. Die eigentliche Benutzung ist dann relativ einfach und Zudem gibt es hier oft andere Probleme mit wenigen (aber bitte durchdachten! ) Klicks erledigtdenen wir euch nicht helfen können. Während der GDW stehen euch die Organisatoren hier natürlich zur Seite!
== Genutzte Technologien ===== Framework & CodeBase ===Um Git nicht jeden Aspekt eines Spiels selber zu schreiben und uns somit auf das Spiel konzentrieren zu können nutzen stehen euch 2 Möglichkeiten zur Verfügung. Einmal könnt ihr wir das mittlerweile in Eclipse integrierte Plugin EGit benutzen. Dazu müsst ihr unter “Window-> Open Perspective” nur die “Git Repository Exploring” View öffnen. Nähere Informationen findet ihr auf der [https://www.eclipse.org/egit/ EGit Homepage]. Oder falls ihr es etwas ausführlicher wollt gibt es die standalone GUI Java Spiele Framework [httpshttp://codelibgdx.googlebadlogicgames.com/p/gitextensions/ Git ExtensionsLibGDX]. Wir empfehlen die standalone Version. Hier habt ihr deutlich mehr Überblick über den Ablauf!
Um die Abhängigkeiten für Java, Libgdx und andere benötigte Bibliotheken einfach zu verwaltenZudem haben wir eigene Klassen geschrieben, werden wir Maven verwenden. Maven benötigt nur eine Datei mit dem Namen “pom.xml” und lädt dann dynamisch die nötigen Bibliotheken aus zentralen Repositories. Damit müssen wir keine Libraries mehr mit Git synchronisieren. Für Maven gibt es bereits das Eclipse Plugin in der [httphttps://www.eclipsegithub.orgcom/m2eLusito/ m2eclipseGameDevWeek CodeBase]. Nach der Installation könnt ihr über “Import->Maven” ein solches Projekt importieren. Die Abhängigkeiten werden dann direkt heruntergeladen und in das Projekt integriertzur Verfügung stellen.
== Beispielcode ===== Libgdx Versionskontrolle ===
Um euch den Einstieg etwas zu erleichtern und schonmal funktionierenden Code zu sehen, solltet ihr das Libgdx Repository herunterladen. Am besten klont ihr das Zur Versionsontrolle setzen wir Git Repositoryein. So könnt ihr schonmal mit Git üben. Der ganze Prozess ist bereits im Libgdx Wiki beschrieben. Also folgt bitte Dazu wird es auf [httpshttp://www.github.com/libgdxGithub] ein Repository geben zu dem jeder Teilnehmer Zugriff bekommt. Das bedeutet jeder Programmierer benötigt '''einen Github Account'''. Solltet ihr noch überhaupt keine Ahnung von Versionskontrolle habe, dann lest euch die Dokumentation auf der [http:/libgdx/wikigit-scm.com/Running-demos-%26-tests dieser AnleitungGit Homepage]durch. Das Klonen des Repositories müsst Zumindest das Prinzip und das Ziel eines solchen Systems solltet ihr natürlich nicht auf der Konsole machen sondern schonmal gehört haben. Die eigentliche Benutzung ist dann relativ einfach und mit dem Eclipse Plugin oder wenigen (aber bitte durchdachten! ) Klicks erledigt. Während der Git Extensions-GUIGDW stehen euch die Organisatoren hier natürlich zur Seite!
Sobald ihr alles heruntergeladen und importiert habt erscheinen erstmal sehr viele neue Projekte in EclipseEs stehen euch zwei Möglichkeiten bereit Git zu nutzen:* [http://www. Ihr habt jetzt wirklich das komplette Libgdx Projekt inklusive Game engine, backends, utilities,tests und demossourcetreeapp. Sollten davon einige Fehler haben liegt das wahrscheinlich daran, dass com/ SourceTree] als Einsteigerfreundliche GUI* Commandline für die Erfahrenen unter euch die Android Development Bibliotheken fehlen. Das ist nicht schlimm, Nutzt dies nur wenn ihr könnt die Desktopversion trotzdem ausführen.euch damit wirklich auskennt!
=== Build System ===Um die Abhängigkeiten für Java, Libgdx und andere benötigte Bibliotheken einfach zu verwalten, werden wir Maven verwenden. Maven benötigt nur eine Datei mit dem Namen “pom.xml” und lädt dann dynamisch die nötigen Bibliotheken aus zentralen Repositories. Damit müssen wir keine Libraries mehr mit Git synchronisieren. NetBeans kann Maven Projekte als solche Laden. Bei Eclipse wird ein Plugin ([http://www.eclipse.org/m2e/ m2eclipse]) benötigt, welches das Maven Projekt in ein Eclipse Projekt konvertiert.Nach der Installation könnt ihr über “Import->Maven” ein solches Projekt importieren. Die Abhängigkeiten werden dann direkt heruntergeladen und in das Projekt integriert. == Tutorials ==* IDE für die GDW korrekt aufsetzen:** [[GameDevWeek/NetBeans|NetBeans]]** [[GameDevWeek/Eclipse|Eclipse]]* Versioning:** [[GameDevWeek/SourceTree|SourceTree Einführung]]* Sonstiges:** [[GameDevWeek/CodeBase|Die CodeBase]] Hier sind noch einige andere Links externe Tutorials zu TutorialsLibGDX:
* [https://github.com/libgdx/libgdx/wiki/A-simple-game A simple game]
* [http://steigert.blogspot.de/2012/02/1-libgdx-tutorial-introduction.html steigert blog]
=== GDW Bibliothek =Themengebiete ==Als Programmierer arbeitet man in der Regel in einem Teilbereich zusammen mit anderen Programmierern.Einige Dinge Im folgenden sind während der letzen GDWs entstandenTeilbereiche aufgelistet, die wiederverwendet werden können. Code für die Netzkommunikation, ein Box2DWrapper, Asset Loader und andere Helferklassen findet ihr darin. Wir werden das dann auch im Git Repository ablegenregelmäßig vorkommen.
== Themen ==
=== User Interface ===
385
Bearbeitungen

Navigationsmenü