Open source-spilmotor klar til konkurrence med kæmperne

Unity- og Unreal-spilmotorerne er drivkræfterne bag elskede spil som Hearthstone og PlayerUnknown’s Battlegrounds og bruges af millioner af spiludviklere verden over. Det er til gengæld ikke alle, der kender open source-pendanten til de kommercielle spilmotorer, og det gør folkene bag motoren, kaldet Godot, nu op med.

Godot 3.0 er netop udgivet i en kæmpe opdatering med bl.a. en ny fysikbaseret rendering pipeline til 3D-, VR- og AR-understøttelse samt mulighed for at kode C# via en Mono-implementering. Målet er at gøre Godot mere sexet for udviklere af 3D-spil og at få dem ind i open source-folden.

»Godots hovedvision er at være en brugervenlig og kraftfuld open source-spilmotor med dedikerede pipelines til både 2D- og 3D-projekter,« skriver Rémi Verschelde, der er projektleder på Godot-projektet, i en mail til Version2.

Licens-problemer forhindrede C# implementering

Godot blev udgivet på GitHub for første gang i 2014 og er hovedsageligt blevet brugt til små 2D-spilproduktioner. Motoren er skrevet i C og C++ og udviklere interagerer med motoren via C++ eller Godots egen scripting-sprog kaldet GDScript.

Med den nye opdatering kan spiludviklere også kode C# i spilmotoren, et meget udpræget sprog i spiludvikling bl.a. fordi danske Unity også scriptes gennem det, og fordi brugerne ikke var tilfredse med mulighederne i GDScript.

Ifølge Verschelde nægtede de hos Godot at implementere C# fra starten, fordi .NET kernen i 2014 var for eksperimentiel, og fordi det ville kræve et skift fra deres nuværende MIT open source-licens til GPL, da Mono var udgivet under sidstnævnte. Flere af udviklerne var bekymrede for, at det ville resultere i såkaldte ‘copyleft’-problemer, hvor alle spil udviklet i motoren også skulle udgives som open source.

Da udvikleren af Mono-frameworket blev opkøbt af Microsoft, blev licensen ændret til MIT, hvilket både gav Godot mulighed for at implementere sproget og oven i købet få 145.500 kroner i stipendium fra Microsoft til implementeringen.

Artiklen fortsætter efter videoen.

Dette indhold kan kun vises hvis funktionelle cookies er accepteret.

Klik for at opdatere samtykke

Crowdfunding skubbede gang i projektet

Godot har ikke haft en opdatering i halvandet år, men siden de i 2017 startede en crowdfunding-kampagne gennem Patreon, er antallet af bidrag til master-træet på Github minus merge-commits steget støt.

Antal commits til Godots master-branch. Grå markering indikerer periode med crowdfunding-kampagne. Illustration: Godot blogindlæg

Det skyldes blandt andet, at de ca. 40.000 kroner, som projektet modtager i støtte om måneden via Patreon, er gået til at ansætte en af de oprindelige ophavsmænd, Juan ‘reduz’ Linietsky, på fuldtid til at tage sig af spørgsmål fra projektets omtrent 500 bidragsydere.

Det har ledt til en stigning af både antallet af kernebidragsydere og commits.

Det har også gjort det muligt at betale en anden af de faste bidragere, Thomas Herzog, for at færdiggøre et framework til at håndtere eksterne biblioteker og arbejde på den nye rendering backend, der muliggør 3D.

For at sikre gennemsigtighed i crowdfunding-kampagnen håndteres alle finanser af nonprofitorganisationen Software Freedom Conservancy.

Mere end bare open source Unity

Version2 har tidligere beskrevet, hvordan adgangen til spiludvikling er blevet nemmere med gratis adgang til populære spilmotorer som Unreal og Unity. Godot håber med deres nye 3D pipeline og dokumentation rettet mod nye spiludviklere at kunne tilbyde en lige så kraftfuld og intuitiv motor som de kommercielle, men under open source-banneret.

Unity giver slet ikke adgang til sin kildekode, så brugeren er fanget med motorens features og bugs, og Unreal tillader kun brug af kildekoden, hvis man underskriver en tung slutbruger-licens og betaler royalties for spil udviklet på baggrund af den modificerede kildekode.

»Det (adgang til kildekoden, red.) er et must-have for spiludvikleren, som vil implementere sine egne applikationer som fysikmotorer, back-end spil-logik, input processering etc.« siger Rémi Verschelde.

Et af Godots største problemer kommer dog også af, at de netop er open source. Det forhindrer kompilering af spil til konsoller som Playstation, Xbox og Switch. Kompileringskode gives nemlig kun til firmaer, der ikke deler den videre, og det er derfor ikke muligt at inkludere koden i et open source-program uden at hemmeligholde kompilationskoden.

Man skal derfor være klar på selv at lave en aftale med Sony, Microsoft eller Nintendo om udgivelse på deres konsoller eller betale en tredjepartsudvikler for at portere spillet til systemerne.

Har man lyst til at lære at udvikle spil i Godot, findes begynder-dokumentationen, der lader en bygge et helt spil, uden at man har kendskab til spiludvikling, her. Har man lyst til at bidrage til udviklingen af motoren, kan man starte her.

»Vi byder udviklere inden for alle felter velkomne. (…) Den mest mangelfulde ressource i projektet p.t. er rendering-eksperter og platform-specifikke udviklere, men der er altid rigeligt, der skal laves på tværs af projektet,« siger Verschelde.