Replace fancy apostrophe with a normal one
Plus add scrolling improvement
This commit is contained in:
parent
e17294cd6c
commit
a0805be1b8
@ -31,6 +31,7 @@ export default defineConfig({
|
||||
"./src/styles/theme.css",
|
||||
"./src/styles/footnotes-fix.css",
|
||||
"./src/styles/pixelated-logo.css",
|
||||
"./src/styles/scroll-fix.css",
|
||||
],
|
||||
sidebar: [
|
||||
{
|
||||
|
@ -79,7 +79,7 @@ Node-link diagram, Tree (Klasické zobrazení), Radial Tree (Sunburst, ale strom
|
||||
Tyto interakce můžeme aplikovat na různé operandy. Operand interakce je prostor, na který interakci aplikujeme.
|
||||
|
||||
> [!TIP]
|
||||
> Rozdělení mi není úplně 100% jasné, takže budu rád za opravy. Celé slidy čerpají z knihy Interactive Data Visualization: Foundations, Techniques, and Applications, Second Edition (dostupné z [Anna’s Archive](https://annas-archive.org/md5/0bf49e061a8b82167d0e05a5d2b50476))
|
||||
> Rozdělení mi není úplně 100% jasné, takže budu rád za opravy. Celé slidy čerpají z knihy Interactive Data Visualization: Foundations, Techniques, and Applications, Second Edition (dostupné z [Anna's Archive](https://annas-archive.org/md5/0bf49e061a8b82167d0e05a5d2b50476))
|
||||
|
||||
|
||||
### Techniky pro prostor obrazovky (Pixely)
|
||||
|
@ -258,7 +258,7 @@ Binding 2 => Attribute 2 (uv souřadnice)
|
||||
|
||||
## Princip rasterizace
|
||||
|
||||
Z Primitive assembly dostáváme bod, čáru, nebo trojúhelník, který potřebujeme převést na fragmenty (pixely, typicky čtvercové). Každému fragmentu přidělíme barvu a hloubku (Z-value) = fragment’s associated data. Fragment definujeme integerovými souřadnicemi jeho levého dolního bodu (pozor na 0.5 offset).
|
||||
Z Primitive assembly dostáváme bod, čáru, nebo trojúhelník, který potřebujeme převést na fragmenty (pixely, typicky čtvercové). Každému fragmentu přidělíme barvu a hloubku (Z-value) = fragment's associated data. Fragment definujeme integerovými souřadnicemi jeho levého dolního bodu (pozor na 0.5 offset).
|
||||
|
||||
- **Bod**\
|
||||
Při rasterizaci bodu vykreslíme čtverec o hraně `gl_PointSize` zaokrouhlený na celé pixely.
|
||||
|
@ -237,7 +237,7 @@ Stíny jsou důležité, jelikož:
|
||||
|
||||

|
||||
|
||||
Prakticky se používá Stencil Buffer Algorithm, kdy renderujeme pro každý objekt nejprve front faces a pak back faces. Tenhle přístup je problematický, pokud je kamera ve stínu, ale řešitelný pokud obrátíme pořádí objektů -- jdeme od nekonečna ke kameře (Z-fail, Carmack’s reverse).
|
||||
Prakticky se používá Stencil Buffer Algorithm, kdy renderujeme pro každý objekt nejprve front faces a pak back faces. Tenhle přístup je problematický, pokud je kamera ve stínu, ale řešitelný pokud obrátíme pořádí objektů -- jdeme od nekonečna ke kameře (Z-fail, Carmack's reverse).
|
||||
|
||||
- **Soft shadows**\
|
||||
Existuje množství algoritmů. Například shadow mapy s Percentage Closer Filtering (PCF). Jsou ale výpočetně náročnější než hard shadows.
|
||||
|
@ -58,7 +58,7 @@ A z této rovnice už vyjádříme $u_{ij}^{k + 1}$. ($\Delta t$ je časový kro
|
||||
|
||||
### Nelineární izotropní difuze
|
||||
|
||||
Zobecníme funkci pro difuzi kombinací Fick’s law a Mass preservation: $\partial_t u = \text{div} (g \cdot \nabla u)$, kde $\div$ je divergence.
|
||||
Zobecníme funkci pro difuzi kombinací Fick's law a Mass preservation: $\partial_t u = \text{div} (g \cdot \nabla u)$, kde $\div$ je divergence.
|
||||
|
||||
- **Lineární**
|
||||
- $g = 1$
|
||||
|
@ -137,7 +137,7 @@ Greedy algoritmy nachází řešení globálního problému tak, že volí loká
|
||||
|
||||
#### Problémy
|
||||
|
||||
- **Cashier’s algorithm (mince)**\
|
||||
- **Cashier's algorithm (mince)**\
|
||||
Jak zaplatit danou částku s co nejmenším počtem mincí různých hodnot?
|
||||
|
||||
- **Řešení**\
|
||||
|
@ -258,7 +258,7 @@ P(x) = \sum_{i=0}^n P_i \ell_i(x)
|
||||
|
||||
Blbé je, že musíme všechny pomocné polynomy přepočítat, když přidáme nový bod.
|
||||
|
||||
- **Hornerovo schéma / Horner’s method**\
|
||||
- **Hornerovo schéma / Horner's method**\
|
||||
Metoda evaluace polynomů. Vychází z myšlenky, že násobení se dá nestovat: [^horner]
|
||||
|
||||
```math
|
||||
@ -674,7 +674,7 @@ Polygonové povrchy dělíme v případě, kdy chceme je zjemnit, vyhladit.
|
||||
[^coons-path]: [Wikipedia: Coons patch](https://en.wikipedia.org/wiki/Coons_patch)
|
||||
[^nurbs]: [Wikipedia: Non-uniform rational B-spline](https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline)
|
||||
[^sweeping]: [Wikipedia: Solid modeling](https://en.wikipedia.org/wiki/Solid_modeling#Sweeping)
|
||||
[^horner]: [Wikipedia: Horner’s method](https://en.wikipedia.org/wiki/Horner%27s_method)
|
||||
[^horner]: [Wikipedia: Horner's method](https://en.wikipedia.org/wiki/Horner%27s_method)
|
||||
|
||||
## Další zdroje
|
||||
|
||||
|
@ -423,7 +423,7 @@ Neuronové sítě, jejichž architektura obsahuje cykly. Tedy výstup v jednom b
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> Pokud $\textcolor{red}{\sigma' \cdot W_{k’k}} \not\approx 1$, pak gradient buď vybouchne nebo se ztratí.
|
||||
> Pokud $\textcolor{red}{\sigma' \cdot W_{k'k}} \not\approx 1$, pak gradient buď vybouchne nebo se ztratí.
|
||||
|
||||
- **Long Short-Term Memory (LSTM)**\
|
||||
LSTM řeší problém s vanishing a exploding gradientem, kterým RNN. V RNN je $\sigma$ typicky $\tanh$. V LSTM obsahuje jeden hidden neuron vlastně čtyři "podvrstvy", které mimo jiné umožňují část paměti zapomenout:
|
||||
|
@ -357,7 +357,7 @@ Stíny jsou důležité, jelikož:
|
||||
|
||||

|
||||
|
||||
Prakticky se používá Stencil Buffer Algorithm, kdy renderujeme pro každý objekt nejprve front faces a pak back faces. Tenhle přístup je problematický, pokud je kamera ve stínu, ale řešitelný pokud obrátíme pořádí objektů -- jdeme od nekonečna ke kameře (Z-fail, Carmack’s reverse).
|
||||
Prakticky se používá Stencil Buffer Algorithm, kdy renderujeme pro každý objekt nejprve front faces a pak back faces. Tenhle přístup je problematický, pokud je kamera ve stínu, ale řešitelný pokud obrátíme pořádí objektů -- jdeme od nekonečna ke kameře (Z-fail, Carmack's reverse).
|
||||
|
||||
- **Soft shadows**\
|
||||
Existuje množství algoritmů. Například shadow mapy s Percentage Closer Filtering (PCF). Jsou ale výpočetně náročnější než hard shadows.
|
||||
|
@ -301,7 +301,7 @@ Specifický pohyb postav bezvědomí. Kombinuje animace a fyziku. Je založená
|
||||
|
||||

|
||||
|
||||
- **Featherstone’s algorithm**\
|
||||
- **Featherstone's algorithm**\
|
||||
Algoritmus pro výpočet dynamiky stromovité struktury propojených článků.
|
||||
|
||||
|
||||
|
@ -14,9 +14,9 @@ _PA215, PA216_
|
||||
|
||||
> Game design is like a recipe...
|
||||
>
|
||||
> It looks fine, but you can’t eat it...
|
||||
> It looks fine, but you can't eat it...
|
||||
>
|
||||
> Well it can be eaten, but it doesn’t fill you up.
|
||||
> Well it can be eaten, but it doesn't fill you up.
|
||||
>
|
||||
> — Taky ZZ
|
||||
|
||||
@ -107,9 +107,9 @@ Lidi jsou různí a různí lidi hrají různé hry různě.
|
||||
- **Explorer**\
|
||||
Snaží se objevovat a poznávat svět. Je hrdý na hloubku svých znalostí o světě.
|
||||
|
||||
> I haven’t tried that one, what’s it do?
|
||||
> I haven't tried that one, what's it do?
|
||||
|
||||
**Bartle’s Taxonomy of Players [^pa215-2022]**
|
||||
**Bartle's Taxonomy of Players [^pa215-2022]**
|
||||
|
||||

|
||||
|
||||
@ -142,7 +142,7 @@ Hry dovedou navodit řadu různých herních zážitků, které můžeme různý
|
||||
> [!IMPORTANT]
|
||||
> Herní zážitky souvisí s pojmem obtížnost, kterému se věnuje část otázky [Herní design II](../vph04_herni_design_ii/).
|
||||
|
||||
#### LeBlanc’s Eight Kinds of Fun
|
||||
#### LeBlanc's Eight Kinds of Fun
|
||||
|
||||
> [!TIP]
|
||||
> Taky označované jako _Taxonomy of Game Pleasures_ a _herní "pošušňáníčka"_. [^pa215-2019]
|
||||
@ -242,9 +242,9 @@ Game designer produkuje taky hromady abstraktních teorií o herním designu.
|
||||
> Design theory is like coffee.
|
||||
>
|
||||
> - You can get it on **every corner**.
|
||||
> - It’s expensive whether it’s **high or low quality**.
|
||||
> - It’s a **fuel for magic**.
|
||||
> - **Without doing something with it it’s useless**.
|
||||
> - It's expensive whether it's **high or low quality**.
|
||||
> - It's a **fuel for magic**.
|
||||
> - **Without doing something with it it's useless**.
|
||||
|
||||
> — Ano, stále ZZ
|
||||
|
||||
@ -288,9 +288,9 @@ Lehký slovník pro popis her. [^cgo] Hodí se při komunikaci s klienty, nevyvo
|
||||
- **Audio**\
|
||||
Includes background music such as a fully orchestrated soundtrack, sound effects, rewarding sounds and voice-acted dialogue.
|
||||
- **Narrative**\
|
||||
Contains the interactive story of a game which makes up the game’s plot.
|
||||
Contains the interactive story of a game which makes up the game's plot.
|
||||
- **Game Design**\
|
||||
Contains all the game’s mechanics that define the game’s rules, which provide the structures and frames for play (for example winning and losing conditions) and actions available to the player.
|
||||
Contains all the game's mechanics that define the game's rules, which provide the structures and frames for play (for example winning and losing conditions) and actions available to the player.
|
||||
- **Level Design**\
|
||||
Includes the architecture of the spatial navigation of levels which determine how the player agent can progress from one point in the game to another.
|
||||
- **Gameplay**\
|
||||
|
@ -22,17 +22,17 @@ Obsahuje základní informace o hře v čitelné formě pro negamedesignery (tř
|
||||
|
||||
- target audience, žánr, target platform, pro kolik bude hráčů...
|
||||
- high concept statement - krátký popis hry
|
||||
** What does the player do?
|
||||
** Why do they do it?
|
||||
** Where do they do it?
|
||||
** What are the constraints on the player?
|
||||
** What sort of emotion is this game trying to evoke in the player?
|
||||
** How is this game unique? What differentiates it from other games?
|
||||
- What does the player do?
|
||||
- Why do they do it?
|
||||
- Where do they do it?
|
||||
- What are the constraints on the player?
|
||||
- What sort of emotion is this game trying to evoke in the player?
|
||||
- How is this game unique? What differentiates it from other games?
|
||||
- feature set
|
||||
- competition - podobné hry
|
||||
- inovation - co hra přináší nového (art, design, technologie, ...)
|
||||
- scope management - omezení rozsahu hry tak aby se zvládla vyrobit
|
||||
\*\* must have, should have, could have, won’t have
|
||||
\*\* must have, should have, could have, won't have
|
||||
|
||||
## Teoretické koncepty herní analýzy
|
||||
|
||||
@ -101,7 +101,7 @@ V teorii her se hry dělí na:
|
||||
- **Symetrická**\
|
||||
V symetrických hrách mají všichni hráči stejné možnosti. Jinými slovy, nezáleží na tom, **kým** hráč je, ale jakou strategii zvolí. Většina symetrických her je krátká, jelikož při delším hraní mají hráči různé strategické možnosti, a tak se hra stává _de facto_ asymetrickou.
|
||||
|
||||
Příkladem symetrické hry jsou například kámen-nůžky-papír, prisoner’s dilema.
|
||||
Příkladem symetrické hry jsou například kámen-nůžky-papír, prisoner's dilema.
|
||||
|
||||
Z pohledu game designu stačí, že mají hráči stejné možnosti. Tedy například šachy jsou symetrické z pohledu game designéra, ale z pohledu teorie her ne, protože bílý začíná a má tedy výhodu.
|
||||
|
||||
@ -179,13 +179,13 @@ Game desiner může využít libovolné herní elementy k tomu, aby komunikoval
|
||||
|
||||
### Struktura
|
||||
|
||||
- **Lineární (3-bodová struktura, Monomyth / Hero’s journey)**
|
||||
- **Lineární (3-bodová struktura, Monomyth / Hero's journey)**
|
||||
|
||||
1. Setup -- expozice, počáteční incident.
|
||||
2. Konfrontace -- překážky, krize.
|
||||
3. Rozuzlení -- vyvrcholení, závěr.
|
||||
|
||||
> [The] hero’s journey, or the monomyth, is the common template of stories that involve a hero who goes on an adventure, is victorious in a decisive crisis, and comes home changed or transformed.
|
||||
> [The] hero's journey, or the monomyth, is the common template of stories that involve a hero who goes on an adventure, is victorious in a decisive crisis, and comes home changed or transformed.
|
||||
>
|
||||
> — Wikipedia: Hero's journey
|
||||
|
||||
@ -222,7 +222,7 @@ Jak tutoriál tak onboarding učí hráče, jak hru hrát. Onboarding je širš
|
||||
- A design of an early gameplay to motivate the player to play a game. [^pa215-2019]
|
||||
- A design of gameplay to motivate the player to achieve mastery.
|
||||
|
||||
> [...] it’s incredibly powerful to teach a player how to play the game, in-game, because that way they quickly take ownership over what happens.
|
||||
> [...] it's incredibly powerful to teach a player how to play the game, in-game, because that way they quickly take ownership over what happens.
|
||||
>
|
||||
> — Miyamoto
|
||||
|
||||
@ -296,7 +296,7 @@ Proces, kdy je game design testován na hráčích po celou dobu vývoje. A to
|
||||
---
|
||||
|
||||
> - Playtest before you think you are ready.
|
||||
> - Don’t explain.
|
||||
> - Don't explain.
|
||||
> - Take notes.
|
||||
> - Shut Up.
|
||||
> - Notice everything.
|
||||
@ -312,4 +312,4 @@ Proces, kdy je game design testován na hráčích po celou dobu vývoje. A to
|
||||
[^pa215-2022]: https://is.muni.cz/auth/el/fi/podzim2022/PA215/index.qwarp
|
||||
[^zagalo]: https://www.slideshare.net/nzagalo/videogame-narrative
|
||||
[^pa215-2019]: https://is.muni.cz/auth/el/fi/podzim2019/PA215/um/
|
||||
[^fuck-rules]: [Don’t follow these rules!: A Primer for Playtesting, Nathalie Pozzi and Eric Zimmerman](https://static1.squarespace.com/static/579b8aa26b8f5b8f49605c96/t/5962a494bebafbc89ca001b6/1499636884792/A+Primer+for+Playtesting.pdf)
|
||||
[^fuck-rules]: [Don't follow these rules!: A Primer for Playtesting, Nathalie Pozzi and Eric Zimmerman](https://static1.squarespace.com/static/579b8aa26b8f5b8f49605c96/t/5962a494bebafbc89ca001b6/1499636884792/A+Primer+for+Playtesting.pdf)
|
||||
|
@ -155,7 +155,7 @@ Pathfinding vnímá scénu jako graf, ve kterém hledá (obvykle nejkratší) ce
|
||||
Prozkoumej jednoho souseda, pak jeho souseda, pak souseda toho souseda atd. dokud jsi tak hluboko, že nemáš kam jít. Pak se teprve vynoř o úroveň výš a zkus prozkoumat jiného souseda.
|
||||
- **Shortest path algorithms / algoritmy pro nejkratší cestu**\
|
||||
Hledají nejkratší cestu mezi dvěma uzly. Používají nějakou heuristiku $f$ pro výběr dalšího uzlu k prozkoumání.
|
||||
- **Dijkstra’s algorithm / Dijkstrův algoritmus**\
|
||||
- **Dijkstra's algorithm / Dijkstrův algoritmus**\
|
||||
Podobný BFS, ale snaží se najít nejkratší cestu, ne nutně prozkoumat celý graf. Hranám přiřazuje cenu a vybírá ty s nejnižší cenou -- $f$ je nejnižší vzdálenost od počátečního uzlu.
|
||||
|
||||
### A\* algoritmus
|
||||
@ -275,7 +275,7 @@ Agenti nevidí herní svět stejně jako hráči, vidí ho spíš jako graf s uz
|
||||
- **Tile-based / dlaždicové**\
|
||||
Některé hry, např real-time strategie (RTS), mají svět rozdělen do čtvercových / hexagonálních dlaždic. Díky tomu je jednoduché je převést na graf, neboť co dlaždice to uzel.
|
||||
|
||||
**Sid Meier’s Civilization V [^civ5]**
|
||||
**Sid Meier's Civilization V [^civ5]**
|
||||
|
||||

|
||||
|
||||
@ -481,7 +481,7 @@ Typicky turn-based hry pro dva hráče, často s perfektní informací.
|
||||
- **Zero-sum games**\
|
||||
Hra, kde výhra jednoho hráče je prohrou druhého (např. šachy).
|
||||
- **Non-zero-sum games**\
|
||||
Výhra jednoho hráče nemusí být prohra druhého, stejně tak prohra jednoho hráče nemusí být výhra druhého (např. kooperativní hry, prisoner’s dilemma).
|
||||
Výhra jednoho hráče nemusí být prohra druhého, stejně tak prohra jednoho hráče nemusí být výhra druhého (např. kooperativní hry, prisoner's dilemma).
|
||||
|
||||
### AI turn-based algoritmy
|
||||
|
||||
@ -547,7 +547,7 @@ Minmax i alpha-beta pruning se chápe nejlíp s vizualizací. Můžete kouknout
|
||||
[^steering]: [Steering Behaviors](https://slsdo.github.io/steering-behaviors/)
|
||||
[^navmesh]: [Navigation System in Unity](https://docs.unity3d.com/Manual/nav-NavigationSystem.html)
|
||||
[^astar]: [Introduction to the A\* Algorithm](https://www.redblobgames.com/pathfinding/a-star/introduction.html)
|
||||
[^civ5]: [Sid Meier’s Civilization V](https://store.steampowered.com/app/8930/Sid_Meiers_Civilization_V/)
|
||||
[^civ5]: [Sid Meier's Civilization V](https://store.steampowered.com/app/8930/Sid_Meiers_Civilization_V/)
|
||||
[^monte-carlo]: [Wikipedia: Monte Carlo method](https://en.wikipedia.org/wiki/Monte_Carlo_method)
|
||||
[^mcts]: [Wikipedia: Monte Carlo tree search](https://en.wikipedia.org/wiki/Monte_Carlo_tree_search)
|
||||
[^ida-star]: [Wikipedia: Iterative deepening A\*](https://en.wikipedia.org/wiki/Iterative_deepening_A*)
|
||||
|
@ -301,7 +301,7 @@ Ambient occlusion approximuje, jak moc je objekt vystaven ambientním světlu. J
|
||||
[^sw-coordinates]: [Verge3D Wiki: Coordinate Systems](https://www.soft8soft.com/wiki/index.php/Coordinate_Systems)
|
||||
[^viewport]: [`glViewport`](https://registry.khronos.org/OpenGL-Refpages/gl4/html/glViewport.xhtml)
|
||||
[^depth-range]: [`glDepthRange`](https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDepthRange.xhtml)
|
||||
[^vulkan-coords]: [Vulkan’s coordinate system](http://anki3d.org/vulkan-coordinate-system/)
|
||||
[^vulkan-coords]: [Vulkan's coordinate system](http://anki3d.org/vulkan-coordinate-system/)
|
||||
[^pv227]: [PV227 GPU Rendering (podzim 2022)](https://is.muni.cz/auth/el/fi/podzim2022/PV227/)
|
||||
[^anti-aliasing]: [LearnOpenGL: Anti-Aliasing](https://learnopengl.com/Advanced-OpenGL/Anti-Aliasing)
|
||||
[^ambient-occlusion]: [Wikipedia: Ambient occlusion](https://en.wikipedia.org/wiki/Ambient_occlusion)
|
||||
|
7
src/styles/scroll-fix.css
Normal file
7
src/styles/scroll-fix.css
Normal file
@ -0,0 +1,7 @@
|
||||
:root {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
a {
|
||||
scroll-padding-top: 2rem;
|
||||
}
|
Loading…
Reference in New Issue
Block a user