Tutaj znajduje się kod plugina do drupala, który będzie ułatwiał tworzenie gier typu RPG. Esencją pluginu jest dodanie stanu przy przechodzeniu między stronami.
- Stan życia
- Pieniądze
- Ekwipunek
- Dodanie nowych kategorii treści na przedmioty
- Dodanie nowego typu treści - pomieszczenia
- Pomieszczenie powinno mieć: tytuł, opis i możliwość definiowania dowolnej ilości linków do innych pomieszczeń
- Na link do innego pomieszczenia składa się: pomieszczenie do którego prowadzi (być może tego samego), wymagane przedmioty (bez nich link się nie pokaże), akcje do wykonania na ekwipunku, życiu, kasie (dodanie, zabranie, sprawdzenie obecności), akcje specjalne np. przekierowanie wykonywane gdy postać umrze, reset stanu postaci
- Powinien się wyświetlać stan życia i pieniędzy
- Być może także przedmiotów (powinno być możliwe tworzenie niewidocznych przedmiotów na potrzeby sterowania fabułą)
- Wejście na stronę główną mogłoby pokazywać menu z linkiem do nowej gry i odtworzenia poprzedniej sesji
- Technologia przygotowania serwisu - Drupal
- Nie planujemy na razie wykorzystania żadnych dodatkowych narzędzi.
- Lista ról użytkowników: gracz, administrator
- Opis funkcjonalności:
- Przechowywanie w sesji stanu ekwipunku, życia i pieniędzy. Ekwipunek byłby listą identyfikatorów.
- W pokojach wyświetlany byłby stan ekwipunku (z pominięciem niewidzialnych przedmiotów), życia i pieniędzy
- Dodawanie i edycja pomieszczeń i przedmiotów powinna być możliwa z panelu administratora
- Na pokój składałby się tekst wyjaśniający fabułę i zestaw linków prezentujących możliwą akcję do podjęcia. Link pozwala na jednoczesną: zmianę pokoju, edycję stanu życia, pieniędzy i ekwipunku. Link może być nieaktywny jeśli w ekwipunku brakuje pewnych przedmiotów, w takim przypadku może nie być wyświetlany aby nie zdradzać dalszej fabuły.
- Lista dodatkowych modułów/wtyczek:
- Entity Reference
- Struktura danych serwisu, czyli typy zawartości i pola
- stan - informacja o stanie w jakim znajduje się użytkownik: aktualny pokój, stan ekwipunku, życie, rezerwa walutowa w postaci kredytów elektronicznej kryptowaluty (kryptokredytów);
- akcja - możliwa do wykonania ze spełnionymi wymaganiami, powoduje efekty;
- wymaganie - coś potrzebne do wykonania akcji - posiadanie lub brak danego stanu, może być złożone;
- efekt - dodanie / usunięcie / zmiana danego stanu sesji.
- Tabelka stanów jest połączona z użytkownikami relacją wiele-do-wielu, a elementy są przypisane do jednej z kategorii takich jak: miejsce przebywania, stan w rozmowie z NPC, posiadanie danego przedmiotu itp.. Na podstawie stanów, jakie posiada dany użytkownik renderowana jest strona specjalnie dla niego utworzona. W ten sposób nie można przejść do innego pokoju/wygrać gry wpisując do przeglądarki odpowiedni URL.
- Struktura menu serwisu:
- Link do strony głównej
- Wstępny układ elementów serwisu jako szkic - proszę ograniczyć się tylko do kluczowych podstron
- Strona główna, żądająca logowania się i pozwalalająca na rozpoczęcie nowej gry i przejście do pokoju zapisanego w stanie
- Pokoje
- Strona z rejestracją
- Harmonogram prac uwzględniający termin oddania w sesji poprawkowej (przypominam, że sesja poprawkowa to pierwszy termin)
- Do połowy stycznia: schemat bazy danych, widoki pokojów
- Do sesji - fabuła i poprawki, zmiany stanów
- Sklonuj zawartość repozytorium do katalogu
$drupal/sites/all/modules/, gdzie$drupaloznacza ścieżkę do instancji drupala - Zmień nazwę sklonowanego katalogu z
drupal-rpgnadrupal_rpg - Aktywuj plugin
Drupal RPGw ustawieniach