3D Game Project

Letztes Update: 08.04.2021

Auf einen Blick

DozentenJonas Kießler
Bennet Meier
Prof. Holger Theisel (betreuende Lehrperson)
AnrechnungSoftwareprojekt (Bachelor)
VeranstaltungsartSeminar
CP6
FormatOnline synchron
PlattformenZoom
ZeitMi. 15 – 17 Uhr
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)
Anmeldeschluss ist der 09.04.2020
Teilnehmerzahl ist auf 28 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@acagamics.de
Max. Teilnehmerzahl 28
Kontakt3dproject@acagamics.de
LSF-SeiteLink

News

  • Checkt bitte regelmäßig eure Mails!
  • Alle Plätze sind nun belegt, wer sich noch anmeldet kommt auf eine Warteliste.

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++.

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.

Die Veranstaltung findet wöchentlich statt. Dabei haben aber nicht alle Termine eine Anwesenheitspflicht, auch wenn es generell empfehlenswert ist, mindestens 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.

Vorbereitung auf das Online Semester

Da wir eine Woche später starten, 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.
Auch die OVGU stellt über das URZ einen Gitlab Server bereit. Dafür müsst ihr euch allerdings anmelden. Was genau ihr dort eintragen müsst, klären wir in dem ersten Treffen.

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.

Materialien

Findet ihr im e-Learning! Angemeldete Teilnehmer haben den Einschreibeschlüssel per Email erhalten.


Weitere Infos

Im Angebot seit Sommersemester 2013

Ehemalige Dozenten:

  • Stefan Schwarz
  • Gerd Schmidt
  • Xenija Neufeld
  • Lisa Piotrowski