Ahoj vespolek, Vítá Vás opět Marky u obecně prospěšného
       pořadu ( na vaší straně )

                            JAK OBLBNOUT UŽIVATELE

       Já jsem vám sice všem slíbil, že dnes dodám algoritmy pro spisovný
     anglický jazyk, ale časy se mění a my se  měníme s nimi. Takže o čem
     se dnes budeme bavit ? No o dungeonech přece.

                        PROGRAMOVÁNÍ GRAFIKY DO DUNGEONŮ

       Víte ono je to  všechno vlastně strašně  jednoduché. Chcete udělat
     klasický čverečkový dungeon? Potom se nesnažte vyrábět  žádné obecné
     vykreslování  zdí. Vše  lze udělat na  tvrdo. Nemyslím tím však celá
     GIGA dat rozšoupaná  po CéDéčkách, ale jednoduchý  algoritmus, který
     rychle a qalitně spočte  a vykreslí správnou  pozici zdi na  správné
     místo.

       Nejprve tedy  kam  co vykreslit. Jak si rozvrhnete jednotlivé kusy
     dat po obrazovce rozmístit,je na každém z vás. Rozmístění jako např.
     klasické  dungeony typu Eye Of Beholder je dle mého názoru nejlepší.
     Je možné  obě datové  složky prohodit a vše uspořádat jako nepříklad
     Ishar, nebo  použít  jen stručnou informační linku jako u DOOMa, ale
     to závisí  pouze na  fantas(magor)ii  autora. Co je však důležité je
     síť, do  které se  rozvrhnou  textury. Síť  zobrazená  na obrázku je
     optimální pro velikost výhledového  okna 200*150 pixelů. Opět záleží
     na autorovi, jak velké chce  okno (tfuj,  wokno,  to  je  ale hnusný
     slovo ) vlastně mít. Potom  je nutné  poměry stran náležitě upravit.
     Ale hup a přesuneme se na to,jak vlastně tyto pole vyplnit samotnými
     texturami. Není to vlastně nijak složité.

       Začnu texturami "rovnoběžnými" s rovinou monitoru. Zde je  vše tak
     jednoduché jako facka sama. Každou textůrku ( co to  plácám, textůry
     do texťáku, v grafice se používaj grafůry) prostě zmenším, to značí,
     že vynechám každý x-tý pixel.

       Horší  to  už bude s  natáčením  textur na stěny  jeskyní. Zde  se
     vy/zneužije  nedokonalosti lidského oka. Stačí texturu  vhodně zúžit
     na jednom jejím konci a oko vesele vyšle  informaci právě  před námi
     je krásná šikmá zeď. Každá zeď má tři základní parametry .

       Těmito parametry jsou výška delší, kradší strany a šířka zobrazené
     textury. Pro podlahy je vše naopak, tj. šířka užší a širšejší strany
     a výška  textury. Potom  postupně programově  projíždíme  konstantní
     hodnoty a testujeme kolik pixelů zobrazit a kam je vlastně šoupnout.

       Všeobecně platí tento vztah:

       For X := 1 To Delka_puvodni_textury Do
           For Y := 1 To Vyska_puvodni_textury Do
               Begin
                    If ( ( X Mod ( Delka_puvodni_textury Div
                    Delka_nove_textury ) ) = 0 ) And
                    ( ( Y * ( Delsi_vyska_nove_textury -
                    Kratsi_vyska_nove_textury - 1 Div
                    ( Vyska_puvodni_textury Div
                    Kratsi_vyska_nove_textury ) ) Mod
                    Vyska_puvodni_textury ) = 0 )
                         Then
                             PP ( XN , YN , Puvodni_textura[X,Y] ) ;
               End ;

       Promiňte, že jsem tak línej, ale XN a YN jsou stejná čísla jako ta
     co jsou v podmínce a proto  jsem je uvedl jen  jednou. Jediný rozdíl
     je, že jedničku ve výrazu .. - 1 DIv ( .. nahradíte čítačem Y.

      Výsledkem takovéhoto snažení může být právě takovýto obrázek. 

     Toto je tedy stručně popsaný způsob vykreslování textur do dungeonů.
     Posledním detailem je ztmavování a zesvětlování se textur do hloubky
     bludiště. Zde  však stačí  mít  koeficient  světlosti, který  nabývá
     hodnot od 0 do 1 podle vzdálenosti od krajů ke středu  tunelu. Pokud
     jenotlivé složky palety každeho pixelu vynásobíte tímto koeficientem
     dostaví se opět efekt zmatení lidského oka a člověk opět vnímá obraz
     jako vzdalující se tunel.

       Doufám, že jsem vám ve vašem programátorské  pachtění alespoň málo
     pomohl a všichni programujte dungeon ...........
              ............
                  ..............
                       .............TEĎ

                                                Ahoj příště
                                                               Marky

     ReDox - Bacha ! To stínování,  jak  ho  Marky  popsal  není zas tak
             jednoduché. Víceméně je  to blbost, protože  máte pouze 256
             barev a nemůžete si dovolit plejtvat na ňákejch stínovacích
             blbostech. Většina známých dungeonů má jednotlivé části zdí
             nakresleny  natvrdo.  Tzn., že  malíř kreslí jak přímé, tak
             šikmé zdi a případně i jejich vzdálenější verze. Vše vypadá
             mnohem lépe, než kdyby se to všechno počítalo.


            výheň