Entwickler
Jemand, der ein Werkzeug, einen Mod oder einen Dienst auf dem offenen SDK aufbaut oder das Spiel selbst erweitert
Das SDK ist unter MIT offen, und die letzte Instanz ist sein Quellcode
Fang mit SDK an, dann - Installation
Jemand, der ein Werkzeug, einen Mod oder einen Dienst auf dem offenen SDK aufbaut oder das Spiel selbst erweitert
Das SDK ist unter MIT offen, und die letzte Instanz ist sein Quellcode
Fang mit SDK an, dann - Installation
Startargumente öffnen sofort einen Bildschirm, ein Level oder einen Durchlauf, Schalter ändern einen einzelnen Start. Sie folgen auf die ausführbare Datei: in Verknüpfung, Terminal oder Steam
Das SDK ist das Levelformat von Bullet Hero als offene C#-Bibliothek. Das Spiel liest und schreibt Levels darüber, und dein Programm kann das genauso
Das SDK ist das Paket BulletHero.SDK auf nuget.org oder ein Build aus dem Quellcode. Unity bindet es als Git-Submodul ein, und das Beispiel ConsoleSmoke prüft, ob deine Levels lesbar sind
Ein Level ist ein Ordner: Inhalt in level.json oder level.blob, Metadaten in metadata.json oder metadata.blob, ein Cover und Mediendateien. Sicherungen, Rekorde und Einstellungen bleiben auf dem Gerät
Eine .blob-Datei enthält dieselben Daten wie .json in binärer Form: einen 24-Byte-Header, gefolgt von den Daten. Sie ist ein gleichwertiges Levelformat, kein Cache
Ein Level wird als Ordner, tar.gz oder zip exportiert, auf Wunsch mit Passwort: zip mit AES-256 oder OpenPGP. Das SDK erkennt das Format einer empfangenen Datei an ihren ersten Bytes, nicht am Namen
Es gibt drei Versionen: gv für das Spiel, sv für das SDK, mg für die Generation des Modellformats. Anhand von mg migriert das SDK eine alte Datei und lehnt eine mit neuerer Generation als der Build ab
Die Validierung rufst du selbst über ValidationFacade auf, sie steckt nicht im Speichern und Laden. Befunde teilen sich in Error, Warning und Advice, und ValidateAndFix repariert, was möglich ist
Welche Levels ein Dienst annimmt, steht in einer PublishProfile-Datei: Lizenzen, Quellen der Ressourcen, Pflichtfelder, Größengrenzen. Ein neuer Dienst ist eine Datei, keine Änderung am Analyzer
Ein Generator ist eine Klasse auf einer Basisklasse des SDK: BaseLevelGenerator, BaseContentGenerator oder BaseModifier. Formular, Schätzung und Rückgängig baut der Host selbst aus dem Vertrag
Probleme mit dem SDK meldest du in den Issues des Repositorys bullet-hero/sdk, Codeänderungen schickst du dorthin als Pull Requests. Die Regeln für Mitwirkende liegen dort neben dem Code