Community-Projekt: Praktischer Vergleich von Engines und Frameworks

Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
[unmarkierte Version][gesichtete Version]
K (Umfang)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Herzlich willkommen auf der Übersichtsseite unseres kleinen Community Projekts.  
+
Herzlich willkommen auf der Übersichtsseite unseres kleinen Community-Projekts. Hier werdet ihr Infos über das Projekt sowie die eingereichten Projekte finden.
Hier werdet ihr Infos des Projekts sowie eingereichte Projekte und Rahmenbedingungen finden.
+
  
 
== Ziel des Projekts ==
 
== 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.
+
Ziel des Projekts ist es mit Hilfe eines Beispiels 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.
+
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.
+
Erfahrene Entwickler werden weniger von diesem Projekt profitieren als Entwickler, die gerade erst am Anfang ihres Weges stehen. Trotzdem sollte es für jeden interessant sein, sich die Workflows und Methoden anderer anzusehen.
  
 
== Das Spiel ==
 
== 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.
+
Im Rahmen des Projekts soll ein [http://de.wikipedia.org/wiki/Breakout_(Computerspiel) Breakout]-Klon 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 Spiels zu motivieren.
  
 
=== Fakten ===
 
=== Fakten ===
Es handelt sich hierbei um einen Breakout-Klon, das Spielprinzip kann man sich [https://www.youtube.com/watch?v=JRAPnuwnpRs hier anschauen]
+
Es handelt sich hierbei um einen Breakout-Klon, das Spielprinzip kann man sich [https://www.youtube.com/watch?v=JRAPnuwnpRs hier anschauen].
  
 
==== Umfang ====
 
==== Umfang ====
* ein Startmenü mit "Starten" und "Beenden" Buttons
+
* ein Startmenü mit "Starten"- und "Beenden"-Buttons
* ein Level mit festgelegten Blöcken, die zerstört werden können.
+
* ein Level mit festgelegten Blöcken, die zerstört werden können
* bei erfolgreichem Zerstören aller Blöcke soll automatisch das Level neu aufgebaut werden
+
* Bei erfolgreichem Zerstören aller Blöcke soll automatisch das Level neu aufgebaut werden.
* Punkte, Anzahl verfügbarer Bälle, die Anzahl restlicher Blöcke sowie die FPS sollen auf einem GUI ausgegeben werden
+
* Punkte, Anzahl verfügbarer Bälle, die Anzahl restlicher Blöcke sowie die FPS sollen auf einem GUI ausgegeben werden.
* das Spiel soll pausiert werden können
+
* Das Spiel soll pausiert werden können.
* eine Kollision und Änderung der Bewegung des Balles abhängig vom Aufschlagpunkt.  
+
* Die Bewegungsrichtung des Balls soll abhängig vom Aufschlagpunkt sein.
**Trifft der Ball links der Mitte auf das paddle, springt der Ball nach links ab und andersrum genau so.
+
** Trifft der Ball links bzw. rechts der Mitte auf das Paddle, springt er nach links bzw. rechts ab.
* häufige Kollisionen mit dem Paddle erhöhen die Geschwindigkeit des Balles, die beim Neuaufbau erhalten bleibt und lediglich zurückgesetzt wird, wenn der Spieler einen Ball verpasst und ein Leben verliert.
+
* Häufige Kollisionen mit dem Paddle erhöhen die Geschwindigkeit des Balls, die so lange erhalten bleibt, bis der Ball verloren ist und damit zurückgesetzt wird.
  
Optional
+
Optional:
* Power-Ups die Größe, Geschwindigkeit des Balles/Paddles verändern
+
* Power-ups, die Größe, Geschwindigkeit des Balls/Paddles verändern
* Keybindings
+
* Konfigurierbare Tastenbelegung
  
 
==== Dokumentation ====
 
==== Dokumentation ====
  
Während der Entwicklung, oder auch danach, soll eine Dokumentation entstehen die den Entwicklungsablauf möglichst detailiert beschreibt.  
+
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:
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.
 
* 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.  
+
* Grundlegende Programmierkenntnisse sollten vorausgesetzt werden.
* 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)
+
* 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.
+
* Best Practices einhalten. "Frickeln" ist gut und schön und gehört dazu, ist für den Anfang aber irreführend.
  
 
Die Dokumentation ist wichtig. Bitte achtet auf eine angenehme Struktur und nachvollziehbare Erklärungen.
 
Die Dokumentation ist wichtig. Bitte achtet auf eine angenehme Struktur und nachvollziehbare Erklärungen.
  
 
==== Assets ====
 
==== Assets ====
Wir werden das [http://kenney.itch.io/kenney-donation%20Pack 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.  
+
Wir werden das [http://kenney.itch.io/kenney-donation%20Pack Kenney Donation Pack] für unsere Zwecke verwenden, das unter der CC0-Lizenz steht. 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.
+
An dieser Stelle möchten wir jedem, der diese Assets verwendet, ans Herz legen etwas zu spenden.
  
Ich habe die relevanten Bilder hier zusammengefasst:
+
Wir haben die relevanten Bilder hier zusammengefasst:
  
 
Paddles.png
 
Paddles.png
Zeile 65: Zeile 63:
 
== Eingereichte Spiele ==
 
== Eingereichte Spiele ==
  
=== Programmier Frameworks ===
+
=== Programmier-Frameworks ===
  
 
=== Engines ===
 
=== Engines ===
  
 
=== Sonstige ===
 
=== Sonstige ===

Aktuelle Version vom 5. November 2014, 08:37 Uhr

Klicke hier, um diese Version anzusehen.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge