
   _________                 ___                       ___
  /         \               |   |                     |   |
 /    ___    \              |   |                     |   |
 |   /   \    \             |   |                     |   |
 |   |   |____|             |   |                     |   |         
 |   |                      |   |    /\               |   |         
 |   \______                |   |   /  \              |   |         
 \          \    ________   |   |  /    |  ________   |   |______         __         ____  _____
  \______    \  /        \  |    \/    /  /        \  |          \       /  \       |    |/     \ 
         \   | /    __    \ |         /  /    __    \ |    ___    |     /    \      |            \
  ___    |   | |   |  |   | |   \    /   |   |  |   | |   |   |   |    /  /\  \     |     ____    |
 |   |   |   | |   |  |   | |   |\   \   |   |  |   | |   |   |   |   /   --   \    |    /    \   |
 \   \__/    / |   |__|   | |   | \   \  |   |__|   | |   |___|   |  /   ____   \   |    |    |   |
  \         /  \          / |   |  \   \ \          / |           / /   /    \   \  |    |    |   |
   \_______/    \________/  |___|   \___\ \________/  \__________/ /___/      \___\ |____|    |___|
					    			A  R  M  A  G  E  D  D  O  N
                                                                                          verze 1.1
						
                                                                           created by Forever games
                                                                             www.fgames.gamecode.cz   
===================================================================================================
=== = ==== === = === === = === === = === === = === === = === === = === === = === === = === === = ==
==== ==== = === === = === === = === === = === === = === === = === === = === === = === === = === ===
=== = ==== === = === === = === === = === === = === === = === === = === === = === === = === === = ==
===================================================================================================
 
Japonská logická hra, kterou jistě všichni znáte. Cílem hry je dotlačit všechny bedničky na vyznačená
políčka. Můžete však tlačit pouze jednu a pouze dopředu. To znamená, že s bedničkou v rohu již
nepohnete a od stěny jí také neodtlačíte. Na první pohled jednoduchá hra, kterou každý pochopí
za deset minut, je ve skutečnosti pekelně těžký hlavolam.

1) Základní informace o hře
2) Něco k historii hry Sokoban
3) Autoři jednotlivých levelů
4) Jak nainstalovat hru
5) Systémové nároky
6) Ovládání hry
7) Objevila se ve hře chyba?
8) Betatesting
9) Typy zvuků
10) Vložení vlastní hudby
11) Kontakt
12) Historie verzí

===================================================================================================
===================================================================================================

1) Základní informace o hře 
===========================

Jak jsem již řekl, pravidla hry jsou velice jednoduchá a každý je dokáže pochopit do 10-ti minut.
Hra se skládá z jednotlivých levelů o maximální velikosti 20x17 políček. Některá políčka jsou
vyplněna zdí, jiná jsou volná. Podlaha některých z nich zeleně svítí, takto jsou označena zásuvná
políčka. Dále je v levelu rozmístěno stejně beden jako zásuvných políček. Pokud je bedna natlačena
na zásuvném políčku, zeleně se rozzáří. A vaším cílem je dostrkat všechny bedničky na zásuvná políčka.
Skladník však může tlačit pouze jednu bednu najednou a vždy pouze dopředu. Hra je vytvořena přes
DirectX (konkrétně DirectDraw) a funguje v rozlišení 800x600. Hra obsahuje 250 levelů rozdělených
do 5 kampaní s příznačnými názvy Lehká, Střední, Těžká, Závod s časem a Nehýbej se! (levely s
pohybovými omezeními). Level je vykreslován pomocí izometrie. Hra obsahuje také komplexní level
editor a rozsáhlý systém menu skládající se bez mála z 30 obrazovek. Součástí hry je kvalitní hudební
doprovod ve formátu ogg vorbis. Grafika hry je situována do starého skladiště, jehož stěny jsou místy
prorezlé a některé elektronické prvky nefungují. A v tomto prostředí musí pracovat skladník, jehož
jedinou prací je přerovnávat bedny s radioaktivním odpadem. Prostředí je doplněno řadou pěkných
grafických prvků. V pravém dolním rohu se točí prorezlý starý větrák, poblikávají LED diody signalizující
směr skladníkova pohybu. Jedna z nich nefunguje, z díry vylétávají pouze jiskry. Avšak tyto efekty
samozřejmě můžou rušit, a proto je možné je kdykoliv vypnout. 

2) Něco k historii hry Sokoban
==============================

Historie této hry je velice zajímavá. První verze tohoto neobyčejně komplikovaného hlavolamu pochází
z roku 1982. Vytvořil ho Hiroyuki Imabayashi, který údajně publikoval první ideu herního konceptu již
v roce 1980. Ve městě Takarazuka v Japonsku vypsala jedna skladovací společnost soutěž o počítačovou
hru na téma skladování. A Sokoban tuto soutěž vyhrál. Díky geniálnímu návrhu, jednoduchým pravidlům
a 50 legendárním, vcelku dosti obtížným levelům dokázala předhonit i jinak daleko oblíbenější herní
žánry jako akční nebo dobrodružné. Právě těchto 50 originálních levelů dokázalo proslavit hru po celém
světě a v mém remaku Sokobana je naleznete samozřejmě také. Jak jsem již řekl, samotnou myšlenku
hlavolamu objevil však Hiroyuki Imabayashi již v roce 1980 a publikoval ji právě v této soutěži.
Sokoban se volně překládá jako skladník nebo skladní inženýr. Přesto znáte spíše první verzi
publikovanou mimo Japonsko společností Spectrum Holobyte z roku 1984 (světle modrá podlaha a
fialové cihlové zdi). Sokoban je jednou z nejhranějších her v historii, existuje celá řada jeho
remaků snad na všechny platformy (od Windows přes Linux, Windows CE a mobilní telefony s Javou).
Na internetu jsou tisíce levelů, z nich některé jsou velice obtížné. Jiné jsou naopak určeny pro
děti, jsou podstatně jednodušší a mají jim pomoci rozvíjet své logické myšlení. Rád bych zde také
vyzdvihl práci některých designérů levelů, kteří ve volném čase vytváří obrovské databáze obsahující
stovky obtížných levelu na velmi malém prostoru mnohdy s jenom několika málo bednami, navzájem si
je vylepšují a snaží se najít nejkratší řešení. Mimochodem najít nejkratší řešení pomocí počítače
není vůbec jednoduché, je to takzvaný NP-úplný problém. To znamená, že v případě velikého levelu
s desítkami beden by se mohlo hledání protáhnout i na několik miliónů let :). Avšak toto dělá Sokobana
ještě zajímavějším, neboť k nalezení správné cesty nestačí pouze spustit program a chvilku počkat.
A věřte, že vám některé levely dají skutečně zabrat.

3) Autoři jednotlivých levelů
=============================

Jak již jsem řekl, hra obsahuje 250 levelů od několika autorů. Tímto bych jim rád poděkoval za
povolení použít jejich levely do mé hry. Musím jim vyjádřit svůj obdiv, kolik času hře a vypilovaní
svých levelů věnovali. A nyní již několik informací o jednotlivých autorech: 

Hiroyuki Imabayashi - legendární levely od tohoto geniálního autora Sokobana jsem prostě nemohl
	vynechat. Jejich obtížnost se pěkně stupňuje a jsou dobré, pokud se chcete naučit hrát Sokobana.
	Budou se vyskytovat v kampani Střední. 

František Pokorný - tento český autor má velice pěkné malé levely, které jsou však čas od času
	dosti komplikované. Budou proto určeny převážně pro kampaně Závod s časem a Nehýbej se! Na jeho
	stránce www.kantorek.webzdarma.cz najdete vedle kreslených vtipů Pavla Kantorka a pěkné sbírky
	Murphyho zákonů také slušnou hromádku levelů do Sokobana. Sesbíral totiž levely od jednotlivých
	levelů a velikost databáze přesahuje nyní již 3500, což je docela slušné, že ano? 

Evgeny Grigoriev alias GRIGoRusha - levely od tohoto tvůrce ruské národnosti patří k tomu
	nejobtížnějšímu, s čím se ve hře setkáte. Převážná většina z nich se bude tvořit kampaň Těžká.
	Jinak zde si můžete prohlédnout jeho vcelku pěkné stránky: www.grigr.narod.ru 

David W. Skinner - tento americký autor vytvořil rozsáhlé série zejména středně obtížných levelů.
	Některé z nich (zejména ze skupiny Microban - což znamená hodně malé levely) najdete v kampani Lehká.
	Seznam všech levelů si můžete prohlédnout zde: http://users.bentonrea.com/~sasquatch/sokoban/ 

Aymeric du Peloux - levely tohoto francouzského designera patří k těm nejlepším, nejhezčím
	a nejobtížnějším. Přesto jsou velmi malé a počet beden v nich nikdy nepřesáhne osm kusů. Jeho kolekce
	Minicosmos, Microcosmos, Nabokosmos a Picocosmos tvoří vedle levelu Františka Pokorného a několika
	mých kousků kampaně Závod s časem a Nehýbej se! Můžete si prohlédnout je stránky ve francouštině
	(důležité věci jsou též v angličině) a zahrát si některé levely online:
	http://membres.lycos.fr/nabokos/ 

A závěrem bych také rád řekl, že v Sokobanovi najdete i několik mých vcelku dost obtížných levelů.

4) Jak nainstalovat hru
=======================

Sokoban nepotřebuje žádný install. Stačí pouze rozbalit všechny soubory někam na pevný disk.
Kvůli správnému chodu hry nelze pouštět hru z CD nebo z disku, kde nemá uživatel oprávnění
zapisovat data. Pokud se vám při spuštění objeví hláška typu:

"Aplikace nemohla být spuštěna, protože součást XXXXXX.dll nelze najít. Potíže pravděpodobně
odstraníte opětovnou instalací aplikace",

zkontolujte nejprve, jestli to není jedna knihovna z tohoto seznamu:

Common.dll
MFC71.dll
MFCO42D.DLL
msvcr71.dll
MSVCRTD.DLL
ogg.dll
OggCodec.dll
vorbis.dll
Zip.dll

Pokud je, máte archív se hrou poškozený nebo nedotažený. Stáhněte si ho proto znovu z našich
webových stránek www.fgames.gamecode.cz. Pokud ne, pošlete nám prosím její jméno na mail
fgames@gamecode.cz a obratem vám ji zašleme.

5) Systémové nároky
===================

Minimální konfigurace je: 300 MHz, 16 MB RAM, DirectX 8 nebo vyšší
Doporučená konfigurace je: 500 MHz, 32 MB RAM, grafická karta

6) Ovládání hry
===============

hra:
->, v, <-, ^ (kurzorové šipky)     pohyb Sokobana
P                                  zapauzovat / odpauzovat hru
R                                  restartovat level
ESCAPE                             přepnout do herního menu (u testování levelu konec do editoru)

menu:
ENTER                              potvrdit volbu
ESCAPE                             stornovat volbu nebo se vrátit se na předchozí obrazovku

editor:
ALT								   zobrazit tabulku s klávesovými zkratkami

Jednotlivé klávesové zkratky pro všechny funkce naleznete v popisu funkce v hranatých závorkách.

Při práci s hůlkou lze oblasti přidávat (pokud držíte klávesu SHIFT) nebo odebírat (pokud držíte
klávesu ALT).

Pokud budete mít nějaké otázky k editoru nebo neporozumíte některé jeho funkci, napište nám na mail
fgames@gamecode.cz. Pokud vytvoříte nějaké levely a budete je chtít zveřejnit, můžete nám je poslat
a my to uděláme na našich stránkách.

7) Objevila se ve hře chyba?
============================

Přestože již další dobu probíhá betatesting, vždycky s může nějaká ta chybka objevit. Proto
pokud vám hra spadne nebo nebude pracovat korektně, pošlete nám na mail informaci o chybě
(kdy se to stalo, vaši konfiguraci, ...), případně zkuste vyzkoumat, jestli je tato chyba
pravidelná nebo se jedná pouze o mimořádnou událost.

Pokud se vám hru vůbec nepodařilo spustit, zkontrolujte, zda jste si stáhli všechny soubory:

v adresáři se hrou:
Common.dll
MFC71.dll
MFCO42D.DLL
msvcr71.dll
MSVCRTD.DLL
ogg.dll
OggCodec.dll
setup.exe
sokoban.exe
vorbis.dll
Zip.dll

v adresáři source:
czech.txt
dontmove.llb
easy.llb
english.txt
hard.llb
medium.llb
timerun.llb

v adresáři source\graphic:
button.bmp
cursor.bmp
fglogo.bmp
gametype.bmp
checkbox.bmp
icons.bmp
imagebutton.bmp
infobox.bmp
lights.bmp
listbox.bmp
loading.bmp
menuhelp.bmp
menutitle.bmp
okraje.bmp
picturebutton.bmp
pozadi.bmp
preview.bmp
sblogo.bmp
sokoban.bmp
stats.bmp
table1.bmp
table2.bmp
table3.bmp
table4.bmp
table5.bmp
table6.bmp
teren.bmp
textbox.bmp
ventilator.bmp

