ebSkola

6.5 Eksports un publicēšana

Stundas uzdevums: Eksportēt Godot C# spēli desktop platformai un publicēt lejupielādējamu versiju internetā.

SR 2.4.6. Plāno izstrādes procesu SR 3.1.4. IP tiesības SR 2.3.1. Datorikas nozares attīstība padziļinātos projektos SR 2.3.2. Datorikas virzieni un profesijas SR 2.4.9. Versiju pārvaldība

80 min plāns: Teorija un paraugs (~10 min) · 1. uzdevums (~20 min) - eksportē spēli uz datoru · 2. uzdevums (~25 min) - pārbaudi build ārpus editora · 3. uzdevums (~20 min) - publicē lejupielādējamu versiju internetā · Iesniegšana (~5 min).

Pirms sāc: atver savu spēli. Šodien no projekta taisīsi failu, ko var iedot citam cilvēkam. Pirms sāc, lejupielādē export templates: Editor -> Manage Export Templates.

Teorija: Export presets

Godot atbalsta eksportu uz vairākām platformām. C# projektam Godot 4 izvēlies desktop eksportu: Windows, Linux vai macOS. Web eksportu Godot 4 C# projektiem šobrīd nelieto; ja mērķis ir pārlūks, projektu plāno bez C# vai ar citu Godot versiju.

# Desktop eksporta soļi C# projektam
# 1. Project → Export → Add → Windows Desktop / Linux / macOS
# 2. Lejupielādē export templates: Editor → Manage Export Templates
# 3. Pārliecinies, ka C# projekts būvējas
dotnet build

# 4. Export Project → build/MyGame.exe vai build/MyGame.x86_64
# 5. Aizver Godot un palaid eksportēto failu no build/ mapes

Publicēšana: ieliec eksportēto spēli ZIP arhīvā un publicē to kā lejupielādējamu projektu, piemēram itch.io lapā.

Kā šo izmantot projektā

Atceries: ar redzamu efektu editorā nepietiek. Paskaidro, kura C# klase glabā stāvokli, kura metode to maina un kā Godot node struktūra izmanto šo kodu.

Pārbaudi: UI signāli, audio darbības, debug izvade un publicēšanas sagatave ir sasaistīta ar C# spēles stāvokli.

public class PolishCheckpoint
{
    public string Lesson = "6.5 Eksports un publicēšana";
    public bool UsesCSharp = true;
    public bool ConnectsUiSignals = true;
    public bool RoutesAudioEvents = true;
    public bool VerifiesExportBuild = true;
}

Praktiskie uzdevumi

1. uzdevums -

Eksportē spēli uz datoru

Beigās tev būs fails, ko var palaist bez Godot.

  1. Atver Project -> Export.
  2. Nospied Add un izvēlies savu platformu (Windows, Linux vai macOS).
  3. Pārbaudi, vai zem loga nav sarkana brīdinājuma par trūkstošiem templates.
  4. Nospied Export Project un saglabā mapē build/.
  5. Aizver Godot pilnībā.
  6. Palaid eksportēto failu un izspēlē vienu līmeni.
  7. Pievieno .gitignore failam rindu build/.

Gatavs, kad: eksportētā spēle palaižas bez Godot editora, un mape build/ nenonāk GitHub.

2. uzdevums -

Pārbaudi build ārpus editora

Beigās tu zināsi, ka spēle darbojas arī bez Godot editora.

  1. Aizver Godot pilnībā, lai nepārbaudītu spēli editorā.
  2. Palaid eksportēto failu no build/ mapes.
  3. Izspēlē vismaz vienu līmeni un pārbaudi UI, audio un saglabāšanu.
  4. Pārbaudi, ka blakus eksportam atrodas nepieciešamie dati, piemēram .pck vai platformai vajadzīgās bibliotēkas.
  5. Saspied visu build mapes saturu ZIP arhīvā.
  6. Izpako ZIP citā mapē un palaid spēli vēlreiz.
  7. Pieraksti, kāpēc jāpārbauda tieši izpakots arhīvs, ne tikai Godot projekts.

Gatavs, kad: izpakotais arhīvs palaiž spēli ārpus Godot editora, un spēles pamatfunkcijas joprojām darbojas.

3. uzdevums -

