mirror of
https://github.com/kristoferssolo/Qualification-Thesis.git
synced 2025-10-21 20:10:37 +00:00
Add bibliography
This commit is contained in:
parent
d21deb8109
commit
385d33423e
1
assets/images/dpd/dpd0.jpg
Symbolic link
1
assets/images/dpd/dpd0.jpg
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../placeholder.jpg
|
||||||
1
assets/images/dpd/dpd1.jpg
Symbolic link
1
assets/images/dpd/dpd1.jpg
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../placeholder.jpg
|
||||||
BIN
assets/images/placeholder.jpg
Normal file
BIN
assets/images/placeholder.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
41
bibliography.yml
Normal file
41
bibliography.yml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
typst:
|
||||||
|
type: Web
|
||||||
|
title: Typst
|
||||||
|
author:
|
||||||
|
- Mädje
|
||||||
|
- Laurenz
|
||||||
|
- Haug
|
||||||
|
- Martin
|
||||||
|
- Typst Projekta Izstrādātāji
|
||||||
|
url: https://typst.app/
|
||||||
|
hex_grid:
|
||||||
|
type: Web
|
||||||
|
title: Hexagonal Grids
|
||||||
|
author: Red Blob Games
|
||||||
|
url: {value: 'https://www.redblobgames.com/grids/hexagons/', date: 2024-09-10}
|
||||||
|
bevy_examples:
|
||||||
|
type: Web
|
||||||
|
title: Bevy Examples
|
||||||
|
author:
|
||||||
|
url: {value: 'https://bevyengine.org/examples/', date: 2024-09-10}
|
||||||
|
bevy_cheatbook:
|
||||||
|
type: Web
|
||||||
|
title: Unofficial Bevy Cheat Book
|
||||||
|
author:
|
||||||
|
url: {value: 'https://bevy-cheatbook.github.io/', date: 2024-09-10}
|
||||||
|
lvs_68:
|
||||||
|
type: Book
|
||||||
|
title: Programmatūras prasību specifikācijas ceļvedis
|
||||||
|
author: Institūcija SIA "Latvijas standarts"
|
||||||
|
issue: 68
|
||||||
|
date: 1996-03-27
|
||||||
|
organization: Latvijas Nacionālais standartizācijas un metroloģijas centrs
|
||||||
|
page-total: 22
|
||||||
|
lvs_72:
|
||||||
|
type: Book
|
||||||
|
title: Ieteicamā prakse programmatūras projektējuma aprakstīšanai
|
||||||
|
author: Institūcija SIA "Latvijas standarts"
|
||||||
|
issue: 72
|
||||||
|
date: 1996-03-27
|
||||||
|
organization: Latvijas Nacionālais standartizācijas un metroloģijas centrs
|
||||||
|
page-total: 13
|
||||||
42
layout.typ
42
layout.typ
@ -7,6 +7,7 @@
|
|||||||
#let project(
|
#let project(
|
||||||
university: "",
|
university: "",
|
||||||
faculty: "",
|
faculty: "",
|
||||||
|
type: "",
|
||||||
title: [],
|
title: [],
|
||||||
authors: (),
|
authors: (),
|
||||||
advisor: "",
|
advisor: "",
|
||||||
@ -27,7 +28,7 @@
|
|||||||
)
|
)
|
||||||
set text(
|
set text(
|
||||||
//font: "New Computer Modern",
|
//font: "New Computer Modern",
|
||||||
font: "CMU", size: 12pt, hyphenate: auto, lang: "lv", region: "LV",
|
font: "CMU", size: 12pt, hyphenate: auto, lang: "lv", region: "lv",
|
||||||
)
|
)
|
||||||
show raw: set text(font: "New Computer Modern Mono")
|
show raw: set text(font: "New Computer Modern Mono")
|
||||||
|
|
||||||
@ -38,8 +39,8 @@
|
|||||||
justify: true,
|
justify: true,
|
||||||
leading: 1.5em,
|
leading: 1.5em,
|
||||||
first-line-indent: indent,
|
first-line-indent: indent,
|
||||||
|
spacing: 1.5em,
|
||||||
)
|
)
|
||||||
show par: set block(spacing: 1.5em) // Set 1.5em gap between paragraphs
|
|
||||||
show heading: set block(spacing: 1.5em)
|
show heading: set block(spacing: 1.5em)
|
||||||
set terms(separator: [ -- ])
|
set terms(separator: [ -- ])
|
||||||
|
|
||||||
@ -80,10 +81,24 @@
|
|||||||
|
|
||||||
align(
|
align(
|
||||||
center,
|
center,
|
||||||
text(
|
upper(
|
||||||
20pt,
|
text(
|
||||||
weight: "bold",
|
20pt,
|
||||||
title,
|
weight: "bold",
|
||||||
|
title,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
v(0.3fr)
|
||||||
|
|
||||||
|
align(
|
||||||
|
center,
|
||||||
|
upper(
|
||||||
|
text(
|
||||||
|
size: 16pt,
|
||||||
|
type,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -134,32 +149,34 @@
|
|||||||
/* --- Figure/Table config start --- */
|
/* --- Figure/Table config start --- */
|
||||||
show heading: i-figured.reset-counters
|
show heading: i-figured.reset-counters
|
||||||
show figure: i-figured.show-figure.with(numbering: "1.1.")
|
show figure: i-figured.show-figure.with(numbering: "1.1.")
|
||||||
|
set figure(placement: auto)
|
||||||
|
|
||||||
show figure.where(kind: "i-figured-table"): set block(breakable: true)
|
show figure.where(kind: "i-figured-table"): set block(breakable: true)
|
||||||
show figure.where(kind: "i-figured-table"): set figure.caption(position: top)
|
show figure.where(kind: "i-figured-table"): set figure.caption(position: top)
|
||||||
|
|
||||||
show figure: set par(justify: false) // disable justify for figures (tables)
|
show figure: set par(justify: false) // disable justify for figures (tables)
|
||||||
|
show figure.caption: set text(size: 11pt)
|
||||||
|
|
||||||
show figure.caption: it => {
|
show figure.caption: it => {
|
||||||
if it.kind == "i-figured-table" {
|
if it.kind == "i-figured-table" {
|
||||||
align(
|
return align(
|
||||||
end,
|
end,
|
||||||
emph(it.counter.display(it.numbering) + " tabula ") + text(
|
emph(it.counter.display(it.numbering) + " tabula ") + text(
|
||||||
weight: "bold",
|
weight: "bold",
|
||||||
it.body,
|
it.body,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
} else if it.kind == "i-figured-image" {
|
}
|
||||||
align(
|
if it.kind == "i-figured-image" {
|
||||||
|
return align(
|
||||||
start,
|
start,
|
||||||
emph(it.counter.display(it.numbering) + " att. ") + text(
|
emph(it.counter.display(it.numbering) + " att. ") + text(
|
||||||
weight: "bold",
|
weight: "bold",
|
||||||
it.body,
|
it.body,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
} else {
|
|
||||||
it
|
|
||||||
}
|
}
|
||||||
|
it
|
||||||
}
|
}
|
||||||
|
|
||||||
set ref(supplement: it => { }) // disable default reference suppliments
|
set ref(supplement: it => { }) // disable default reference suppliments
|
||||||
@ -199,6 +216,9 @@
|
|||||||
number-align: center,
|
number-align: center,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
// show link: set text(fill: blue.darken(20%))
|
||||||
|
|
||||||
// Main body
|
// Main body
|
||||||
body
|
body
|
||||||
}
|
}
|
||||||
|
|||||||
163
main.typ
163
main.typ
@ -2,23 +2,27 @@
|
|||||||
#import "@preview/i-figured:0.2.4"
|
#import "@preview/i-figured:0.2.4"
|
||||||
#import "@preview/tablex:0.0.9": tablex, rowspanx, colspanx, cellx
|
#import "@preview/tablex:0.0.9": tablex, rowspanx, colspanx, cellx
|
||||||
#import "utils.typ": *
|
#import "utils.typ": *
|
||||||
|
#import "@preview/wordometer:0.1.3": word-count, total-words
|
||||||
|
#show: word-count
|
||||||
|
|
||||||
#show: project.with(
|
#show: project.with(
|
||||||
university: "Latvijas Universitāte",
|
university: "Latvijas Universitāte",
|
||||||
faculty: "Eksakto zinātņu un tehnoloģiju fakultāte",
|
faculty: "Eksakto zinātņu un tehnoloģiju fakultāte",
|
||||||
|
type: "Kvalifikācijas darbs",
|
||||||
title: [Spēles izstrāde, izmantojot Bevy spēļu dzinēju],
|
title: [Spēles izstrāde, izmantojot Bevy spēļu dzinēju],
|
||||||
authors: ("Kristiāns Francis Cagulis, kc22015",),
|
authors: ("Kristiāns Francis Cagulis, kc22015",),
|
||||||
advisor: "prof. Mg. dat. Jānis Iljins",
|
advisor: "prof. Mg. dat. Jānis Iljins",
|
||||||
date: "Rīga 2025",
|
date: "Rīga 2025",
|
||||||
)
|
)
|
||||||
|
|
||||||
#set heading(numbering: none)
|
#set heading(numbering: none)
|
||||||
|
|
||||||
= Apzīmējumu saraksts
|
= Apzīmējumu saraksts
|
||||||
|
|
||||||
|
/ 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);
|
||||||
|
/ 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);
|
/ 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>);
|
||||||
|
/ Spēlētājs: lietotāja ieraksts vienas virtuālās istabas kontekstā.
|
||||||
|
|
||||||
/* Pēdējos gados spēļu izstrādes joma ir piedzīvojusi strauju popularitātes
|
/* Pēdējos gados spēļu izstrādes joma ir piedzīvojusi strauju popularitātes
|
||||||
* pieaugumu, ko veicināja neatkarīgo spēļu skaita pieaugums un jaudīgu spēļu
|
* pieaugumu, ko veicināja neatkarīgo spēļu skaita pieaugums un jaudīgu spēļu
|
||||||
@ -32,7 +36,7 @@
|
|||||||
== 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")
|
||||||
|
|
||||||
@ -63,10 +67,10 @@ netraucētu un efektīvu spēles pieredzi.
|
|||||||
|
|
||||||
== 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
|
||||||
ceļvedis" un LVS 72:1996 "Ieteicamā prakse programmatūras projektējuma
|
ceļvedis"@lvs_68 un LVS 72:1996 "Ieteicamā prakse programmatūras projektējuma
|
||||||
aprakstīšanai" standarta prasības.
|
aprakstīšanai"@lvs_72 standarta prasības.
|
||||||
|
|
||||||
#todo("papildināt dokumentus")
|
#todo("papildināt dokumentu sarakstu")
|
||||||
|
|
||||||
== Pārskats
|
== Pārskats
|
||||||
Dokumenta ievads satur ...
|
Dokumenta ievads satur ...
|
||||||
@ -85,11 +89,76 @@ 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
|
||||||
|
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
|
||||||
|
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ā
|
||||||
|
drošības un laiksakritība 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
|
||||||
|
projektēta ar iespēju realizēt pēc studenta iniciatīvas kvalifikācijas darba
|
||||||
|
ietvaros.
|
||||||
|
|
||||||
== Produkta perspektīva
|
== Produkta perspektīva
|
||||||
|
"Maze Ascension" ir izstrādāta kā daudzplatformu spēle, izmantojot nepārtrauktas
|
||||||
|
integrācijas un nepārtrauktas izvietošanas (CI/CD) _pipeline_
|
||||||
|
#todo("check CI/CD pipeline translation"), lai racionalizētu
|
||||||
|
izstrādes un izplatīšanas procesu. Šis _pipeline_ ir konfigurēts tā, lai kompilētu
|
||||||
|
spēli vairākām platformām, tostarp Linux, macOS, Windows un WebAssembly (Wasm).
|
||||||
|
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.
|
||||||
|
|
||||||
|
Spēle tiek izplatīta, izmantojot #todo("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ē.
|
||||||
|
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.
|
||||||
|
|
||||||
|
/* Lai gan spēle neizmanto mākoņpakalpojumus datu uzglabāšanai vai
|
||||||
|
analīzei, CI/CD cauruļvads nodrošina, ka atjauninājumus un jaunas funkcijas var
|
||||||
|
izvietot efektīvi un droši. Šāda konfigurācija ļauj ātri veikt iterāciju un
|
||||||
|
nepārtraukti uzlabot spēli, nodrošinot, ka spēlētājiem vienmēr ir pieejama
|
||||||
|
jaunākā versija ar jaunākajiem uzlabojumiem un kļūdu labojumiem. */
|
||||||
|
|
||||||
== Darījumprasības
|
== Darījumprasības
|
||||||
|
Sistēmas izstrādē galvenā uzmanība tiks pievērsta sekojošu darījumprasību
|
||||||
|
īstenošanai, lai nodrošinātu stabilu un saistošu lietotāja pieredzi:
|
||||||
|
|
||||||
|
+ Spēles progresēšana un līmeņu pārvaldība: Sistēma automātiski pārvaldīs spēlētāju virzību pa spēles līmeņiem, nodrošinot vienmērīgu pāreju, kad spēlētāji progresē un saskaras ar jauniem izaicinājumiem.
|
||||||
|
Progress tiks saglabāts lokāli spēlētāja ierīcē.
|
||||||
|
+ Nevainojama piekļuve spēlēm: Spēlētāji varēs piekļūt spēlei un spēlēt to bez nepieciešamības izveidot lietotāja kontu vai pieteikties. Tas nodrošina netraucētu piekļuvi spēlei, ļaujot spēlētājiem nekavējoties sākt spēlēt.
|
||||||
|
// + 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.
|
||||||
|
+ 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.
|
||||||
|
|
||||||
== 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
|
||||||
|
ir personas, kas iesaistās spēlē, lai pārvietotos pa tās labirinta struktūrām.
|
||||||
|
Tā kā spēlei nav nepieciešami lietotāja konti vai autentifikācija, visiem
|
||||||
|
spēlētājiem ir vienlīdzīga piekļuve spēles funkcijām un saturam no spēles sākuma
|
||||||
|
brīža.
|
||||||
|
|
||||||
|
/* "Sistēma" lietotājs ir atbildīgs par notikumu apstrādātāju izsaukšanu, kas
|
||||||
|
nepieciešams automātiskai spēles gaitas pārvaldībai. */
|
||||||
|
|
||||||
|
Ar lietotājiem saistītās datu plūsmas ir attēlotas sistēmas nultā līmeņa DPD
|
||||||
|
(skat. @fig:dpd-0 att.)
|
||||||
|
|
||||||
|
#figure(
|
||||||
|
caption: "0. līmeņa DPD",
|
||||||
|
image("assets/images/dpd/dpd0.jpg"),
|
||||||
|
) <dpd-0>
|
||||||
|
|
||||||
== Vispārējie ierobežojumi
|
== Vispārējie ierobežojumi
|
||||||
|
+ Izstrādes vides un tehnoloģijas ierobežojumi:
|
||||||
|
+ Programmēšanas valodas un Bevy spēles dzinēja tehniskie ierobežojumi;
|
||||||
|
+ Responsivitāte;
|
||||||
|
+ Starpplatformu savietojamība: Linux, macOS, Windows un WebAssembly.
|
||||||
|
// + Izplatīšanas un izvietošanas ierobežojumi:
|
||||||
|
// + CI/CD _pipeline_.
|
||||||
|
|
||||||
== Pieņēmumi un atkarības
|
== Pieņēmumi un atkarības
|
||||||
|
|
||||||
// Constraints
|
// Constraints
|
||||||
@ -115,6 +184,11 @@ pārvaldāms, nodrošinot strukturētu ceļu projekta mērķu sasniegšanai. */
|
|||||||
|
|
||||||
= Programmatūras prasību specifikācija
|
= Programmatūras prasību specifikācija
|
||||||
== Funkcionālās prasības
|
== Funkcionālās prasības
|
||||||
|
#figure(
|
||||||
|
caption: "1. līmeņa DPD",
|
||||||
|
image("assets/images/dpd/dpd1.jpg"),
|
||||||
|
) <dpd-1>
|
||||||
|
|
||||||
== Nefunkcionālās prasības
|
== Nefunkcionālās prasības
|
||||||
=== Veiktspējas prasības
|
=== Veiktspējas prasības
|
||||||
==== Statiskā veiktspēja
|
==== Statiskā veiktspēja
|
||||||
@ -143,75 +217,10 @@ pārvaldāms, nodrošinot strukturētu ceļu projekta mērķu sasniegšanai. */
|
|||||||
=== Navigācija
|
=== Navigācija
|
||||||
=== Ekrānskati
|
=== Ekrānskati
|
||||||
|
|
||||||
#heading(
|
#bibliography(
|
||||||
numbering: none,
|
title: "Izmantotā literatūra un avoti",
|
||||||
"Izmantotā literatūra un avoti",
|
"bibliography.yml",
|
||||||
)
|
)
|
||||||
|
|
||||||
+ #hyperlink-source(
|
#pagebreak()
|
||||||
[Institūcija "Latvijas standarts".],
|
#todo[#total-words words]
|
||||||
[LVS 68:1996 "Programmatūras prasību specifikācijas ceļvedis". 1996, marts.],
|
|
||||||
"",
|
|
||||||
datetime(
|
|
||||||
year: 2023,
|
|
||||||
month: 11,
|
|
||||||
day: 20,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
+ #hyperlink-source(
|
|
||||||
[Institūcija "Latvijas standarts".],
|
|
||||||
[LVS 72:1996 PPS "Ieteicamā prakse programmatūras projektējuma aprakstīšanai". 1996, marts.],
|
|
||||||
"",
|
|
||||||
datetime(
|
|
||||||
year: 2024,
|
|
||||||
month: 11,
|
|
||||||
day: 04,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
+ #hyperlink-source(
|
|
||||||
"", // TODO:
|
|
||||||
"Hexagonal Grids from Red Blob Games.",
|
|
||||||
"https://www.redblobgames.com/grids/hexagons/",
|
|
||||||
datetime(
|
|
||||||
year: 2024,
|
|
||||||
month: 09,
|
|
||||||
day: 10,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
+ #hyperlink-source(
|
|
||||||
"", // TODO:
|
|
||||||
"Power-up.",
|
|
||||||
"https://en.wikipedia.org/wiki/Power-up",
|
|
||||||
datetime(
|
|
||||||
year: 2024,
|
|
||||||
month: 11,
|
|
||||||
day: 04,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
+ #hyperlink-source(
|
|
||||||
"", // TODO:
|
|
||||||
"Unofficial Bevy Cheat Book.",
|
|
||||||
"https://bevy-cheatbook.github.io/",
|
|
||||||
datetime(
|
|
||||||
year: 2024,
|
|
||||||
month: 09,
|
|
||||||
day: 10,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
+ #hyperlink-source(
|
|
||||||
"Bevy piemēri.",
|
|
||||||
"Bevy Examples",
|
|
||||||
"https://bevyengine.org/examples/",
|
|
||||||
datetime(
|
|
||||||
year: 2024,
|
|
||||||
month: 09,
|
|
||||||
day: 10,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user