Games mit Roblox
Eigene Spiele entwickeln
mit Roblox Studio
Übersetzung aus dem Amerikanischen
von Knut Lorenzen
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
ISBN 978-3-7475-0439-0
1. Auflage 2022
www.mitp.de
E-Mail: mitp-verlag@sigloch.de
Telefon: +49 7953 / 7189 - 079
Telefax: +49 7953 / 7189 - 082
© 2022 mitp Verlags GmbH & Co. KG
Authorized translation from the English language edition, entitled ROBLOX DEVELOPMENT IN 24 HOURS: THE OFFICIAL ROBLOX GUIDE 1st Edition by THE ROBLOX CORPORATION published by Pearson Education, Inc, © 2021 Roblox Corporation. “Roblox,” the Roblox logo, and “Powering Imagination” are among the Roblox registered and unregistered trademarks in the U.S. and other countries.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.
GERMAN language edition published by MITP VERLAGS GMBH & CO. KG, Copyright
© 2022.
Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.
Lektorat: Janina Bahlmann
Fachkorrektorat: Tanja Köhler
Sprachkorrektorat: Petra Heubach-Erdmann
Covergestaltung: Chuti Prasertsith, Christian Kalkert
Electronic Publishing: Petra Kleinwegen
Dieses Ebook verwendet das ePub-Format und ist optimiert für die Nutzung mit dem iBooks-reader auf dem iPad von Apple. Bei der Verwendung anderer Reader kann es zu Darstellungsproblemen kommen.
Hinweis des Verlages zum Urheberrecht und Digitalen Rechtemanagement (DRM)
Der Verlag räumt Ihnen mit dem Kauf des ebooks das Recht ein, die Inhalte im Rahmen des geltenden Urheberrechts zu nutzen. Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheherrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und Einspeicherung und Verarbeitung in elektronischen Systemen.
Der Verlag schützt seine ebooks vor Missbrauch des Urheberrechts durch ein digitales Rechtemanagement. Bei Kauf im Webshop des Verlages werden die ebooks mit einem nicht sichtbaren digitalen Wasserzeichen individuell pro Nutzer signiert.
Bei Kauf in anderen ebook-Webshops erfolgt die Signatur durch die Shopbetreiber. Angaben zu diesem DRM finden Sie auf den Seiten der jeweiligen Anbieter.
Impressum
Vorwort
Über die Autorin
Über die weiteren Mitwirkenden
Über die Fachkorrektorin der deutschen Ausgabe
1 Was ist das Besondere an Roblox?
1.1 Roblox ermöglicht es, soziale Kontakte zu knüpfen
1.1.1 Roblox als soziale Website
1.1.2 Roblox als Treffpunkt für Entwickler
1.2 Roblox verwaltet Benutzerinhalte
1.2.1 Inhalte organisieren
1.2.2 Deine eigene Identität erschaffen
1.2.3 Charaktere personalisieren
1.3 Roblox ermöglicht schnelle Prototyperstellung und Iteration
1.3.1 Bereit für Anpassungen
1.4 Ideen einfach umsetzen
1.4.1 Plugins
1.4.2 Veröffentlichung und Updates ohne Wartezeit
1.5 Die Funktionen der Roblox-Engine
1.5.1 Vernetzung
1.5.2 Physik
1.5.3 Rendering
1.5.4 Plattformübergreifende Entwicklung
1.6 Alles kostenlos
1.7 Unbegrenzte Möglichkeiten
1.8 Finde deinen eigenen Stil
1.9 Zusammenfassung
1.9.1 Fragen und Antworten
1.9.2 Workshop
1.9.3 Aufgaben
2 Verwendung von Roblox Studio
2.1 Installation von Roblox Studio
2.1.1 Fehlerbehebung bei der Installation
2.1.2 Roblox Studio starten
2.2 Verwendung von Studio-Templates
2.2.1 Die Registerkarte All Templates
2.2.2 Themes
2.2.3 Gameplay
2.3 Verwendung des Game-Editors
2.3.1 Einrichtung des Arbeitsbereichs im Game-Editor
2.3.2 Verwendung des Explorer-Fensters
2.3.3 Erstellen eines Parts
2.3.4 Verwendung des Properties-Fensters
2.4 Verschiebung, Skalierung und Ausrichtung von Objekten
2.4.1 Verschieben
2.4.2 Skalieren
2.4.3 Drehen
2.4.4 Transformieren
2.5 Snapping
2.6 Collisions
2.7 Verankern
2.8 Speichern und Veröffentlichung deines Projekts
2.8.1 Speichern deines Projekts
2.8.2 Veröffentlichung deines Projekts
2.8.3 Projekt wieder öffnen
2.9 Spieltest
2.9.1 Spieltest durchführen
2.9.2 Spieltest beenden
2.10 Zusammenfassung
2.10.1 Fragen und Antworten
2.10.2 Workshop
2.10.3 Aufgaben
3 Verwendung von Parts
3.1 Erstellen eines Parts
3.2 Aussehen eines Parts ändern
3.2.1 Farbe
3.2.2 Material
3.2.3 Reflexionsgrad und Transparenz
3.3 Decals und Texturen erstellen
3.3.1 Decals
3.3.2 Texturen
3.4 Zusammenfassung
3.4.1 Fragen und Antworten
3.4.2 Workshop
3.4.3 Aufgaben
4 Physik-Engine
4.1 Verwendung von Attachments und Constraints
4.2 Erstellen einer Tür
4.3 CanCollide deaktivieren, damit ein Spieler die Tür durchschreiten kann
4.4 Scharniere und Federn hinzufügen
4.4.1 Öffnen einer Tür mit Scharnieren
4.4.2 Erstellen der Federn
4.4.3 Realistisches Verhalten von Federn
4.5 Verwendung eines Motors
4.6 Zusammenfassung
4.6.1 Fragen und Antworten
4.6.2 Workshop
4.6.3 Aufgaben
5 Landschaften gestalten
5.1 Der Terrain-Editor
5.2 Die Registerkarte Edit
5.2.1 Verändern des Terrains mit dem Substract-Werkzeug
5.2.2 Terrain anheben mit dem Grow-Werkzeug
5.2.3 Terrain abtragen mit dem Erode-Werkzeug
5.2.4 Terrain mit dem Smooth-Werkzeug glätten
5.2.5 Terrain mit dem Flatten-Werkzeug einebnen
5.2.6 Materialien ändern mit dem Paint-Werkzeug
5.2.7 Wasserflächen erzeugen mit dem Sea-Level-Werkzeug
5.3 Die Registerkarte Region
5.3.1 Terrain auswählen
5.3.2 Terrain mit dem Move-Werkzeug verschieben
5.3.3 Terrain mit dem Resize-Werkzeug skalieren
5.3.4 Verwendung der Werkzeuge Copy, Paste und Delete
5.3.5 Eine Fläche mit dem Fill-Werkzeug ausfüllen
5.4 Height Maps und Color Maps
5.4.1 Height Maps
5.4.2 Color Maps
5.5 Zusammenfassung
5.5.1 Fragen und Antworten
5.5.2 Workshop
5.5.3 Aufgaben
6 Beleuchtung
6.1 Eigenschaften der Beleuchtung
6.1.1 Eigenschaften des Erscheinungsbilds
6.1.2 Die Eigenschaften Data und Exposure
6.2 Beleuchtungseffekte
6.2.1 SpotLight, PointLight und SurfaceLight
6.3 Zusammenfassung
6.3.1 Fragen und Antworten
6.3.2 Workshop
6.3.3 Aufgaben
7 Atmosphäre
7.1 Eigenschaften der Atmosphäre
7.1.1 Density
7.1.2 Offset
7.1.3 Haze
7.1.4 Color
7.1.5 Glare
7.1.6 Decay
7.2 Anpassen der Skybox
7.2.1 Erstellen einer Skybox
7.2.2 Anpassen der Himmelskörper
7.2.3 Anpassen der Beleuchtungsfarben
7.3 Zusammenfassung
7.3.1 Fragen und Antworten
7.3.2 Workshop
7.3.3 Aufgabe
8 Effekte
8.1 Partikel
8.1.1 Anpassen der Partikel
8.1.2 Ändern der Farbe von Partikeln
8.1.3 Eigenschaften eines ParticleEmitters
8.2 Beams
8.2.1 Krümmung
8.2.2 Segments
8.2.3 Width
8.2.4 Lichtern mit einem Beam einen Strahleneffekt hinzufügen
8.3 Zusammenfassung
8.3.1 Fragen und Antworten
8.3.2 Workshop
8.3.3 Aufgaben
9 Objekte importieren
9.1 Einfügen und Hochladen kostenloser Modelle
9.1.1 Hochladen des Modells bei Roblox
9.1.2 Zugriff auf Modelle
9.1.3 Einfügen kostenloser Modelle
9.2 Importieren mit MeshParts und Asset Manager
9.2.1 Mehrere Meshes auf einmal importieren mit dem Asset Manager
9.3 Importieren von Texturen
9.3.1 Importieren von Decals mit dem Asset Manager
9.4 Sounds importieren
9.5 Zusammenfassung
9.5.1 Fragen und Antworten
9.5.2 Workshop
9.5.3 Aufgaben
10 Spielstruktur und Zusammenarbeit
10.1 Einem Spiel Places hinzufügen
10.2 In Roblox Studio zusammenarbeiten
10.2.1 Zusammenarbeit bei Gruppenspielen
10.2.2 Konfiguration der Rollen
10.2.3 Zuweisung der Rollen
10.2.4 Team Create aktivieren
10.2.5 Hinzufügen und Verwalten von Benutzern in Team Create
10.2.6 Zugriff auf die Team-Create-Sitzung
10.2.7 Verwendung von Roblox Studio Chat
10.2.8 Team Create deaktivieren
10.3 Erstellen von Roblox-Packages und darauf zugreifen in Roblox Studio
10.3.1 Objekte in Packages konvertieren
10.3.2 Zugriff auf die Package-Toolbox
10.3.3 Zugriff auf Packages im Asset Manager
10.3.4 Aktualisieren eines Packages
10.3.5 Eine größere Anzahl von Packages aktualisieren
10.4 Zusammenfassung
10.4.1 Fragen und Antworten
10.4.2 Workshops
10.4.3 Aufgaben
11 Lua – ein Überblick
11.1 Der Coding Workspace
11.1.1 Erstellen des ersten Scripts
11.2 Eigenschaften ändern mithilfe von Variablen
11.2.1 Überblick über Variablen
11.2.2 Verwendung von Variablen
11.2.3 Erstelle eine halb durchsichtige Bombe
11.3 Kommentare zum Code hinzufügen
11.4 Funktionen und Events
11.4.1 Erstellen einer Funktion
11.4.2 Verwendung einer Funktion, um eine Bombe explodieren zu lassen
11.4.3 Der Einsatz von Events
11.4.4 Verwendung eines Events, um einen Part explodieren zu lassen, wenn er berührt wird
11.5 Verwendung bedingter Anweisungen
11.6 Arrays und Dictionarys
11.7 Verwendung von Schleifen
11.8 Gültigkeitsbereiche
11.9 Benutzerdefinierte Events
11.10 Debugging des Codes
11.10.1 Debugging mit Strings
11.10.2 Lua-Debugger
11.10.3 Log-Dateien
11.11 Zu einem besseren Spieleentwickler werden
12 Kollisionen, Humanoide, Punktzahl
12.1 Kollisionen
12.1.1 CollisionFidelity
12.1.2 Anzeige und Verbesserung der Kollisionsgeometrie
12.1.3 Collision Groups Editor
12.1.4 Direkte Verwendung des Collision Groups Editors
12.1.5 Verwendung des Collision Group Editors per Script
12.2 Kollisionserkennung
12.2.1 Verwendung von .Touched
12.2.2 debounce
12.3 Humanoid
12.3.1 Humanoid innerhalb der Hierarchie
12.3.2 Eigenschaften, Funktionen und Events
12.4 Zusammenfassung
12.4.1 Fragen und Antworten
12.4.2 Workshop
12.4.3 Aufgaben
13 Interaktion mit der Benutzeroberfläche (GUI)
13.1 Erstellen von GUIs
13.1.1 PlayerGui
13.1.2 SurfaceGui
13.2 Grundlegende GUI-Elemente
13.3 Programmierung interaktiver GUIs
13.4 Tweening
13.5 Layouts
13.6 Erstellen einer GUI mit Countdown
13.7 Zusammenfassung
13.7.1 Fragen und Antworten
13.7.2 Workshop
13.7.3 Aufgaben
14 Programmierung von Animationen
14.1 Position und Rotation
14.1.1 Bewegen eines Objekts von Punkt A nach Punkt B
14.1.2 Rotation von Parts mit CFrames
14.2 Ruckelfreies Bewegen von Objekten mit Tween
14.2.1 Tweening zwischen zwei Punkten
14.2.2 EasingStyle und EasingDirection
14.3 Bewegen des gesamten Modells
14.4 Zusammenfassung
14.4.1 Fragen und Antworten
14.4.2 Workshop
14.4.3 Aufgaben
15 Sounds und Musik
15.1 Einen Soundtrack erstellen
15.2 Importieren von Musik und Sounddateien
15.3 Umgebungsgeräusche hinzufügen
15.4 Sounds via Code abspielen
15.5 Gruppieren von Sounds
15.6 Zusammenfassung
15.6.1 Fragen und Antworten
15.6.2 Workshop
15.6.3 Aufgaben
16 Animation-Editor
16.1 Einführung in den Animation-Editor
16.1.1 Anforderungen an das Modell
16.1.2 Öffnen des Animation-Editors
16.2 Erstellen von Posen
16.3 Speichern und Exportieren von Animationen
16.4 Easing
16.5 Inverse Kinematik
16.5.1 IK aktivieren
16.5.2 Parts anheften
16.6 Einstellungen für Animationen
16.6.1 Wiederholungen
16.6.2 Priorität
16.7 Animation-Events
16.7.1 Events hinzufügen
16.7.2 Verschieben und Löschen von Events
16.7.3 Events klonen
16.7.4 Implementierung von Events in Scripts
16.7.5 Standardanimationen ersetzen
16.8 Zusammenfassung
16.8.1 Fragen und Antworten
16.8.2 Workshop
16.8.3 Aufgaben
17 Kämpfe, Teleportation und Datenspeicher
17.1 Einführung in Tools
17.1.1 Grundlagen
17.1.2 Ein Tool erstellen
17.1.3 Tool-Handle
17.1.4 Tool-Ausrichtung
17.2 Teleportation
17.2.1 Teleportation innerhalb eines Place
17.2.2 Teleportieren zwischen verschiedenen Places
17.2.3 Spieluniversen
17.3 TeleportService
17.3.1 Funktionen
17.3.2 Abrufen der PlaceID
17.3.3 Beispiel: Client
17.3.4 Beispiel: Server
17.4 Verwendung des dauerhaften Datenspeichers
17.4.1 Unterstützte Datentypen und Beschränkungen
17.5 Funktionen des Datenspeichers
17.5.1 UpdateAsync() und SetAsync()
17.6 Fehlerbehandlung
17.6.1 Was ist ein pcall?
17.6.2 Schutz vor Datenverlust
17.7 Zusammenfassung
17.7.1 Fragen und Antworten
17.7.2 Workshop
17.7.3 Aufgaben
18 Mehrspieler-Code und das Client-Server-Modell
18.1 Das Client-Server-Modell
18.1.1 Scripts und LocalScripts
18.1.2 Replikation
18.2 Was sind RemoteFunctions und RemoteEvents?
18.2.1 Verwendung von RemoteEvent und RemoteFunction
18.2.2 Erstellen eines RemoteEvents
18.3 Serverseitige Validierung
18.4 Teams
18.4.1 Hinzufügen von Teams
18.4.2 Automatische Zuordnung von Spielern zu einem Team
18.4.3 Manuelle Zuordnung von Spielern zu einem Team
18.5 Network-Ownership
18.6 Zusammenfassung
18.6.1 Fragen und Antworten
18.6.2 Workshop
18.6.3 Aufgaben
19 Module-Scripts
19.1 Kurz vorgestellt: Das Module-Script
19.1.1 Aufbau eines Module-Scripts
19.1.2 Hinzufügen von Code, der überall verwendet werden kann
19.1.3 Verwendung eines Module-Scripts
19.2 Clientseitige und serverseitige Module-Scripts
19.3 Der Einsatz von Module-Scripts: Game-Loop
19.3.1 Einstellungen
19.3.2 Erstellen wiederverwendbarer Funktionen für Spielrunden
19.3.3 Die Game-Loop
19.4 Zusammenfassung
19.4.1 Fragen und Antworten
19.4.2 Workshop
19.4.3 Aufgaben
20 Programmierung von Kamerabewegungen
20.1 Einführung in die Verwendung von Kameras
20.1.1 Kameraeigenschaften
20.1.2 Handhabung der Kamera
20.2 Programmierung einer Kamerabewegung
20.3 Verwendung von Render-Step
20.4 Versetzen der Kamera
20.4.1 Dauerhafte Verknüpfung mit dem Render-Step
20.4.2 deltaTime
20.5 Zusammenfassung
20.5.1 Fragen und Antworten
20.5.2 Workshop
20.5.3 Aufgaben
21 Plattformübergreifende Entwicklung
21.1 Verbesserung der Performance
21.1.1 Speicherbedarf
21.1.2 Optimierung
21.1.3 Vereinfachung des physikalischen Verhaltens
21.1.4 Inhalte streamen
21.1.5 Diverse weitere Optimierungen
21.2 Verbesserung der Scripts
21.2.1 Zuweisung des Parents bei Objekten
21.2.2 Blindes Vertrauen in Server/Client
21.2.3 Schleifen sparsam verwenden
21.3 Kompatibilität mit Mobilgeräten
21.3.1 Erscheinungsbild
21.3.2 Steuerung
21.3.3 Simulation von Mobilgeräten
21.4 Spielkonsolen und VR
21.4.1 Xbox-Richtlinien
21.4.2 VR Best Practices
21.5 Zusammenfassung
21.5.1 Fragen und Antworten
21.5.2 Workshop
21.5.3 Aufgaben
22 Globale Community
22.1 Einführung in Lokalisierung
22.1.1 Texte für die Übersetzung erfassen
22.1.2 Übersetzung der erfassten Texte
22.1.3 Einsetzen der Übersetzung
22.2 Globale Regelkonformität
22.3 Datenschutzgesetze: DSGVO und CCPA
22.3.1 Allgemeine Richtlinien
22.3.2 Löschen von Spielerdaten
22.4 Zusammenfassung
22.4.1 Fragen und Antworten
22.4.2 Workshop
22.4.3 Aufgaben
23 Monetarisierung
23.1 Game Pass: Einmalige Käufe
23.2 Game Passes im Spiel verkaufen
23.2.1 Game-Pass-Vorteile aktivieren
23.3 Developer Products: Consumables
23.4 Roblox Premium
23.5 Developer Exchange: Verdiene richtiges Geld mit deinem Spiel
23.6 Zusammenfassung
23.6.1 Fragen und Antworten
23.6.2 Workshop
23.6.3 Aufgaben
24 Spieler auf das Spiel aufmerksam machen
24.1 Icons, Vorschaubilder und Trailer
24.2 Updates
24.3 Anzeigen und Benachrichtigungen
24.3.1 Sponsoranzeigen
24.3.2 Benutzeranzeigen
24.3.3 Benachrichtigungen
24.4 Analytics
24.5 Zusammenfassung
24.5.1 Fragen und Antworten
24.5.2 Workshop
24.5.3 Aufgaben
A Lua-Scripting
A.1 Änderung von Eigenschaften (Datentyp und Enumerationen)
A.2 Bedingte Anweisungen und Verzweigungen
A.3 Ausbau der Lua-Kenntnisse
B Eigenschaften und Funktionen von Humanoid
Stelle dir ein virtuelles Universum vor, das von einer weltweiten Community entwickelt wurde, der Künstler, Programmierer, Geschichtenerzähler und die verschiedensten anderen Leute angehören. In diesem Traum würden Menschen aus allen Teilen der Welt zusammenkommen, um Millionen Erlebnisse zu erschaffen und mit ihren Freunden zu teilen und um voneinander zu lernen. Es wäre ein Universum, das auf der Vorstellungskraft beruht, in dem alles möglich wäre, unabhängig vom verwendeten Gerät, dem Aufenthaltsort oder der Zeit. Und wenn ich nun feststelle, dass es diese digitale Utopie schon seit mehr als einem Jahrzehnt gibt?
Als Erik Cassel und ich 2004 Roblox mitgründeten, wollten wir einen immersiven, dreidimensionalen, physikalisch simulierten Raum für mehrere Spieler erschaffen, mit dem sich jeder verbinden kann, um zusammen mit anderen Spaß zu haben. In den Anfangstagen von Roblox waren wir davon fasziniert, was die Leute alles anstellten. Sie wollten ihr eigenes Restaurant managen, eine Naturkatastrophe überleben oder erfahren, wie es ist, ein Vogel zu sein. Wenn ich nun, siebzehn Jahre später, in die Zukunft blicke, ist es offensichtlich, dass diese Plattform noch viel mehr zu bieten hat.
Roblox stellt eine neue Kategorie für Erlebnisse mit anderen Menschen dar, in der die Grenzen zwischen Spiel, sozialem Netzwerk und Medien verschwimmen. Unser Team hat festgestellt, dass sich die Millionen täglichen Roblox-User nicht nur zum Spielen anmelden, sondern sich zusammenfinden, um eine Community aufzubauen, Geschichten zu erzählen und sowohl mit Freunden als auch mit Fremden etwas zu erleben.
Wir fahren damit fort, unsere Plattform weiterzuentwickeln, die es Milliarden von Benutzern ermöglicht, Erfahrungen mit anderen zu teilen – es gab nie einen besseren Zeitpunkt, einer weltweiten Community kreativer Menschen beizutreten, die so erstaunliche Beiträge zu unserer Plattform leisten. 3-D-Erlebnisse zu entwickeln, macht nicht nur Spaß, sondern bietet auch die Möglichkeit, Fähigkeiten und Kenntnisse zu sammeln, die für eine Laufbahn in den Bereichen Informatik, Design, Kunst und vielen anderen erforderlich sind. Viele der besten Entwickler unserer Plattform haben das Geld, das sie mit Roblox verdient haben, verwendet, um ihr Studium zu finanzieren, ein eigenes Studio für Spieleentwicklung zu gründen oder um eine Anzahlung für das Haus ihrer Eltern zu leisten.
Ich bin davon überzeugt, dass Roblox letzten Endes zur Entstehung des Metaverse führt, einer allumfassenden digitalen Realität, die durch unsere physische ergänzt wird. Wir sehen den Tag kommen, an dem die Menschen Roblox nicht nur aufsuchen, um zu spielen und Kontakte zu knüpfen, sondern auch, um geschäftliche Treffen abzuhalten oder die Schule zu besuchen. Die Möglichkeiten, die das Metaverse bietet, nehmen mit jedem Tag zu. Das gilt auch für den Bedarf an innovativen und kreativen Entwicklern, die für die Erlebnisse sorgen, von denen wir in der Science-Fiction seit Jahren träumen.
Ich lade dich herzlich dazu ein, an der Welt von Roblox teilzunehmen, nicht nur als Spieler, sondern auch als Entwickler. Zu lernen, Spiele und immersive 3-D-Erlebnisse zu entwerfen, trägt dazu bei, weltweit Millionen von Menschen durch die Spiele zu verbinden und eine Community aufzubauen, die nicht durch Grenzen, Sprachen oder Geografie definiert ist. Wenn du am Programmieren, an Game Design oder der immersiven 3-D-Welt von Roblox interessiert bist, solltest du dieses Buch lesen und deine verrücktesten und kreativsten Ideen verfolgen. Das Metaverse braucht Entwickler wie dich.
Deine Fantasie wartet schon!
David »Builderman« Baszucki
Gründer und Geschäftsführer
Roblox Corporation
Genevieve Johnson ist als Senior Instrucional Designer bei Roblox tätig, der weltweit größten sozialen Spiele-Plattform mit benutzergenerierten Inhalten. Sie betreut die Erstellung von Bildungsinhalten und berät Pädagogen rund um den Globus dabei, wie man Roblox in STEAM-basierten Lernprogrammen einsetzen kann. Ihre Arbeit ermöglicht es Schülern, Laufbahnen als Unternehmer, Ingenieur und Designer einzuschlagen. Bevor sie zu Roblox kam, war Johnson für bildungsrelevante Inhalte bei ID Tech verantwortlich, einem technischen Ausbildungsprogramm, das jährlich mehr als 50.000 Schülerinnen und Schüler zwischen 6 und 18 Jahren nutzen. Bei ID Tech war sie an der Einrichtung eines erfolgreichen STEAM-Programms nur für Mädchen beteiligt. Ihr Team hat Ausbildungsinhalte für mehr als 60 technologiebezogene Kurse für eine Vielfalt von Themen entwickelt, von der Programmierung über Robotik bis hin zum Game Design.
Ashan Sarwar ist ein Roblox-Entwickler, der seit 2013 Roblox Studio verwendet. Von ihm ist LastShot, ein Shooter, der auf Roblox verfügbar ist.
Raymond Zeng ist ein Roblox-Entwickler, der das Programmieren liebt und andere Programmierer auf jedem Niveau unterrichtet. Unter der Bezeichnung MacAndSwiss betreibt er einen YouTube-Kanal, auf dem er Lua unterrichtet, über Neuigkeiten zu Roblox berichtet und seine Programmierprojekte vorstellt.
Theo Docking ist seit vier Jahren als Spieleprogrammierer tätig. Er mag es, an spannenden Projekten zu arbeiten, die Roblox richtig ausreizen und dabei interessante Menschen zu treffen. Außerdem liebt er es, mit Roblox’ Physik-Engine zu experimentieren und Code für NFCs, Autos und mehr zu schreiben. Wenn er nicht programmiert, zeichnet er Pläne für neue Spiele oder spielt Ultimate Driving, um sich zu entspannen.
Joshua Wood hat Roblox 2013 entdeckt und ein Jahr später angefangen, seine eigenen Spiele zu erstellen. Er ist der Entwickler von Game Dev Life, das mehr als eine Million mal gespielt wurde. Zudem ist er Entwickler von DoubleJGames.
Swathi Sutrave ist ein selbsternanner Technik-Geek. Sie war als Expertin für verschiedene Programmiersprachen, unter anderem auch Lua, für Unternehmen, Start-ups und Universitäten tätig.
Henry Chang ist ein Computergrafikdesigner, der sich verschiedener Medien bedient, unter anderem zwei- und dreidimensionaler Grafiken und Animationen. Er ist Autodidakt und hat verschiedene Möglichkeiten interaktiver Medien ausgelotet. Weitere Information sind unter https://www.henrytcgweb.com zu finden.
Tanja Köhler hat Architektur studiert und war für verschiedene Architekturbüros im In- und Ausland tätig. Als 3D-Artistin vertiefte sie ihre 3D-Software-Kenntnisse in der Computerspiele-Branche bei Opus Studio Inc. (Tokio) und Bluebyte/Ubisoft. Unter anderem visualisierte sie die Gebäude für Die Siedler VI – Aufstieg eines Königreiches. Heute lebt und arbeitet sie als freie Architektin bei München und ist Lehrbeauftragte an der TU München. Dort unterrichtet sie Studierende der Architekturinformatik und Games Engineering. Zudem betreibt sie ein Studio für Programmierung und Computerspieledesign für Kinder und Jugendliche; weitere Informationen unter www.nextlevel-gauting.de.
Kapitel 1