Zwei Softwareentwickler und Spiele-Enthusiasten entwickeln in ihrer Freizeit Videospiele und sprechen in einem Podcast über das, was sie tun, geben Tipps und diskutieren Technik sowie Methoden zur Spieleentwicklung.
Kolja Lubitz & Carsten Pfeffer
Heute gehen wir auf eine kleine Zeitreise! Wir sehen uns die ersten 3D-Spiele an, beleuchten die Meilensteine der 3D-Grafik und diskutieren, wie die Effekte funktionieren. Unter anderem sprechen wir über Vektor-Displays, Mode7, Raycasting, Binary Space Partitioning und die ersten "echten" 3D Games. Wenn ihr mit uns über diese Folge, unsere anderen Folgen, eure Projekte oder andere Themen rund um die Entwicklung von Spielen diskutieren wollt, könnt ihr gerne Kommentare auf einer Podcast-Plattform eurer Wahl hinterlassen, eine E-Mail an uns schreiben, oder auf unserem Discord-Server vorbeigucken:https://discord.gg/shHJPUd2Ww. Wir freuen uns auf euch! -- Links -- - Bitvint (https://bitvint.com/pages/the-rise-and-fall-of-vector-graphics) - The Rise and Fall of Vector Graphics in Arcade Gaming - SNES Wiki (https://snes.nesdev.org/wiki/Backgrounds) - SNES Background Modes - Mode 7 Baby (YouTube Video) (https://www.youtube.com/watch?v=M2bcOUQrvrU) - SNES Background Mode 7 (YouTube Video) (https://www.youtube.com/watch?v=3FVN_Ze7bzw) - Super Nintendo Entertainment System Features Pt. 05 - Doomworld Forum: So, is Doom a raycaster? (https://www.doomworld.com/forum/topic/71128-so-is-doom-a-raycaster/) - Forumsdiskussion "Is DOOM a Raycaster?" (Spoiler: Nein) - Why Doom is Awesome: Binary Space Partitioning (YouTube Video) (hhttps://www.youtube.com/watch?v=hYMZsMMlubg) - Beschreibung des Renderings der DOOM-Engine - 3D Gamestudio (https://en.wikipedia.org/wiki/3D_GameStudio) - Engine, die in den frühen 2000ern an Quake 3 angelehnt war und damals etwa die Rolle eingenommen hat, die Unity heute hat - Liste der Spiele auf Quake3 Basis (https://en.wikipedia.org/wiki/Id_Tech_3#Games) - Alle Spiele, die auf der Quake 3 Engine basieren - OpenGL Wiki: Fixed Function Pipeline (https://www.khronos.org/opengl/wiki/Fixed_Function_Pipeline) - Eine Beschreibung dessen, was die Fixed-Function Pipeline konnte - The Fire of Ardor - Making Of (YouTube Video) (https://www.youtube.com/watch?v=c-8ZbR2IYNU) - Carsten erklärt, wie Raycasting, Sprites und Levels in FoA funktionieren - Wikipedia: Binäre Suche (https://de.wikipedia.org/wiki/Bin%C3%A4re_Suche) - Wird für das DOOM-Rendering benötigt -- Erwähnte Spiele -- - Battlezone (1980) (https://en.wikipedia.org/wiki/Battlezone_(1980_video_game)) - Star Wars Arcade (1983) (https://en.wikipedia.org/wiki/Star_Wars_(1983_video_game)) - F-Zero (1990) (https://en.wikipedia.org/wiki/F-Zero_(video_game)) - Super Mario Kart (1992) (https://en.wikipedia.org/wiki/Super_Mario_Kart) - Super Star Wars (1992) (https://en.wikipedia.org/wiki/Super_Star_Wars) - Jazz Jackrabbit (1994) (https://en.wikipedia.org/wiki/Jazz_Jackrabbit_(1994_video_game)) - Wayout (1982) (https://en.wikipedia.org/wiki/Wayout) - MIDI Maze (1987) (https://en.wikipedia.org/wiki/MIDI_Maze) - Hovertank One / Hovertank 3D (1991) (https://en.wikipedia.org/wiki/Hovertank_One) - Catacomb 3-D (1991) (https://en.wikipedia.org/wiki/Catacomb_3-D) - Wolfenstein 3D (1992) (https://en.wikipedia.org/wiki/Wolfenstein_3D) - Ultima Underworld (1992) (https://en.wikipedia.org/wiki/Ultima_Underworld:_The_Stygian_Abyss) - Ken's Labyrinth (1993) (https://en.wikipedia.org/wiki/Ken%27s_Labyrinth) - DOOM (1993) (https://en.wikipedia.org/wiki/Doom_(1993_video_game)) - Blake Stone: Aliens of Gold (https://en.wikipedia.org/wiki/Blake_Stone:_Aliens_of_Gold) - Blake Stone: Planet Strike (1994) (https://en.wikipedia.org/wiki/Blake_Stone:_Planet_Strike) - The Elder Scrolls: Arena (1994) (https://en.wikipedia.org/wiki/The_Elder_Scrolls:_Arena) - The Elder Scrolls II: Daggerfall (1996) (https://en.wikipedia.org/wiki/The_Elder_Scrolls_II:_Daggerfall) - 3D Maze Screensaver (1995) (https://en.wikipedia.org/wiki/3D_Maze) - Hover! (1995) (https://en.wikipedia.org/wiki/Hover!) - Blood (1997) (https://en.wikipedia.org/wiki/Blood_(video_game)) - Shadow Warriorc (1997) (https://en.wikipedia.org/wiki/Shadow_Warrior_(1997_video_game)) - Quake (1996) (https://en.wikipedia.org/wiki/Quake_(video_game)) - Quake III Arena (1999) (https://en.wikipedia.org/wiki/Quake_III_Arena) - Star Trek: Voyager – Elite Force (2000) (https://en.wikipedia.org/wiki/Star_Trek:_Voyager_%E2%80%93_Elite_Force) - Star Wars Jedi Knight II: Jedi Outcast (2002) (https://en.wikipedia.org/wiki/Star_Wars_Jedi_Knight_II:_Jedi_Outcast) - Star Wars Jedi Knight: Jedi Academy (2003) (https://en.wikipedia.org/wiki/Star_Wars_Jedi_Knight:_Jedi_Academy) - Return to Castle Wolfenstein (2001) (https://en.wikipedia.org/wiki/Return_to_Castle_Wolfenstein) - Half Life (1998) (https://en.wikipedia.org/wiki/Half-Life_(video_game)) -- Stay Forever Folgen -- - F-Zero (https://www.stayforever.de/2025/03/f-zero-ssf-83/) - Super Mario Kart (https://www.stayforever.de/2020/05/super-mario-kart-ssf-29/) - Blood (https://www.stayforever.de/2023/08/blood-sf-135/) - DOOM (https://www.stayforever.de/2012/03/folge-9-doom-teil-1/) - Wolfenstein 3D (https://www.stayforever.de/2023/01/wolfenstein-3d-sf-128/) - Duke Nukem (https://www.stayforever.de/2016/06/duke-nukem-folge-55/)
In dieser Folge widmen wir uns ganz der 2D Animation mit Hilfe eines virtuallen Skeletts. Klassische 2D Animation verwendet viele einzelne Bilder, so genannte Frames, um ein bewegtes Bild entstehen zu lassen. Mit dem Aufkommen von 3D-Techniken ende der 90er-Jahre sind dann Bones verwendet worden, um 3D-Modelle anhand eines Skeletts zu animieren. Mittlerweile ist dieses Verfahren auch in der zweidimensionalen Welt angekommen. Für Portal Dogs und auch unsere ALPACA Adventure Game Engine verwenden wir die kommerzielle Software Spine, welche es uns ermöglicht, die verschiedenen Animationen unserer Charaktere zu erstellen und in unserem Spiel zum Leben erwecken zu können. Diese Software stellen wir in dieser Folge vor (auch wenn wir weder gesponsort werden, noch sonst irgendwie mit dem Anbieter assoziiert sind). Wenn ihr mit uns über diese Folge, unsere anderen Folgen, eure Projekte oder andere Themen rund um die Entwicklung von Spielen diskutieren wollt, könnt ihr gerne Kommentare auf einer Podcast-Plattform eurer Wahl hinterlassen, eine E-Mail an uns schreiben, oder auf unserem Discord-Server vorbeigucken:https://discord.gg/shHJPUd2Ww. Wir freuen uns auf euch! -- Links -- - Spine (https://esotericsoftware.com/) - Die Website von Esotericsoftware, dem Anbieter von Spine - Spine Showcase (https://esotericsoftware.com/spine-showcase-all) - Spiele, die mit Spine gemacht wurden - Rhubarb Lip Sync (https://github.com/DanielSWolf/rhubarb-lip-sync) - Das Tool, welches wir für die Mundanimation benutzen - ALPACA Engine (https://alpaca-engine.de) - Die Website unserer Point and Click Adventure Engine - Blender (https://www.blender.org/) - Open Source 3D Modellierungs-Tool (inklusive Animation, Materialien, Sculpting, Renderung, etc.) - The Animator's Survival Kit (https://archive.org/details/TheAnimatorsSurvivalKitRichardWilliams) - Elektronische Version des Buches im Internet Archive - Blender CoA Tools (https://blender-addons.org/coa-tools-addon/) - Cut-Out Animation Tools für Blender (freie Alternative zu Spine) - CoA-Tools vs. Spine (https://www.youtube.com/watch?v=wua9RwwjhYk) - Ein YouTube-Video, welches beide Tools vergleicht - CoA-Tools Kommentar des Entwicklers (https://blenderartists.org/t/coa-tools-dead/1479623/) - hier geht es um die Kompatibilität zu Blender Version 4 - Spriter (https://brashmonkey.com/) - Eine Spine Alternative - Dragon Bones (https://dragonbones.github.io/en/index.html) - Eine möglicher Spine-Alternative (teilweise auf Chinesisch...) - Rive (https://rive.app/) - Eine mögliche Spine-Alternative, die auch im Browser funktioniert
Viele Engines bieten einen Web-Export an. Andererseits gibt es auch Engines direkt fürs Web. Wofür das gut ist und wofür nicht, klären wir in dieser Folge. Welche Unterschiede gibt es zwischen einem Web-Export in einer herkömmlichen Engine und einem Spiel, welches direkt fürs Web entwickelt wurde? Welche Vorteile hat es für SpielerInnen, welche in der Entwicklung? Mit welchen Limitationen muss man klarkommen? Wir stellen ein paar Tools und Engines vor, die für Web-Games geeignet sind, erklären den Unterschied zwischen DOM-basierten und Canvas-basierten Games und spinnen darüber hinaus ein bisschen rum, welche Web-Tools man wie zweckentfremden kann, um sie in der Entwicklung einzusetzen, oder welche Web-Features auch in herkömmlichen Games sinnvoll sind. Außerdem haben wir neu und shiny einen Discord-Server, auf denm ihr mit uns über diese Folge, unsere anderen Folgen, eure Projekte und alle Themen rund um die Entwicklung von Spielen diskutieren könnt:https://discord.gg/shHJPUd2Ww -- CSS-Property zum Rendern von Pixel-Art -- Wenn man Bilder für Pixel-Art Spiele hochskalieren möchte, wird hierbei per Default eine Interpolation angewandt. Dadurch sehen die Bilder eher unscharf aus, als pixelig. Um dies zu umgehen, kann man die folgende CSS-Eigenschaft verwenden: image-rendering: pixelated; -- Links -- -- Unsere Web Games -- - Ritual Tycoon (https://ritualtycoon.github.io/RitualTycoon/) - HTML5 Game von uns vom GGJ 2016 - rubbrl4zr (GGJ Seite) (https://v3.globalgamejam.org/2017/games/rubbrl4zr) - YouTube-Video von "Rubberlaser" - Ein HTML5 Game von uns vom GGJ 2017 (YouTube-Video (https://www.youtube.com/watch?v=30fSsyqXZ-E)) - JNTetri (https://jntetri.boomshine.de/) - Multiplayer Tetris-Klon in JNGL, im Browser lauffähig - Critical Mission (https://cpfr.gitlab.io/CriticalMission.gitlab.io/) - Ein Artemis-Klon von Carsten - vor langer Zeit angefangen und nie fertiggestellt... -- Andere erwähnte Spiele -- - Artemis Spaceship Bridge Simulator (https://www.artemisspaceshipbridge.com) - Ein Local-Multiplayer-Co-op-Spiel, das eine Raumschiffbrücke simuliert - Empty Epsilon (https://daid.github.io/EmptyEpsilon/) - Ein Artemis-Klon, OpenSource - MonstersGame (www.monstersgame.de) - Browserspiel aus dem Jahr 2005 (gibt es immer noch) -- Sonstige Links -- - ElectronJS (https://www.electronjs.org/) - Das Tool, um Web-Apps als native Desktop-Applikationen zu verpacken - Discord Game SDK (https://discord.com/developers/docs/developer-tools/game-sdk) - Discords API für Games (einige Features sind bereits deprecated) - Creating a 13KB JS Game using SVG (https://dev.to/lopis/creating-a-13kb-js-game-using-svg-5fjk) - Ein Artikel über Spieleentwicklung mit SVG - Practical SVG (https://practical-svg.chriscoyier.net/) - Ein kurzes Buch rund um das Vektorgrafikformat SVG - Web RTC Data Channels (https://developer.mozilla.org/en-US/docs/Games/Techniques/WebRTC_data_channels) - Dokumentation auf MDN (Mozilla Developer Network) - Audio for Web games (https://developer.mozilla.org/en-US/docs/Games/Techniques/Audio_for_Web_Games) - Dokumentation auf MDN (Mozilla Developer Network) - 2D collision detection (https://developer.mozilla.org/en-US/docs/Games/Techniques/2D_collision_detection) - Dokumentation auf MDN (Mozilla Developer Network) - Game From Scratch - Unity Pricing Changes (https://gamefromscratch.com/unity-announce-massive-pricing-changes/) - hier ging es um die Unity Logo Policy (ab Minute 7:20) -- Engines & Libraries (Fokus auf "free" und "open source") -- - Phaser (https://phaser.io/) - 2D Game Engine für Javascript (MIT-Lizenz, proprietärer Editor) - Kaplay (https://kaplayjs.com/) - Sehr einfache 2D Game Engine für JS (MIT-Lizenz) - Three.js (https://threejs.org/) - 3D Grafik-Library für Javascript (MIT-Lizenz) - BabylonJS (https://babylonjs.com/) - 3D Game Engine für Javascript (Apache 2.0 - Lizenz) - PlayCanvas (https://playcanvas.com/) - Game Engine für Javascript, auch 3D (MIT-Lizenz, proprietärer Editor) -- Physik: -- - ammo.js (https://github.com/kripken/ammo.js) - Javascript-Port von Bullet Physics (zlib-Lizenz, die Dokumentation soll lückenhaft sein) - box2d.js (https://github.com/kripken/box2d.js/) - Javascript-Port von Box2D, für 2D Physik (zlib-Lizenz) - planck.js (https://github.com/piqnt/planck.js) - Javascript-Rewrite von Box2D, für 2D Physik (MIT-Lizenz) - matter.js (https://github.com/liabru/matter-js) - 2D Physik Engine für Javascript (MIT-Lizenz) -- Gamepad API -- - Gamepad API (https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API) - Mozilla Developer Network (MDN) Beschreibung der HTML5 Gamepad API - Using the Gamepad API (https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API) - Mozilla Developer Network (MDN) Anleitung zur Gamepad API -- YouTube-Kanäle zum Thema -- - SimonDev (https://www.youtube.com/@simondev758) - (nicht der Simon vom GameDev-Podcast
Heute wird es episch! Wir sprechen über Spieletrailer, wann sie gut sind und wie man sie macht. Wie wichtig sind Logos, wann macht man einen Render-Trailer und wann einen mit richtigem Gameplay? Welche Vorgaben machen die Game Stores und welche Dinge muss man beachten, wenn man Trailer auf YouTube veröffentlicht? Das alles und noch viel mehr besprechen wir in dieser Folge. -- Links -- - How I got my indie game on the Las Vegas Sphere!! (https://mastodon.gamedev.place/@simonschreibt/111840241384976751) - Simon's Video, wie er sein Spiel "Cozy Space Survivors" auf die Las Vegas Sphere bekommen hat - Adventure game demo round-up for Steam Next Fest – June 2023 (https://adventuregamehotspot.com/feature/473/adventure-game-demo-round-up-for-steam-next-fest-june-2023) - Eine Trailersammlung für Adventure Games 2023 mit ganz vielen Trailern als Inspiration - Game trailers and the art of storytelling (https://www.gamedeveloper.com/marketing/game-trailers-and-the-art-of-storytelling) - Ein Artikel über Trailer auf "GameDeveloper.com" - The Elder Scrolls V: Skyrim - Teaser Trailer (https://www.youtube.com/watch?v=sUPI4DIqJVs) - Der in der Folge erwähnte Skyrim Teaser Trailer, der damals ziemlich gehyped wurde - How to Make an Indie Game Trailer (https://zerofruit.medium.com/how-to-make-an-indie-game-trailer-a270967ece7f) - Capturing Great Footage for Game Trailers (https://www.gdcvault.com/play/1025079/Capturing-Great-Footage-for-Game) - GDC Talk - Kdenlive (https://kdenlive.org/de/) - ein freier, OpenSource Video-Editor für Windows, Linux und Mac -- Unsere Trailer -- - Portal Dogs Story-Trailer (https://youtu.be/yy15uYnvFoA) - Portal Dogs Gameplay-Trailer (https://youtu.be/s9FO5Hmagr4) - Fire of Ardor Release-Trailer (https://youtu.be/dzFchAfor3s) - Fire of Ardor Gameplay-Teaser (https://www.youtube.com/watch?v=XiqqT5XJKGc) (in 360p / schlechte Qualität, wie in der Folge erwähnt) - Drache Puck Trailer (https://www.youtube.com/watch?v=T5yvy9YEyro) - ein interaktives Kinderbuch made with ALPACA
Heute sprechen wir darüber, wie Spielerinnen und Spieler Spielsessions beenden und wie wir in der Entwicklng diese Ausstiege angenehm gestalten können.
Heute haben wir Johanna Daher und Manuel Lavella zu Gast und spielen gemeinsam ein selbst geschriebenes Pen and Paper Abenteuer. Das Abenteuer selbst könnt ihr zum Nachspielen auf unserer Website herunterladen.
Wir haben uns gedacht, wir machen mal etwas Anderes: Wir laden uns zwei Gäste ein und spielen zusammen ein Pen and Paper Rollenspiel. In dieser (etwas kürzer als regulären) Folge sprechen wir darüber, warum wir das machen, was Pen and Paper eigentlich ist - und worum es in der Geschichte geht, die wir spielen werden.
Heute sprechen wir über die Kunst, Spiele zu entwerfen, die Spaß machen
Heute widmen wir uns dem spannenden Thema, welche Art Multiplayer-Games es gibt und wie sie umgesetzt werden können.
Wir entwickeln seit geraumer Zeit an einem Point and Click Adventure und berichten über unsere Erfahrungen, beschreiben unsere Tools und Techniken.
Wir sprechen drüber, wie man sich am besten auf eine Messe vorbereitet, sei es als Aussteller oder als Besucher.
Welche Möglichkeiten gibt es, intelligente Computergegner umzusetzen?
Wir sprechen über Controller, Touch und selbst gebaute Arcade-Maschinen
Was sind eigentlich Töne? Wie nehmen wir sie auf und wie kommen sie ins Spiel?
Was macht Platformer Games aus? Wie haben wir unsere Jump and Runs umgesetzt und was gibt es dabei zu beachten?
Wie Gründe ich eine Firma für mein Spiel? Welche Rechtsformen gibt es? Was gilt es dabei zu beachten?
Welche Möglichkeiten gibt es, die Objekte in der Spielwelt zu implementieren? Warum weicht man bei Spielen unter Umständen von etablierten Mustern ab?
Warum schreibt jemand seine eigene Game Engine? Was macht JNGL besonders? Wie kommt es dazu, dass man eine Engine auf jedwede Plattform portiert?
Was wäre, wenn man die Zeit einfach zurückdrehen könnte? Warum benutzen wir immer Git, auch wenn wir alleine arbeiten? Warum ist Git besser als seine Vorgänger?
Warum macht es Spaß, Werkzeuge selbst zu entwickeln? Wann sollte man fertige Tools benutzen, wann selber bauen? Was macht einen guten Level Editor aus?
Wie bekomme ich mein Game auf die Nintendo Switch? Was brauche ich für den Play Store? Sollte ich mein Spiel auf Steam vertreiben? Heute geht es darum, wie und wo man sein Spiel vertreiben kann.
Was macht der Computer, wenn ein Spiel läuft? Wie oft passiert das? Was passiert, wenn ein Spiel ruckelt? Warum ist es schlecht, wenn ein Spiel zu schnell läuft? Die Antworten auf diese Fragen gibt's in dieser Episode
Wir sprechen darüber, was man auf einem Game Jam macht, warum es Spaß macht und welche Voraussetzungen man mitbringen sollte. Den Ablauf eines Game Jams besprechen wir am Beispiel des Global Game Jams (GGJ).
In der ersten Episode stellen wir uns vor und sprechen über das, was euch in diesem Podcast erwartet. Außerdem reden wir über die Spiele, die wir schon gemacht haben und was es für uns bedeutet, Hobby-Spieleentwickler zu sein. Als Bonus gibt es einen Nerd-Witz am Ende.