Publicē lejupielādējamu spēli internetā

Beigās cits cilvēks varēs lejupielādēt un palaist tavu spēli.

  1. Izveido kontu vietnē itch.io.
  2. Nospied Upload new project un izvēlies Downloadable tipu.
  3. Augšupielādē ZIP arhīvu ar eksportēto desktop build.
  4. Norādi, kurai platformai tas paredzēts: Windows, Linux vai macOS.
  5. Pievieno īsu aprakstu, vadību un divus ekrānuzņēmumus.
  6. Saglabā un atver publisko saiti citā datorā vai pārlūkā.
  7. Pieraksti, vai lejupielāde un palaišana strādāja tāpat kā tavā datorā.

Gatavs, kad: spēli var lejupielādēt no publiskās saites, izpakot un palaist bez Godot editora.

Papildu uzdevums - Uzraksti spēles aprakstu

Ja pamatdarbs ir gatavs, noformē spēles lapu.

  1. Uzraksti divus teikumus par to, kas spēlē jādara.
  2. Pievieno vadības aprakstu: kuri taustiņi ko dara.
  3. Augšupielādē divus ekrānuzņēmumus.
  4. Pievieno savu vārdu kā autoru un norādi uz izmantotajiem resursiem.
  5. Palūdz klasesbiedram izspēlēt spēli, neko nepaskaidrojot.

Gatavs, kad: klasesbiedrs saprata, kā spēlēt, tikai izlasot tavu lapu.

Ko sagatavo

Stundas mērķis: Tava Godot C# spēle ir eksportēta kā desktop programma, pārbaudīta ārpus editora un publicēta internetā kā lejupielādējams ZIP arhīvs.

GitHub krātuvē jābūt:

  1. README.md ievietota publiskā saite uz tavu spēli itch.io vietnē.
  2. Ekrānuzņēmums ar eksportēto spēli, kas darbojas ārpus Godot editora.
  3. Ekrānuzņēmums ar Godot eksporta logu, kurā redzams desktop profils.
  4. README.md: kāpēc Godot 4 C# projektam šajā kursā publicējam lejupielādējamu desktop build, nevis Web build.

Kā iesniedz: Veic commit un push. Skolotāja norādītajā vietā ievieto tikai GitHub krātuves saiti; visiem prasītajiem failiem, README.md pierakstiem un pierādījumiem jābūt pašā krātuvē.

Biežākās kļūdas

  • C# assembly nav build: Pirms eksportēšanas nospied Godot Build vai palaid dotnet build.
  • EXE not running: Pārliecinies, ka ZIP arhīvā ir visi eksportētie faili, ne tikai .exe.
  • Large export size: Optimize textures (PNG → WebP), audio (compress).

Godot ekrānuzņēmumi

Godot Export dialog ar Windows Desktop profilu, export templates statusu un Export Project pogu.
Godot Export dialog ar Windows Desktop profilu, export templates statusu un Export Project pogu.
itch.io projekta lapa ar lejupielādējamu ZIP failu un publisku spēles aprakstu.
itch.io projekta lapa ar lejupielādējamu ZIP failu un publisku spēles aprakstu.
Eksportētā puzzle spēle darbojas atsevišķā logā ārpus Godot editora.
Eksportētā puzzle spēle darbojas atsevišķā logā ārpus Godot editora.

Koda piemērs (paplašināts)

using Godot;

public struct ExportChecklist
{
    public bool HasExportTemplate;
    public bool HasDotnetBuild;
    public bool HasDesktopExecutable;
    public bool TestedOutsideEditor;
    public bool WebLimitationDocumented;

    public bool IsReadyToPublish()
    {
        return HasExportTemplate
            && HasDotnetBuild
            && HasDesktopExecutable
            && TestedOutsideEditor
            && WebLimitationDocumented;
    }
}

public partial class ExportReporter : Node
{
    public void PrintStatus(ExportChecklist checklist)
    {
        GD.Print("Platform: ", OS.GetName());
        GD.Print("Ready to publish: ", checklist.IsReadyToPublish());
    }
}
Publicēšanas pārbaude paliek C# pusē: pirms augšupielādes ir pārbaudītas veidnes, .NET build, desktop fails un palaišana ārpus editora.