Ressourcen für Spieleentwickler

gamedevlearning_1

gamedevlearning.com ist ein neues capribeach-Projekt. Die Webseite listet Ressourcen für Spieleentwickler. Wie vielfältig die Softwareentwicklung ist, wenn es um Games geht, zeigen die 15 Rubriken:

  • Game Design
  • Coding Concepts
  • Artificial Intelligence
  • APIs/Frameworks
  • Game Engines
  • Development Tools
  • Graphics Tools
  • Math & Physics
  • 3D Graphics
  • Drawing
  • Concept Art
  • Animation
  • Sound Production
  • Inspiration
  • Business

Die Szene der unabhängigen Spieleentwickler („Indies“, Independent Game Developer) ist international. Es ist ein faszinierendes Feld, bei dem das Lernen nie aufhört. gamedevlearning.com hilft, die besten Tutorials, Videos, Vorlesungen, Podcasts, Tools, Game Engines und Erfahrungsberichte aus der Praxis im Internet zu finden.

Die Datenbanklösung wurde mit Django/Python und PostgreSQL realisiert. Die Suchfunktion arbeitet mit Elasticsearch.

Happy Learning!

Box2d-Simulationen mit LiquidFun

Für Wasser und Flüssigkeiten hat Google die freie Physik-Engine LiquidFun vorgestellt. Es ist eine Erweiterung von Box2d auf Basis von C++. Der Quellcode, kurze Beispielvideos und die Dokumentation der Bibliothek finden sich im Github-Depot von LiquidFun. Über Details des Open Source-Projektes informieren Todd Kerpelmann und Wolff Dobson im Android-Entwickler-Channel auf Youtube: Game Physics with LiquidFun

Versionskontrolle zum Nulltarif

logoBitBucket

Quellcode ist immer extrem empfindlich. Ein fehlendes Semikolon und schon geht gar nichts mehr. Zum Glück gibt es Tools für die Versionskontrolle. Git und Subversion (SVN) gehören zu den bekanntesten Verwaltungssystemen für Projektdateien. Wenn Quellcode (oder auch jede andere Art von Dateien) unter Versionskontrolle steht, dann werden alle Änderungen protokolliert. Man kann jederzeit auf einen vorherigen Stand in der Codeentwicklung zurück gehen und alle Zustände des Projektes landen sicher in einem Archiv. Ein solches System ist auch Gold wert, wenn mehrere Entwickler gemeinsam an einer Codebasis arbeiten.

GitHub und Google Code sind beliebte kostenlose Lagerplätze für freie Projekte (Open Source). Für Entwicklerteams bis fünf Personen bietet Bitbucket von Atlassian ein sehr gutes Angebot. Das australische Unternehmen stellt kostenfrei Lagerplatz für beliebig viele – auch private – Repositories zur Verfügung. Wenn bis zu zehn Entwickler an einem Projekt arbeiten, dann werden moderate 10 Dollar im Monat fällig. Die Dokumentation von Bitbucket ist hervorragend. Es wird Schritt für Schritt gezeigt, wie das Versionsmanagement mit Git (oder Mercurial) läuft. Damit wird die Installation und Inbetriebnahme zum Kinderspiel. Zusätzlich zur Dateiverwaltung gibt es bei einem Bitbucket-Repository nach Bedarf auch einen Issue-Tracker und ein Wiki mit dazu.

Prototyping: Phase 2 der Entwicklung

Construct2

Keiner ahnt, wie viele Ideen ein Studio antestet, bevor mit der Arbeit an einem Game begonnen wird. Es ist immer verlockend, eine Idee schnell in Code umzusetzen. Doch Vorsicht: Auch kleine Apps und Games sind oft komplexe Gebilde. Ideen sind trügerisch. Auf den ersten Blick erscheinen sie  genial. Später zeigt sich, dass irgendetwas nicht stimmt. Ein bewusster Prozess des Ideentestens und Ideenverwerfens ist daher ein guter Weg, um unnütze Entwurfs- und Programmierarbeit zu vermeiden. Das spart Zeit und Energie. Die Spieleentwicklung lässt sich grob in vier Phasen einteilen: Ideenfindung, Prototyping, Design & Programmierung sowie Vermarktung. Mit dem Prototyping werden Ideen frühzeitig auf ihr Potenzial getestet. Der Prototyp des Spiels dient dazu, die innere Mechanik eines Konzeptes auszuprobieren. Eine Idee muss sich in der Praxis beweisen.

Ziel des Prototypen ist es, den Kern des Spieles erlebbar zu machen.  Dabei werden drei Ebenen des Game Designs ausgeklammert: die Spielästhetik, die Story und die technologische Plattform. Nur die vierte Ebene – die Spielemechanik – steht beim Prototyping auf dem Prüfstand. Daher sollten zu diesem Zeitpunkt auch noch keine Bilder oder Soundelemente produziert werden. Die drei erstgenannten Ebenen – Ästhetik, Story und Technologie – können im Prinzip auf jede Mechanik aufgesetzt werden. Sie sind bei der Spielentstehung der zweite oder dritte Schritt. Am Anfang der Entwicklung ist eine funktionierende und begeisternde Spielemechanik das wichtigste. Ohne eine solche ist es nicht sinnvoll, die späteren Phasen zu beginnen.

