DREAM (ang.: sen, marzenie senne), to proste środowisko do pisania tekstowych gier przygodowych.
Tekstowa gra przygodowa, to coś w rodzaju interaktywnej książki. Informacje przedstawiane są tylko tekstem, a gracz wydaje polecenia pisząc proste zdania rozkazujące lub skróty – pojedyncze słowa symbolizujące, na przykład kierunki poruszania. W czasach w których powstawały pierwsze takie gry, długość tekstów, zajmująca przecież pamięć, musiała być bardzo ograniczona. Obecne komputery maja pamięć w zasadzie nieograniczoną, jeśli porównamy ją z ilością tekstu przeciętnej powieści mającej około 500 kilobajtów.
W odróżnieniu jednak od powieści, w grze przygodowej tekst pojawia się jako odpowiedź na decyzję gracza. Na to zrobił. Czego użył. Tu autor jest w trudniejszej sytuacji: musi przewidzieć reakcje na wiele sytuacji. Musi stworzyć nie tylko liniowy obraz świata, ale stworzyć świat z jego regułami. Regułami które mówią o konsekwencjach. I które mogą być różne w zależności od sytuacji oraz od historii. Świata w którym to gracz na bieżąco buduje główny wątek.
Jak dla mnie – brzmi to całkiem jak programowanie. A jeśli tak – to czemu nie uczyć programowania właśnie na grach przygodowych, kształcąc nie tylko znajomość języka i reguł tworzenia algorytmów, ale przede wszystkim kreatywność, myślenie wielotorowe, pracę w systemie starowanym zdarzeniami i delegowania – prawdziwej istoty polimorfizmu.
Ponieważ od dłuższego czasu, zastanawiałem się jak uczyć programowania, przyszło mi do głowy, że może to być całkiem dobry pomysł. I tak powstał „dream” – silnik gier przygodowych. Łatwych do tworzenia, z prostym językiem programowania.
Poniżej znajdują się linki umożliwiające ściągnięcie poszczególnych wersji.
Najnowsza wersja 0.03 zawiera w pełni funkcjonalny engine pozwalajacy na budowę gier, zestaw przykladow oraz podręcznik pozwalający na rozpoczęcie programowania. W planach jest także prezentacja przygotowywana do prowadzenia wykładów - zarówno dla kursantów jak i dla przyszłych prowadzących zajęcia.
Pliki zawierają kod, przykłady oraz dokumentację. Poszczególne pliki to spakowane wersje. Do pracy wystarczy ostatnia wersja.