OpenDream is een project in een vroeg stadium, geschreven in C#, met als doel spellen in de DM-taal te compileren en uit te voeren. Het project is compatibel met zowel Windows als Linux, maar is niet cross-compatibel met BYOND.
Gebruikers kunnen de software bedienen via een VSCode-extensie voor eenvoudige debugging of handmatig via de opdrachtregel door gebruik te maken van de Compiler, Server en Client. Voor het bouwen van de broncode is .NET 10 en de Robust Toolbox game-engine vereist. Bovendien maakt het project gebruik van geautomatiseerde testen en een RFC-proces voor de community om nieuwe functies te bespreken.
OpenDream
Dit project bevindt zich momenteel in een vroeg stadium. Houd rekening met bugs, ontbrekende functies en een gebrek aan gebruiksvriendelijke verbeteringen. Stem je verwachtingen hierop af.
Alle onderdelen van OpenDream zouden goed moeten werken op Windows en Linux, hoewel de variatie in Linux-distributies het iets minder waarschijnlijk maakt dat het direct "out of the box" werkt.
Voor meer informatie of als je wilt bijdragen, kun je lid worden van de Discord-server.
Verschillen met BYOND
Een gedetailleerde beschrijving van de verschillen met BYOND is hier te vinden. Let op dat OpenDream geen verbinding kan maken met BYOND-servers, en dat de client van BYOND geen verbinding kan maken met OpenDream-servers. Er is geen cross-project compatibiliteit, behalve de mogelijkheid om met minimale inspanning te migreren van BYOND naar OpenDream.
Uitvoeren
Zeer eenvoudige modus
- Installeer de OpenDream VSCode-extensie vanuit de marketplace.
- Open de map die je
.dme-bestand bevat in VSCode.
- Druk op de knop "Start debugging (F5)".
De extensie regelt automatisch het ophalen van de nieuwste OpenDream- en SS14 Launcher-binaries, compileert alles en voert het uit.
Als je OpenDream wilt ontwikkelen, moet je de OpenDream-repository clonen en die map aan je workspace toevoegen. De extensie detecteert dit automatisch en bouwt het project vanuit de broncode.
Uitvoeren via de opdrachtregel
Binaries zijn beschikbaar voor download onder de "Releases". Als je liever vanuit de broncode bouwt, zie dan de sectie "Bouwen".
Er zijn drie hoofdonderdelen: de Compiler, de Server en de Client.
- Compiler: Voer
DMCompiler.exe uit en geef een willekeurig aantal .dm- of .dme-bestanden als argumenten mee om deze te compileren. Optionele argumenten zijn hier te vinden.
- Server: Voer
Robust.Server.exe uit (of OpenDreamServer.exe als je vanuit de broncode hebt gebouwd) en geef het gecompileerde JSON-bestand dat is voortgekomen uit de compiler als argument op, als volgt: Robust.Server.exe C:/pad/naar/compiler/output.json.
- Client: Dit is alleen van toepassing als je vanuit de broncode hebt gebouwd; anders maak je verbinding via de SS14-launcher. Voer
OpenDreamClient.exe uit. Je wordt gevraagd om een serveradres, poort en gebruikersnaam te kiezen. De standaardwaarden zouden moeten werken voor een lokaal gehoste server.
Bouwen
De eerste stap bij het bouwen van OpenDream is het initialiseren van de submodule voor de game-engine, Robust Toolbox. Voer hiervoor git submodule update --init --recursive uit in Git Bash en wacht tot dit is voltooid.
OpenDream vereist .NET 10. Je kunt je versie controleren door dotnet --version uit te voeren; deze moet minimaal 10.0.0 zijn.
Om te bouwen kan een C#-compiler (zoals MSBuild) worden gebruikt om de verschillende projecten in de solution te compileren. Om het .NET build-systeem te gebruiken, voer je simpelweg dotnet build -c Release uit in de OpenDream-directory. Dit bouwt alle solutions in de release-modus en plaatst de resulterende binaries in de bin-map.
Als je VSCode gebruikt, kun je simpelweg CTRL + SHIFT + B indrukken en dotnet build selecteren.
Geautomatiseerde testen & Code Coverage
OpenDream maakt gebruik van een framework voor geautomatiseerd testen. Je kunt alle tests voor zowel OpenDream als de engine Robust Toolbox uitvoeren door dotnet test uit te voeren in de OpenDream-directory. Let op: de tests van Robust Toolbox kunnen vrij lang duren en zijn doorgaans niet relevant voor de ontwikkeling van OpenDream. Voor meer informatie over het uitvoeren en maken van unit tests, raadpleeg de specifieke wiki-pagina.
De huidige code coverage-data van OpenDream is hier te vinden. Meer informatie over code coverage is beschikbaar op de eerder genoemde wiki-pagina.
Verzoeken om commentaar (RFC)
Nieuwe functies die niet gerelateerd zijn aan pariteit met BYOND doorlopen een RFC-proces om input van de bredere gemeenschap te verzamelen. De RFC's en meer informatie over het RFC-proces zijn hier te vinden.
Screenshots
- /tg/station
- Versie van Paradise met een 64-bit rustg DLL
- Goonstation
OpenDream
Dit project bevindt zich momenteel in een vroeg stadium. Houd rekening met bugs, ontbrekende functies en een gebrek aan gebruiksvriendelijke verbeteringen. Stem je verwachtingen hierop af.
Alle onderdelen van OpenDream zouden goed moeten werken op Windows en Linux, hoewel de variatie in Linux-distributies het iets minder waarschijnlijk maakt dat het direct "out of the box" werkt.
Voor meer informatie of als je wilt bijdragen, kun je lid worden van de Discord-server.
Verschillen met BYOND
Een gedetailleerde beschrijving van de verschillen met BYOND is hier te vinden. Let op dat OpenDream geen verbinding kan maken met BYOND-servers, en dat de client van BYOND geen verbinding kan maken met OpenDream-servers. Er is geen cross-project compatibiliteit, behalve de mogelijkheid om met minimale inspanning te migreren van BYOND naar OpenDream.
Uitvoeren
Zeer eenvoudige modus
- Installeer de OpenDream VSCode-extensie vanuit de marketplace.
- Open de map die je
.dme-bestand bevat in VSCode.
- Druk op de knop "Start debugging (F5)".
De extensie regelt automatisch het ophalen van de nieuwste OpenDream- en SS14 Launcher-binaries, compileert alles en voert het uit.
Als je OpenDream wilt ontwikkelen, moet je de OpenDream-repository clonen en die map aan je workspace toevoegen. De extensie detecteert dit automatisch en bouwt het project vanuit de broncode.
Uitvoeren via de opdrachtregel
Binaries zijn beschikbaar voor download onder de "Releases". Als je liever vanuit de broncode bouwt, zie dan de sectie "Bouwen".
Er zijn drie hoofdonderdelen: de Compiler, de Server en de Client.
- Compiler: Voer
DMCompiler.exe uit en geef een willekeurig aantal .dm- of .dme-bestanden als argumenten mee om deze te compileren. Optionele argumenten zijn hier te vinden.
- Server: Voer
Robust.Server.exe uit (of OpenDreamServer.exe als je vanuit de broncode hebt gebouwd) en geef het gecompileerde JSON-bestand dat is voortgekomen uit de compiler als argument op, als volgt: Robust.Server.exe C:/pad/naar/compiler/output.json.
- Client: Dit is alleen van toepassing als je vanuit de broncode hebt gebouwd; anders maak je verbinding via de SS14-launcher. Voer
OpenDreamClient.exe uit. Je wordt gevraagd om een serveradres, poort en gebruikersnaam te kiezen. De standaardwaarden zouden moeten werken voor een lokaal gehoste server.
Bouwen
De eerste stap bij het bouwen van OpenDream is het initialiseren van de submodule voor de game-engine, Robust Toolbox. Voer hiervoor git submodule update --init --recursive uit in Git Bash en wacht tot dit is voltooid.
OpenDream vereist .NET 10. Je kunt je versie controleren door dotnet --version uit te voeren; deze moet minimaal 10.0.0 zijn.
Om te bouwen kan een C#-compiler (zoals MSBuild) worden gebruikt om de verschillende projecten in de solution te compileren. Om het .NET build-systeem te gebruiken, voer je simpelweg dotnet build -c Release uit in de OpenDream-directory. Dit bouwt alle solutions in de release-modus en plaatst de resulterende binaries in de bin-map.
Als je VSCode gebruikt, kun je simpelweg CTRL + SHIFT + B indrukken en dotnet build selecteren.
Geautomatiseerde testen & Code Coverage
OpenDream maakt gebruik van een framework voor geautomatiseerd testen. Je kunt alle tests voor zowel OpenDream als de engine Robust Toolbox uitvoeren door dotnet test uit te voeren in de OpenDream-directory. Let op: de tests van Robust Toolbox kunnen vrij lang duren en zijn doorgaans niet relevant voor de ontwikkeling van OpenDream. Voor meer informatie over het uitvoeren en maken van unit tests, raadpleeg de specifieke wiki-pagina.
De huidige code coverage-data van OpenDream is hier te vinden. Meer informatie over code coverage is beschikbaar op de eerder genoemde wiki-pagina.
Verzoeken om commentaar (RFC)
Nieuwe functies die niet gerelateerd zijn aan pariteit met BYOND doorlopen een RFC-proces om input van de bredere gemeenschap te verzamelen. De RFC's en meer informatie over het RFC-proces zijn hier te vinden.
Screenshots
- /tg/station
- Versie van Paradise met een 64-bit rustg DLL
- Goonstation