Optimal ist es, wenn der Prototyp für eine Idee schnell und einfach umgesetzt werden kann. Nach Erfüllung seines Zweckes wird der Prototyp zur Seite gelegt und nicht weiter entwickelt. Für diese Art des unverbindlichen Testens von Spielekonzepten stehen viele Werkzeuge zur Verfügung, die in einer Basisversion kostenfrei genutzt werden können. Beliebte Tools im 2D-Bereich sind die Baukastensysteme Game Maker von YoYo und Construct 2 von Scirra.  Unter den vielen Cross-Plattform-Lösungen für App-Entwickler bieten sich Stencyl oder die Lua-Scripting-Frameworks Corona und Gideros Mobile an. Mit allen diesen Werkzeugen können Apps und Spiele auch komplett entwickelt werden. Allerdings besteht dann auch immer die Abhängigkeit von diesen Plattformen und ihren jeweiligen Unternehmen. capribeach software nutzt Construct 2 ausschließlich für das schnelle Prototyping. Für die eigentliche Entwicklung kommen die systemnahen Plattform-SDKs zum Einsatz. Diese werden je nach Anwendungsfall mit freien Bibliotheken und offenen Frameworks ergänzt, beispielsweise Cocos2d für iOS und libgdx für Android.

Projekte mit Trello managen

Trello von FogCreek Software läuft seit kurzem auch auf dem iPad. Wer das sehr empfehlenswerte Online-Tool Trello noch nicht kennt, bekommt in dem Youtube-Video eine gute Einführung direkt von Joel Spolsky, dem Chef von FogCreek.

Spolsky ist einer der bekanntesten IT-Gründer aus den USA. Seinen Blog Joel on Software kennt jeder Entwickler, ebenso die von ihm und Jeff Atwood (Coding Horror) ins Leben gerufene Expertenplattform stackoverflow. Trello ist ein sehr flexibles Werkzeug für das Management von Projekten und Teams. Es ist schnell, leistungsfähig und kostenfrei. Im Trello-Blog werden nützliche Kurzbefehle beschrieben. Trello kann per Rechner, iPhone und iPad aufgerufen werden. Alle Inhalte werden wie von Zauberhand synchronisiert und automatisch im Hintergrund gesichert.

Viel Sonne im Studio dank Lecturefox

Happy Coding

Es hat irgendwie auch etwas Trauriges, wenn ich heute die letzte Meldung mit Bezug zu Lecturefox schreibe. Dabei geht es um eine der besten Erfahrungen, die ich bisher mit einem „Nebenbei-Projekt“ gemacht habe. Vor vier Monaten habe ich die Domain verkauft. Auf der Seite Onlinecourses.com wird die Idee der Sammlung von frei zugänglichen Universitätsvorlesungen in einem professionellen Rahmen fortgeführt. Das Motto heißt „Top Online Courses and Classes on the Web“.

Für mich war es vor allem in der Zeit vor dem Abschluss der Übernahmevereinbarung sehr spannend und ich habe dabei eine Menge gelernt. Für die Abwicklung kam der Treuhandservice von Escrow ins Spiel. Der Domaintransfer verlief damit von Anfang bis Ende ohne jede Schwierigkeiten.

Lecturefox war kein schneller Erfolg, sondern über Jahre ein Hobbyprojekt. Die Domain existierte seit 2007. Im November 2012 kam das Angebot zur Übernahme aus heiterem Himmel. Es beweist, dass kleine Vorhaben im Internet nicht unsichtbar bleiben, wenn sie etwas eigenes zu bieten haben.

libGDX-Projekte per Mausklick einrichten

LibGDX Project Setup

Das Tool von Aurelien Ribon dient zur Einrichtung und Aktualisierung von libGDX-Projekten

Das Javaprogramm gdx-setup-ui ist in der erweiterten Version 3.0.0 erschienen. Es macht die Arbeit mit dem Spieleentwicklungs-Framework libGDX einfacher. Aurelien Ribon beschreibt die neuen Features auf seiner Webseite im einzelnen: LibGDX Project Setup v3.0.0!  Das Tool ist sehr empfehlenswert. Ab sofort ist die Aktualisierung der libGDX-Entwicklungsdateien sowie der Start eines neuen Eclipse-Projektes unter Einbindung von libGDX ein Kinderspiel. Das Hilfsprogramm ist im Dateienpaket von libGDX enthalten, außerdem kann es von einer eigenen github-Seite heruntergeladen werden:
LibGDX Project Setup (gdx-setup-ui)

Das Programm wird im Terminal gestartet: > java -jar gdx-setup-ui.jar