v adresáři source\music:
beep.ogg
click.ogg
correct.ogg
credits.ogg
delete.ogg
error.ogg
failed.ogg
fgames.ogg
music.ogg
sblogo.ogg
sokoban.ogg
spark01.ogg
spark02.ogg
spark03.ogg
start.ogg
step1.ogg
step2.ogg
step3.ogg
up.ogg
win.ogg
write.ogg

v adresáři source\fonts:
CourierB.ddf
CourierG.ddf
CourierMenu.ddf
CourierS.ddf
VerdanaB.ddf
VerdanaS.ddf
VerdanaSM.ddf
   
Pokud některý z těchto souborů chybí, stáhněte si ze stránky www.fgames.gamecode.cz zabalený soubor
se hrou znovu. Pokud ani toto nepomůže, kontaktujte autory na mail fgames@gamecode.cz. Podobně,
pokud jsou všechny soubory na svém místě.

8) Betatesting
==============

Tým Forever games shání další lidi pro betatesting tohoto i budoucích projektů. Máte dost volného
času a rádi byste se podíleli na tvorbě her, přestože nejste ani programátor, ani grafik. Pak se
můžete stát naším betatestérem. Budete tak první, kdo spatří naše hry a vaše jméno bude uvedeno v titulkách.
Pokud máte zájem o betatesting, napiště nám na adresu fgames@gamecode.cz.

9) Typy zvuků
=============

V Sokobanovi se možno načíst zvuky dvěma způsoby. Streamové zvuky se do paměti nenačtou celé, při přehrávání se
postupně po malých částech z disku. Je trochu pomalejší, avšak načítání hry je rychlejší a nezabírá velké místo
v paměti. Streamové zvuky se používají pro hudbu, případně dialogy. Druhou možností je zvuky dekomprimovat a
uložit přímo do paměti. Načítání těchto zvuku je výrazně pomalejší a jeden takový soubor si alokuje značnou
paměť, avšak jejich přehrávání je trochu rychlejší a lze je přehrávat vícekrát najednou.

U každého zvuku si můžete v souboru setup.exe nastavit typ přehrávání. Každý zvuk je možné také vypnout. Toto
nastavení je však pouze pro pokročilé uživatele.

10) Vložení vlastní hudby
=========================

Do hry Sokoban: Armageddon je možné vložit vlastní hudbu. Vytvořte si soubor s hudbou v libovolném formátu (MP3, OGG, WMA, ...),
poté tento soubor zkopírujte do adresáře source/music pod názvem music.ogg (nezávisle na typu souboru). Při dalším spuštění
již bude hrát vaše vlastní hudba.

11) Kontakt
===========

URL: www.fgames.gamecode.cz
Email: fgames@gamecode.cz

Další kontakty (ICQ, ...) naleznete na našich stránkách v sekci O týmu.

12) Historie verzí
==================

ZMĚNY VE VERZI 1.1
------------------

