diff --git a/assets/images/sceens/dev-tools.png b/assets/images/sceens/dev-tools.png new file mode 100644 index 0000000..4838de7 Binary files /dev/null and b/assets/images/sceens/dev-tools.png differ diff --git a/assets/images/sceens/game.svg b/assets/images/sceens/game.svg new file mode 100644 index 0000000..2fd679e --- /dev/null +++ b/assets/images/sceens/game.svg @@ -0,0 +1,814 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/sceens/main.svg b/assets/images/sceens/main.svg new file mode 100644 index 0000000..4fa36ea --- /dev/null +++ b/assets/images/sceens/main.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/krita/game-ui.kra b/assets/krita/game-ui.kra new file mode 100644 index 0000000..b8a1ea1 Binary files /dev/null and b/assets/krita/game-ui.kra differ diff --git a/assets/krita/game-ui.png b/assets/krita/game-ui.png new file mode 100644 index 0000000..7200ffa Binary files /dev/null and b/assets/krita/game-ui.png differ diff --git a/diagrams.typ b/diagrams.typ index 98f3c56..f7b06f6 100644 --- a/diagrams.typ +++ b/diagrams.typ @@ -28,13 +28,12 @@ } // Common rounded rectangle node -#let action-node(pos, text) = { +#let action-node(..args) = { node( - pos, - text, corner-radius: 4pt, stroke: default-node-stroke, shape: rect, + ..args, ) } diff --git a/main.typ b/main.typ index 84fb96a..4ce2fd6 100644 --- a/main.typ +++ b/main.typ @@ -1131,8 +1131,16 @@ piedāvājot divas galvenās funkcijas: sienu pārlēkšanu un izejas ceļa par ) dpd-database((2, 0), [Operatīvā\ atmiņa]) - dpd-edge("u,l", align(center)[Papildspēju\ notikumu dati], label-pos: 0.6) - dpd-edge("d,l", align(center)[Papildspēju\ notikumu dati], label-pos: 0.6) + dpd-edge( + "u,l", + align(center)[Papildspēju\ notikumu dati], + label-pos: 0.65, + ) + dpd-edge( + "d,l", + align(center)[Papildspēju\ notikumu dati], + label-pos: 0.65, + ) }, ), ) @@ -1690,12 +1698,70 @@ projekta lietojuma gadījumam sekojošu iemeslu dēļ: - optimālāku veiktspēja projekta lietošanas gadījumam; - lielāku kontroli pār labirinta vizuālo attēlojumu. -/* Apraksta svarīgākās, sarežģītākās funkcijas vai sistēmas darbības aspektus; -* obligāti jālieto vismaz 4 dažādi diagrammu veidi, izņemot DPD un lietošanas -* piemēru (use case) diagrammas */ == Saskarņu projektējums -#todo("pievienot saskarnes (UI/UX)") -/* 5-7 lietotāja saskarnes un to apraksts */ +Spēles saskarņu projektējums ietver divus galvenos skatus (sk. @fig:ui-flow) -- +galveno izvēlni, spēles saskarni -- un izstrādes rīkus. +Katra saskarne ir veidota, ņemot vērā tās specifisko lietojuma gadījumu un +lietotāju vajadzības. + +#figure( + caption: "Ekrānskatu plūsmu diagramma", + diagram( + spacing: 6em, + { + action-node((0, 0), [Galvenais ekrāns], inset: 2em) + edge( + stroke: 1pt, + "<|-|>", + ) + action-node((1, 0), [Galvenais ekrāns], inset: 2em) + }, + ), +) + +=== Galvenā izvēlne + +Galvenā izvēlne ir pirmais skats, ar ko saskaras lietotājs, uzsākot spēli (sk. +@fig:main-menu). +Tā sastāv no spēles nosaukuma, "Play" -- sākt spēli pogas un "Quit" -- iziet +pogas. +Izvēlnes dizains ir minimālistisks un intuitīvs, izmantojot kontrastējošas +krāsas un skaidru vizuālo hierarhiju. + +#figure( + caption: "Galvenās izvēlnes skats", + image("assets/images/sceens/main.svg"), +) + +=== Spēles skats + +Spēles skats apvieno pašu spēles pasauli ar minimālistisku lietotāja saskarni +(sk, @fig:game-ui). +Centrālo daļu aizņem spēles pasaule ar sešstūra labirintu, kas veido spēles +galveno interaktīvo elementu. +Ekrāna kreisajā apakšējā stūrī ir izvietoti papildspēju statusa indikatori, kas +sniedz spēlētājam vizuālu atgriezenisko saiti par pieejamajām spējām un to +atjaunošanās laiku. + + +#figure( + caption: "Galvenās izvēlnes skats", + image("assets/images/sceens/game.svg"), +) + +=== Izstrādes rīki +Izstrādes rīki, kas redzami @fig:dev-tools-ui[attēlā], ir implementēti +izmantojot "egui" bibliotēku @bevy_egui. +Pirmais "Bevy Inspector Egui" noklusētais skats @bevy-inspector-egui, kas +nodrošina detalizētu piekļuvi spēles entitāšu hierarhijai, komponenšu +inspektoram un resursu pārvaldniekam. +Otrs ir izvietots labirinta konfigurācijas panelis, kas ļauj kontrolēt labirinta +izmēru, izkārtojumu un pielāgot ģenerēšanas parametrus, + +#figure( + caption: "Izstrādes rīku saskarne ar labirinta konfigurācijas paneli", + image("assets/images/sceens/dev-tools.png"), +) = Testēšanas dokumentācija Šajā nodaļā ir aprakstīta spēles "Maze Ascension" testēšanas process.