libgdx project setup

Die libGDX-Entwicklungsbibliotheken gelangen automatisch an den richtigen Platz

Nachdem das Tool die Projektordner in einem Arbeitsverzeichnis nach Wahl erstellt hat, müssen diese bei einer Neueinrichtung nur noch in Eclipse importiert werden. Beim Update holt gdx-setup-ui die jeweils aktuellen libGDX-Dateien und beamt sie an die richtige Stelle im laufenden Entwicklungsprojekt.

Die körperliche Seite des Netzes

In seinem Buch „Tubes: A Journey to the Center of the Internet“ richtet Andrew Blum den Blick auf eine Seite des Netzes, die oft vollständig vergessen wird. Doch sie existiert und wirkliche Menschen graben Schächte und verbinden Kabelstränge, damit die Daten quer durch Kontinente und über die Ozeane fließen können. In einem kurzen TED Talk gibt Blum einen Vorgeschmack auf das Thema. Neben der Neuerscheinung „Tubes“ steht auf meiner nie kleiner werdenden Leseliste auch „Blown to Bits“ von Hal Abelson, Ken Ledeen und Harry Lewis aus dem Jahr 2008.

Surface-Tablets für Metro-Anwendungen

Surface-Tablet von Microsoft

Surface-Tablet von Microsoft

„Surface“ und „Surface Pro“ heißen die ersten Tablet-PCs von Microsoft. Im ersten Modell arbeitet ein Nvidia-Tegra-ARM-Chip. Als Betriebssystems kommt Windows RT zum Einsatz. Das „Surface“ bringt 676 Gramm auf die Waage und soll zeitgleich mit dem Marktstart von Windows 8 verkauft werden. Es könnte also im Herbst 2012 erhältlich sein. Etwa drei Monate später soll die Version mit Intel-Core-i5-Prozessor folgen. Der „Surface Pro“ läuft unter Windows 8 Pro, wiegt 903 Gramm und hat gleich einen Stift mit an Bord, der magnetisch am Gehäuse haftet. Beide Tablets bieten ein 10,6 Zoll Touch-Display und einen ausklappbaren Ständer. Eine spezielle drei Millimeter dünne Hülle ist zugleich Schutzkleid und Tastatur für die neuen Tablets. Der Videotrailer von Microsoft vermittelt einen ersten Eindruck des Tablet-Designs.

Mehr Informationen liefert die 47 Minuten lange Präsentation zur Produktvorstellung, die zum Beispiel bei Engadget oder im Windows Newsroom zu sehen ist.

Wer Apps und Spiele für den zukünftigen Metro Store von Microsoft entwickelt, für den dürfte das Engagement von Microsoft sehr interessant sein. Ein spannender Herbst steht vor uns. Apple, Google und Amazon bieten mit ihren Vertriebsplattformen schon heute ein enormes Potenzial für Entwicklungsstudios. Mit Microsoft kommt ein Gigant hinzu, der das Spiel offener macht und vielleicht in der Zukunft auch mitprägen könnte. Windows 8 treibt künftig Desktop-Rechner, Tablets und Smartphones an. Mit dem Metro Store wird das App-Business vielfältiger. Für freie Entwickler sind mehr Möglichkeiten immer auch mehr Chancen. Zu welchem Zeitpunkt es sich lohnt, in die Metro-Entwicklung einzusteigen, muss jeder für sich entscheiden. Im Blick auf die Spieleentwicklung  rückt bei Windows 8 wieder C++/DirectX in den Vordergrund sowie Middleware, wie zum Beispiel auch Ogre3d. Wenn diese 3D-Grafikengine für die Metro-Entwicklung genutzt werden könnte, wäre das ein großer Sprung. Eine erste Portierung von Ogre 1.8.0 für WinRT/Metro existiert bereits und wird auf Cygon‘s Blog bereitgestellt.

Facebook kündigt App Center an

Facebook App Center

In den kommenden Wochen will Facebook ein eigenes App Center starten. Entwickler können sich mit ihren Apps für die Aufnahme bewerben. Gelistet werden ausschließlich Anwendungen, die den Richtlinien von Facebook folgen. Eine Qualitätskontrolle soll sicherstellen, dass auf der Plattform nur hochwertige Apps angeboten werden. Facebook will die Ablehnung mit einer Begründung versehen, so dass ein Entwickler sein Produkt auch nachbessern und dann ein zweites Mal einreichen kann. TechCrunch beleuchtet, welche Strategie Facebook mit dieser Ankündigung verfolgen könnte. Auf jeden Fall ist es für Spieleentwickler eine spannende Zeit. Apple und Android und Microsoft und jetzt auch noch Facebook: Die großen Spielplätze, auf denen sich kleine Indies mit ihren Apps präsentieren können, eröffnen Mega-Märkte. Also: An die Arbeit und tolle Apps erfinden. Das Spiel läuft nicht in der Zukunft, sondern jetzt und heute.