ZMĚNY:
	- Byla změněna knihovna pro práci se zvukem. Byla použita komerční knihovna FMOD (http://fmod.org).
	- Načítání bylo vloženo do vlákna, bylo upraveno jeho vykreslování.
	- Bylo rozšířeno nastavení hry, nyní je možné jednotlivé zvuky streamovat, uložit do paměti, nebo
	  nenačítat a používát vůbec. Pokud se chcete dozvědět, jaký je rozdíl mezi streamovými zvuky a
	  zvuky v paměti, viz výše (část 9)

CHYBY:
	- Byla odstraněna kritická chyba, která způsobovala padání hry! (informoval jsem o ní před časem na stránkách)
	- Bylo odstraněno cvákání zvuku v kreditech.

ZMĚNY VE VERZI 1.0b
-------------------

CHYBY:
	- Byla odstraněna chyba, která způsobovala nezobrazování náhledů a informací o levelu.
	- Byl vyřešen problém s tabulkami nejlepších hráčů. Docházelo ke špatnému načítání, což
	  v důsledku promíchalo jednotlivé tabulky.


ZMĚNY VE VERZI 1.0
------------------

Je jich ohromná spousta, tohle jsou alespoň některé z nich.

ZMĚNY:
	- Byla přidána anglická lokalizace, byl kompletně změněn systém hry
	- Došlo k razantní změně grafiky, byla přidána isometrie
	- Byly změněny některé zvuky
	- Bylo změněno logo společnosti Forever games a logo hry Sokoban
	- Byl změněn název hry na Sokoban: Armageddon
	- Byly přidány některé grafické prvky doplňující herní okraje
	- Bylo změneno nastavení hry
	- Bylo vytvořeno externí nastavení v souboru setup.exe
	- Levely ve hře byli přeorganizovány do 5 kampaní, každá sestává z 50 levelů
	- Byl opraven a rozšířen level editor
	- Byla změněna herní hudba
	- Titulky ve hře byli přeprogramovány a rozšířeny
	- Byly odstraněni animace při čekání a rotace Sokobana
	- Pohyb Sokobana byl výrazně zrychlen
	- U časově omezených levelů se posledních pět sekund odpočítává cinknutím
	
CHYBY:
	- Byla opravena chyba s nepřístupností tlačítek u posouvání levelu
	- Mřížka v editoru se nezobrazovala (vůbec). Tato chyba byla odstraněna.
	- Bylo odstraněno několik chyb s přístupností tlačítek v editoru knihoven a
	  ve vkládání levelů do knihovny v level editoru.
	- Byla opravena zákeřná chyba, která způsobovala pád hry při opakovaném otvírání
	  téže knihovny.
	- Byla odstraněna chyba, která umožňovala za určitých podmínek vytlačit bednu
	  pravým okrajem pryč z herní plochy.
	- Byla odstraněna kritická chyba, která způsobovala přetečení paměti a pád hry.
	- Byla odstraněna chyba, která zanechávala v paměti všechna grafická data.
	- Bylo přidáno vypisování neznámých chyb do souboru error.txt.
	- Byla opravena chyba při načítání levelu, která způsobovala pád hry. Nastala, pokud
	  uživatel pokusil za určitých podmínek zavřít otevřenou knihovnu.
	
ZMĚNY VE VERZI BETA 2
---------------------

ZMĚNY:
	- Byl zvětšen počet levelů ve všech herních módech.
	- V editoru byla přidána šedá mřížka a tlačítko pro její zobrazení (nachází se pod tlačítky
	  pro undo a redo).
	- Byla kompletně změněn grafický kabát hry.
	- Byl výrazně zrychlen pohyb všech stránek a tabulek menu.
	
CHYBY:
	- Byla opravena chyba, kdy po pozastavení hraní vlastní mapy nebylo možné ve hře pokračovat (zmizelo
	  tlačítko Návrat ke hře)
	- Pokud jste v editoru levelů při vkládání levelů nebo v editoru knihoven vymazali při výběru všechny
	  knihovny, mohli jste stisknout tlačítko Smazat knihovnu dál, přestože tam již žádná nezbyla. Jeho
	  stisk způsobil pád programu. Tato chyba byla opravena.
	- Byla vylepšena pauza hry. Sokoban se nyní okamžitě zastaví a po odpauzování se opět rozhýbe.
	- Rychlost spouštění a vytahování pauzovací roletky nyní závisí na nastavení v menu.
	- Byl opraven chybný popisek v nastavení - rychlost menu nelze již přepnout na 12x rychlejší, ale 
	  pouze na 6x rychlejší. Rychlost obrazovek se však nezměnila.
	- Pokud je hra nyní odpauzována, je zvětšen čas o 1 sekundu. To je jakýsi postih za pauzu a znemožňuje
	  využívání pauzy k rychlejšímu dohrátí kola.
	- Byla opravena chyba, která umožňovala použít hotkeye editoru, když byla zobrazena tabulku, zda chcete
	  uložit změny provedené v levelu.
	- Byl předělán a zrychlen vlnový algoritmus v editoru, který se používá při označování hůlkou a při testu
	  přístupnosti jednotlivých políček a jejich následného rozdělení na zelená, žlutá a červená.
	- Bylo opraveno několik drobných chybek v enginu hry, kvůli kterým docházelo ke ztrátám paměti a mohli dokonce
	  vést k pádu programu (zaostřil jsem si na ně, po tom, co mě to několikrát po sobě spadlo těsně před dohrátím
	  levelu :S).
	- Bylo trochu pozměněny některé obrazovky menu, hlavně přemístění tlačítek.
	- Byl opraven chybející popis v menu nastavení u tlačítka Výchozí nastavení.
	- Byla opravena chyba, která při opakovaném pozastavování a pouštění hry pomocí klávesy P způsobila, že zvuk
	  rolování se zacyklil.
	- V editoru levelů byla odstraněna chyba, při které zůstával při ukládání levelu napsaný text i po zavření okna.