Acagamics Logo mit Text

Acagamics

Student GAME Developer Club

3D Game Project 2020

Allgemeines

Dozent: Jonas Kießler (Seminarleitung)
Betreuende Lehrperson: Prof. Holger Theisel
Veranstaltungsart: Softwarepraktikum
CP: 6
Zeit und Raum: Mi. 15 - 17 Uhr, G29-335
Anmeldung:

Name, Studienfach, Selbsteinschätzung, evtl. Teammitglieder (falls vorhanden)

Eine Selbsteinschätzung eurer Programmierkenntnisse auf einer Skala von 1 bis 10 (5 wäre das Level, wo EinfInf- und AuD-Aufgaben kein Problem darstellen)

Die Programmiersprache, die ihr gerne für das Projekt verwenden würdet (Im Seminar wird hauptsächlich C# verwendet, aber ihr könnt eine beliebige verwenden)

Eure Teammitglieder, falls ihr schon ein Team habt

Anmeldeschluss ist der 03.04.2020 17.04.2020

Teilnehmerzahl ist auf 24 beschränkt. Wer am ersten Termin unentschuldigt nicht erscheint, gibt seinen Platz an Nachrücker ab.

Für Fragen und die Anmeldung, sendet eine Mail an 3dproject\[at]acagamics.\[de]

LSF-Seite: Link

News

Checkt bitte regelmäßig eure Mails!

Die Veranstaltung wird auf ein Online-Format umgestellt. Das wöchentliche Seminar werden wird voraussichtlich als Videostream abhalten. Eine Anmeldung ist damit zwingend erforderlich, damit wir euch weitere Infos zukommen lassen können!

Vielleicht habt ihr bemerkt, dass die LSF Anmeldung nur bis zum 06.04 geht. Diese ist nicht zwingend erforderlich, sondern die Anmeldung über Email bei uns. Die ist generell auch bis zum 18.04 möglich, sofern noch Plätze frei sind. Falls ihr euch nur über das LSF angemeldet habt,werden wir euch nochmal kontaktieren, um die in der Tabelle genannten Informationen zu bekommen.

Beachtet auch die Infos zur Vorbereitung auf das Online-Semester weiter unten.

Letztes Update: 31.03.2020

Inhalt

Das Softwarepraktikum 3D Game Project befasst sich mit der Entwicklung eines Computerspiels. Dieses kann zum Beispiel mit Hilfe von Monogame umgesetzt werden, was jedoch nicht zwingend erforderlich ist. Im Rahmen der Veranstaltung werden neben der Entwicklung des Spiels theoretische Grundlagen des vorangegangenen Studiums aufgegriffen und praktisch angewendet. Dazu zählen Veranstaltungen wie Software Engineering, Algorithmen und Datenstrukturen und IT-Projektmanagement. Dabei habt ihr freie Hand. Innerhalb eines Teams trefft ihr Entscheidungen, setzt zusätzliche Meilensteine und präsentiert Ergebnisse. Der Veranstaltungsleiter wird unterschiedliche Themen im Laufe der Veranstaltung auswählen und behandeln. Ihr könnt auch eigene Vorschläge anbringen. Bitte beachtet die Voraussetzungen für eine erfolgreiche Teilnahme!

Euer Projekt werdet ihr in 3er oder 4er Teams durchführen. Falls ihr noch kein Team habt, kommt zur ersten Veranstaltung, dort werden wir versuchen, weitere Teampartner zu finden.

Weitere Informationen erhaltet ihr zum ersten Termin.

Voraussetzungen

Mindestens ein Teammitglied sollte die Lehrveranstaltung Computergrafik gehört haben, oder die weiterführende Bereitschaft haben sich dort einzuarbeiten. Andere spielbezogene Veranstaltungen belegt zu haben, ist von Vorteil.

Ihr solltet Kenntnisse in objektorientierter Programmierung mitbringen, idealerweise in C#, Java oder C++.

Vorbereitung auf das Online Semester

Da das Semester dieses Jahr 2 Wochen später als gewöhnlich startet, bitten wir euch, vor dem ersten Termin schon mal selbstständig ein paar Themen zu recherchieren, die wir nicht nochmal im Seminar ansprechen werden.

Versionskontrolle

In diesem Projekt werdet ihr eine Art Versionskontrolle benutzen müssen, um euren Fortschritt zu sichern und euch im Team zu koordinieren. Wir empfehlen euch Git, aber ihr könnt auch ein anderes System benutzen (z.B. Subversion, Mercurial, Perforce).

Warum git? Wir können euch mit git am ehesten helfen oder Hilfe vermitteln. Außerdem wird euch git am ehesten noch in anderen Veranstaltungen begegnen.

Resourcen zum Lernen von git:

Ihr findet natürlich noch viele weitere Tutorials im Internet. Oben sind hauptsächlich Texttutorials gelistet.

Ob und welche grafische Oberfläche ihr für git verwendet, ist euch überlassen. In eurem Team müsst ihr euch noch einigen, wo ihr euer remote repository hostet. Nehmt hierfür am besten kein öffentliches Repository. Z.B. GitHub stellt aber für Studenten auch private Repositories zur Verfügung.

Frameworks

In dem 3D Game Project ist das Ziel, dass ihr Teamarbeit und Softwareentwicklung lernt, sowie eure Codingerfahrung erweitert. Um auch ein bisschen mehr Einblick in die Arbeitsweise eines Computerspiels zu bekommen, limitieren wir die Basis, die ihr für euer Spiel verwenden könnt. Das bedeutet Framework, keine volle Engine.

Engines wie Unity, Unreal Engine, Godot, ... bieten oft eine visuelle Oberfläche, um eine Szene zusammenzubauen und Funktionalitäten direkt Objekten zuzuweisen. Dabei verstecken sie aber einige Grundfunktionalitäten in ihrem Code. Es ist schwierig abzugrenzen, was eine "Engine" ist und was ein "Framework". Für unsere Zwecke heißt das hauptsächlich keine visuelle Oberfläche und grundlegende Funktionalitäten.

Wir haben Erfahrung mit Monogame (C#) und dies wird erfahrungsgemäß auch gerne verwendet. Ihr könnt gerne selbst recherchieren. Wenn die Funktionsweise ähnlich ist zu Monogame, könnt ihr es vermutlich verwenden. Ansonsten könnt ihr uns eine Email schreiben, falls ihr unsicher seid.

Für dieses Semester haben wir uns unter Absprache mit Prof. Theisel entschieden, auch 2D Projekte zuzulassen. Diese müssen allerdings am Ende ausgereifter werden als 3D Projekte, da sie vor allem grafisch einfacher umzusetzen sind. Wir empfehlen ein 3D Projekt zu machen.

Recherchiert Frameworks und deren Funktionen. Ihr müsst euch noch nicht entscheiden, welches ihr nehmt.

Termine

Erste Veranstaltung ist am 08.04.2020 22.04.20

Die Veranstaltung findet wöchentlich statt. Dabei haben aber nicht alle Termine eine Anwesenheitspflicht, auch wenn es generell empfehlenswert ist, mindestend ein Teammitglied anwesend zu haben.

Falls ihr gerne teilnehmen wollt, aber Überschneidungen habt, können wir über eine Verschiebung des Termins nachdenken. Wegen eigenen Terminen und Raumkapazitäten ist das allerdings nicht immer möglich.

Material zur Veranstaltung

Findet ihr hier!