Community-Projekt: Praktischer Vergleich von Engines und Frameworks
Herzlich willkommen auf der Übersichtsseite unseres kleinen Community Projekts. Hier werdet ihr Infos des Projekts sowie eingereichte Projekte und Rahmenbedingungen finden.
Inhaltsverzeichnis |
[Bearbeiten] Ziel des Projekts
Ziel des Projektes ist es mit Hilfe eines Beispieles die Arbeitsweisen und spezifischen Eigenheiten der Entwicklung eines Spiels mit einem gewählten Framework oder einer Engine aufzuzeigen. Dies soll möglichst einfach und dokumentiert geschehen, sodass Ein- und Umsteiger die Möglichkeit haben, verschiedene Ansätze zu vergleichen und den für sich besten zu wählen.
Dabei ist man nicht auf eine Programmiersprache oder Entwicklungsumgebung beschränkt, sondern alles ist erlaubt: Von der fast kompletten Eigenentwicklung mit C++ und der SDL oder SFML bis hin zum benutzen einer kompletten Engine wie Unity3D soll alles abgedeckt werden.
Erfahrene Entwickler werden weniger von diesem Projekt profitieren als Entwickler, die gerade erst am Anfang ihres Weges stehen. Trotzdem ist es für jeden vielleicht einen Blick Wert, sich die Workflows und Methoden anderer anzusehen.
[Bearbeiten] Das Spiel
Im Rahmen des Projekts soll ein Breakout entwickelt werden. Dieses Kult-Spiel von Atari bietet die nötige Komplexität, um Workflows ausreichend zu demonstrieren. Gleichermaßen ist es simpel genug, um schnell Ergebnisse vorweisen zu können um so zum Verbessern des Spieles zu motivieren.
[Bearbeiten] Fakten
Es handelt sich hierbei um einen Breakout-Klon, das Spielprinzip kann man sich hier anschauen
[Bearbeiten] Umfang
- ein Startmenü mit "Starten" und "Beenden" Buttons
- ein Level mit festgelegten Blöcken, die zerstört werden können.
- bei erfolgreichem Zerstören aller Blöcke soll automatisch das Level neu gestartet werden
- Punkte, Anzahl verfügbarer Bälle, dieAnzahl restlicher Blöcke sowie die FPS sollen auf einem GUI ausgegeben werden
- das Spiel soll pausiert werden können
- eine nachvollziehbare Kollision des Balles mit verschiedenen möglichen Winkeln
- ein sich ändernder Schwierigkeitsgrad basierend auf der Geschwndigkeit des Balles
Optional
- Power-Ups die Größe, Geschwindigkeit des Balles/Paddles verändern
- Keybindings
[Bearbeiten] Dokumentation
Während der Entwicklung, oder auch danach, soll eine Dokumentation entstehen die den Entwicklungsablauf möglichst detailiert beschreibt. Hier müssen einige Punkte beachtet werden:
- Das Ganze richtet sich an Anfänger und Umsteiger. Lieber etwas mehr erklären als an den falschen Enden zu sparen.
- Grundlegende Programmierkenntnisse sollten vorausgesetzt werden wenn nötig.
- Wenn man ein Tutorial für Komplett-Anfänger ohne jegliche Vorerfahrung machen möchte, dann sollte man dies auch so kennzeichnen. (z.B. Unity3D und Game Maker bieten sich an)
- Best Practices einhalten. Rumhacken ist gut und schön und gehört dazu, für den Anfang aber irreführend.
Die Dokumentation ist wichtig. Bitte achtet auf eine angenehme Struktur und nachvollziehbare Erklärungen.
[Bearbeiten] Assets
Wir werden das Kenney Donation Pack für unsere Zwecke verwenden, die unter der CC0-Lizenz stehen. Dort gibt es Puzzle-Assets die sich perfekt für das Spiel eignen und sich sehen lassen können. An dieser Stelle möchte ich jedem, der diese Assets verwendet ans Herz legen etwas zu spenden.
Ich habe die relevanten Bilder hier zusammengefasst:
Paddles.png
Blocks.png
Buttons.png
Ball.png