update introduction

This commit is contained in:
Kristofers Solo 2024-11-11 17:19:41 +02:00
parent 385d33423e
commit a932fe50d5
3 changed files with 64 additions and 51 deletions

View File

@ -39,3 +39,8 @@ lvs_72:
date: 1996-03-27 date: 1996-03-27
organization: Latvijas Nacionālais standartizācijas un metroloģijas centrs organization: Latvijas Nacionālais standartizācijas un metroloģijas centrs
page-total: 13 page-total: 13
pipeline:
type: Web
title: "CI/CD: The what, why, and how"
author:
url: https://github.com/resources/articles/devops/ci-cd

View File

@ -60,7 +60,7 @@
it it
} }
"" ""
v(-indent) v(-1cm)
} }
/* Title page config start */ /* Title page config start */

108
main.typ
View File

@ -17,8 +17,11 @@
#set heading(numbering: none) #set heading(numbering: none)
= Apzīmējumu saraksts = Apzīmējumu saraksts
/ CI/CD: nepārtraukta integrācija un nepārtraukta izvietošana;
/ DPD: datu plūsmas diagramma; / DPD: datu plūsmas diagramma;
/ ECS: entitāšu komponentu sistēma (angl. Entity-Component-System); / ECS: entitāšu komponentu sistēma (angl. Entity-Component-System#footnote[https://en.wikipedia.org/wiki/Entity_component_system]);
/ GitHub#footnote[https://en.wikipedia.org/wiki/GitHub]: izstrādātāju platforma, kas ļauj izstrādātājiem izveidot, glabāt, pārvaldīt un kopīgot savu kodu;
/ GitHub Release #footnote[https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases]<gh-release>: izvēršamas programmatūras iterācijas, ko varat iepakot un padarīt pieejamas plašākai auditorijai, lai lejupielādētu un izmantotu;
/ PPA: programmatūras projektējuma apraksts; / PPA: programmatūras projektējuma apraksts;
/ PPS: programmatūras prasību specifikācija; / PPS: programmatūras prasību specifikācija;
/ Papildspēja: objekts, kas kā spēles mehānika spēlētājam piešķir īslaicīgas priekšrocības vai papildu spējas (angl. power-up#footnote[https://en.wikipedia.org/wiki/Power-up]<power-up>); / Papildspēja: objekts, kas kā spēles mehānika spēlētājam piešķir īslaicīgas priekšrocības vai papildu spējas (angl. power-up#footnote[https://en.wikipedia.org/wiki/Power-up]<power-up>);
@ -36,34 +39,37 @@
== Nolūks == Nolūks
Šī dokumenta mērķis ir raksturot sešstūru labirinta spēles "Maze Ascension" Šī dokumenta mērķis ir raksturot sešstūru labirinta spēles "Maze Ascension"
programmatūras prasības un izpētīt Bevy spēļu dzinēja iespējas. programmatūras prasības un izpētīt Bevy spēļu dzinēja iespējas.
#lorem(100)
== Darbības sfēra == Darbības sfēra
#todo("add first sentence") #todo("add first sentence")
Galvenā uzmanība tiek pievērsta tādas galvenās spēles mehānikas izstrādei kā labirinta Darba galvenā uzmanība ir vērsta uz būtisku spēles mehāniku ieviešanu, tostarp
ģenerēšana, navigācija, papildspēju (power-up) integrācija un vertikālā procedurālu labirintu ģenerēšanu, spēlētāju navigācijas sistēmu, papildspēju
virzība, vienlaikus saglabājot minimālisma estētiku. integrāciju un vertikālās progresijas mehāniku, vienlaikus ievērojot minimālisma
dizaina filozofiju.
Spēles dizaina centrā ir sešstūra formas plāksnes, kas, savukārt, veido sešstūra Spēles pamatā ir sešstūra formas plāksnes, kas, savukārt, veido sešstūra
formas labirintus, kuri rada atšķirīgu vizuālo un navigācijas izaicinājumu. formas labirintus, kuri rada atšķirīgu vizuālo un navigācijas izaicinājumu.
Spēlētāju uzdevums ir pārvietoties pa šiem labirintiem, lai sasniegtu katra Spēlētāju uzdevums ir pārvietoties pa šiem labirintiem, lai sasniegtu katra
līmeņa beigas. Spēlētājiem progresējot, tie sastopas ar arvien sarežģītākiem līmeņa beigas. Spēlētājiem progresējot, tie sastopas ar arvien sarežģītākiem
labirintiem, kuros nepieciešama stratēģiska domāšana un izpēte. Papildspēju labirintiem, kuros nepieciešama stratēģiska domāšana, izpēte un papildspēju
integrācija piešķir spēlei dziļumu, mudinot spēlētājus izpētīt un eksperimentēt izmantošana.
ar dažādām spēju kombinācijām.
No tehniskā viedokļa šajā darbā tiks aplūkota spēles īstenošana, izmantojot Spēlētājam progresējot, tie sastopas ar dažādiem uzlabojumiem un
Bevy entitāšu komponentu sistēmas (ECS) arhitektūru. Tas ietver spēles vides papildspējām, kas stratēģiski izvietoti labirintos. Šī funkcija padziļina spēlēšanas
izveidi, spēles stāvokļu pārvaldību un Bevy funkciju izmantošanu, lai radītu pieredzi, veicinot izpēti un eksperimentēšanu ar dažādām spēju kombinācijām,
netraucētu un efektīvu spēles pieredzi. radot dinamiskākus un aizraujošākus spēles scenārijus.
/* Projekta ietvaros tiks izstrādāts arī lietotāja interfeisa dizains,
* nodrošinot, ka tas ir intuitīvs un pieejams, ar skaidru vizuālu atgriezenisko
* saiti par spēlētāja progresu un savāktajiem papildspēkiem. */
/* Turklāt, lai gan spēlei būs minimālistiska vizuālā izstrāde, darbā netiks No tehniskā viedokļa darbā tiek pētīta šo funkciju īstenošana, izmantojot
* aplūkotas progresīvas grafikas atveidošanas metodes vai augstas precizitātes Bevy entitāšu komponentu sistēmas (ECS) arhitektūru. Tas ietver stabilu spēles vides
* vizuālie efekti, saglabājot koncentrēšanos uz dizaina vienkāršību un sistēmu izstrādi, stāvokļa pārvaldības mehānismus un efektīvu Bevy iebūvēto
* skaidrību. */ funkcionalitāšu izmantošanu.
No darbības sfēras apzināti izslēgta daudzspēlētāju funkcionalitāte un sarežģīti
grafiskie efekti, koncentrējoties uz pulētu viena spēlētāja pieredzi ar skaidru,
minimālistisku vizuālo noformējumu. Šāda mērķtiecīga pieeja ļauj padziļināti
izpētīt spēles pamatmehāniku, vienlaikus nodrošinot projekta vadāmību un
tehnisko iespējamību.
== Saistība ar citiem dokumentiem == Saistība ar citiem dokumentiem
PPS ir izstrādāta, ievērojot LVS 68:1996 "Programmatūras prasību specifikācijas PPS ir izstrādāta, ievērojot LVS 68:1996 "Programmatūras prasību specifikācijas
@ -89,12 +95,12 @@ Trešajā nodaļā tiek aprakstīta ...
#set heading(numbering: "1.1.") #set heading(numbering: "1.1.")
= Vispārējais apraksts = Vispārējais apraksts
== Esošā stāvokļa apraksts == Esošā stāvokļa apraksts
Pašreizējo spēļu izstrādes ainavu raksturo pieaugoša interese par neatkarīgajām Pašreizējo spēļu izstrādes ainavu raksturo pieaugoša interese pēc neatkarīgajām
spēlēm un modernu, efektīvu spēļu dzinēju izmantošana. Izstrādātāji arvien spēlēm un modernu, efektīvu spēļu dzinēju izmantošana. Izstrādātāji arvien
biežāk meklē rīkus, kas piedāvā elastību, veiktspēju un lietošanas ērtumu. Spēļu biežāk meklē rīkus, kas piedāvā elastību, veiktspēju un lietošanas ērtumu. Spēļu
dzinējs Bevy ar savu moderno arhitektūru un Rust programmēšanas valodas dzinējs Bevy ar savu moderno arhitektūru un Rust programmēšanas valodas
izmantošanu gūst arvien lielāku popularitāti izstrādātāju vidū, pateicoties tā izmantošanu gūst arvien lielāku popularitāti izstrādātāju vidū, pateicoties tā
drošības un laiksakritība funkcijām. drošām un vienlaicīgām funkcijām.
== Pasūtītājs == Pasūtītājs
Sistēma nav izstrādāta pēc konkrēta pasūtītāja pieprasījuma, tā ir raksturota un Sistēma nav izstrādāta pēc konkrēta pasūtītāja pieprasījuma, tā ir raksturota un
@ -103,15 +109,15 @@ ietvaros.
== Produkta perspektīva == Produkta perspektīva
"Maze Ascension" ir izstrādāta kā daudzplatformu spēle, izmantojot nepārtrauktas "Maze Ascension" ir izstrādāta kā daudzplatformu spēle, izmantojot nepārtrauktas
integrācijas un nepārtrauktas izvietošanas (CI/CD) _pipeline_ integrācijas un nepārtrauktas izvietošanas (CI/CD) cauruļvadu@pipeline, lai
#todo("check CI/CD pipeline translation"), lai racionalizētu vienkāršotu izstrādes un izplatīšanas procesu.
izstrādes un izplatīšanas procesu. Šis _pipeline_ ir konfigurēts tā, lai kompilētu Šis cauruļvads ir konfigurēts tā, lai kompilētu spēli vairākām platformām,
spēli vairākām platformām, tostarp Linux, macOS, Windows un WebAssembly (Wasm). tostarp Linux, macOS, Windows un WebAssembly (Wasm).
Tas nodrošina, ka spēle ir pieejama plašai auditorijai, nodrošinot konsekventu Tas nodrošina, ka spēle ir pieejama plašai auditorijai, nodrošinot konsekventu
un saistošu pieredzi dažādās operētājsistēmās un vidēs. un saistošu pieredzi dažādās operētājsistēmās un vidēs.
Spēle tiek izplatīta, izmantojot #todo("GitHub releases") un #link("http://itch.io/")[itch.io], kas ir populāra neatkarīgo spēļu Spēle tiek izplatīta, izmantojot GitHub releases un #link("http://itch.io/")[itch.io], kas ir populāra neatkarīgo spēļu
platforma, kas ļauj viegli piekļūt un izplatīt spēli visā pasaulē. platforma, kas ļauj viegli piekļūt un izplatīt spēles visā pasaulē.
Izmantojot šīs platformas, datorspēle gūst dažādu maksājumu modeļu un kopienas Izmantojot šīs platformas, datorspēle gūst dažādu maksājumu modeļu un kopienas
iesasaistes funkcijas, tādējādi palielinot spēles sasniedzamību un atpazīstamību. iesasaistes funkcijas, tādējādi palielinot spēles sasniedzamību un atpazīstamību.
@ -131,7 +137,7 @@ Sistēmas izstrādē galvenā uzmanība tiks pievērsta sekojošu darījumprasī
// + Paziņošanas sistēma: Spēlētāji saņems paziņojumus par svarīgiem spēles atjauninājumiem, sasniegumiem un citu svarīgu informāciju, lai saglabātu viņu iesaisti un informētību. // + Paziņošanas sistēma: Spēlētāji saņems paziņojumus par svarīgiem spēles atjauninājumiem, sasniegumiem un citu svarīgu informāciju, lai saglabātu viņu iesaisti un informētību.
+ Savietojamība ar vairākām platformām: sistēma būs pieejama vairākās platformās, tostarp Linux, macOS, Windows un WebAssembly, nodrošinot plašu pieejamību un sasniedzamību. + Savietojamība ar vairākām platformām: sistēma būs pieejama vairākās platformās, tostarp Linux, macOS, Windows un WebAssembly, nodrošinot plašu pieejamību un sasniedzamību.
+ Kopienas iesaiste: Spēle izmantos #link("http://itch.io/")[itch.io] kopienas funkcijas, lai sadarbotos ar spēlētājiem, apkopotu atsauksmes un veicinātu atbalstošu spēlētāju kopienu. + Kopienas iesaiste: Spēle izmantos #link("http://itch.io/")[itch.io] kopienas funkcijas, lai sadarbotos ar spēlētājiem, apkopotu atsauksmes un veicinātu atbalstošu spēlētāju kopienu.
+ Regulāri atjauninājumi un uzturēšana: CI/CD _pipeline_ veicinās regulārus atjauninājumus un uzturēšanu, nodrošinot, ka spēle ir atjaunināta ar jaunākajām funkcijām un uzlabojumiem. + Regulāri atjauninājumi un uzturēšana: CI/CD cauruļvadu veicinās regulārus atjauninājumus un uzturēšanu, nodrošinot, ka spēle ir atjaunināta ar jaunākajām funkcijām un uzlabojumiem.
== Sistēmas lietotāji == Sistēmas lietotāji
Sistēma ir izstrādāta, ņemot vērā vienu lietotāja tipu -- spēlētājs. Spēlētāji Sistēma ir izstrādāta, ņemot vērā vienu lietotāja tipu -- spēlētājs. Spēlētāji
@ -160,27 +166,29 @@ Ar lietotājiem saistītās datu plūsmas ir attēlotas sistēmas nultā līmeņ
// + CI/CD _pipeline_. // + CI/CD _pipeline_.
== Pieņēmumi un atkarības == Pieņēmumi un atkarības
- Tehniskie pieņēmumi:
// Constraints - Spēlētāja ierīcei jāatbilst minimālajām aparatūras prasībām, lai varētu palaist uz Bevy spēles dzinēja balstītas spēles.
- ierīcei jāatbalsta OpenGL 3.3 vai WebGL 2.0, lai nodrošinātu pareizu atveidošanu.
/* Šis darbs koncentrējas uz viena spēlētāja spēlēšanu, uzsverot - tīmekļa spēļu spēlēšanai (WebAssembly versija) pārlūkprogrammai jābūt mūsdienīgai un saderīgai ar WebAssembly.
individuālās prasmes un stratēģiju. Daudzspēlētāju funkcionalitāte nav iekļauta - ekrāna izšķirtspējai jābūt vismaz 800x600 pikseļu, lai spēle būtu optimāla.
darbības jomā, kas ļauj koncentrēti izpētīt spēles pamatmehāniku. */ - Veiktspējas atkarība:
- Spēle ir atkarīga no Bevy spēles dzinēja (0.14 vai jaunāka versija).
/* Attiecībā uz attīstības ierobežojumiem projektu ierobežo pieejamie resursi, - Veiksmīga kompilēšana un izvietošana ir atkarīga no CI/CD cauruļvadam saderības ar:
tostarp laiks un tehniskās zināšanas. Tas liek koncentrēties uz būtiskām - Linux kompilācijām;
funkcijām un mehāniku, nevis uz plašu saturu vai sarežģītām sistēmām. Tiks ņemti - MacOS kompilācijām;
vērā arī Bevy dzinēja ierobežojumi, jo īpaši tādās jomās kā lietotāja interfeisa - Windows kompilācijām;
izstrāde un aktīvu pārvaldība, kas noteiks dizaina lēmumus un izstrādes procesu. */ - WebAssembly kompilāciju.
- Izplatīšanas atkarības:
/* Visbeidzot, šajā darbā tiek pieņemts, ka spēlētājiem ir pieejamas ierīces, kas - Pastāvīga #link("http://itch.io/")[itch.io] platformas pieejamība spēļu izplatīšanai.
spēj atbalstīt uz Bevy balstītas spēles, un viņiem ir pamatzināšanas par - CI/CD cauruļvadam nepieciešamo kompilēšanas rīku un atkarību uzturēšana.
labirinta navigāciju un mīklu risināšanu. Projekts ir atkarīgs no Bevy spēles - Izstrādes atkarības:
dzinēja nepārtrauktas attīstības un atbalsta, un jebkuras izmaiņas vai - Rust programmēšanas valoda (stabilā versija);
atjauninājumi var ietekmēt spēles attīstību un funkcionalitāti. Skaidri - Cargo pakešu pārvaldnieks;
definējot šīs robežas, darbības joma nodrošina, ka darbs paliek koncentrēts un - Nepieciešamie Bevy spraudņi un atkarības, kā norādīts projekta Cargo.toml failā.
pārvaldāms, nodrošinot strukturētu ceļu projekta mērķu sasniegšanai. */ - Lietotāja vides pieņēmumi:
- Spēlētājiem ir pamata izpratne par labirinta navigāciju un mīklu risināšanas koncepcijām.
- Lietotāji var piekļūt un lejupielādēt spēles no #link("http://itch.io/")[itch.io] platformas.
- Spēlētājiem ir ievadierīces (tastatūra/pele), ar kurām kontrolēt spēli.
= Programmatūras prasību specifikācija = Programmatūras prasību specifikācija
== Funkcionālās prasības == Funkcionālās prasības