luźne pomysły:
- system zbierania i analizowania review od testerów, jakieś zbieranie danych o zmianach w mechanice
- zintegrowane z narzędziami które są wygodne, z ankietami na stronach www
(mało fajne ale mogłoby być bardzo przydatne w praktyce)
- multiplayer, jakiś sposób na testowanie gry po sieci, elektroniczne prototypy
(jakby zamiast czytać instrukcję wystarczyło wejść na forum i poklikać w elektronicznym prototypie online dużo łatwiej byłoby znaleźć testerów)
i słowotok luźnych przemyśleń studenta informatyki apropo tematu, może coś będzie wartościowe:
// hmm przydałby sie tag spoiler żeby to ukrywać domyślnie, bo dużo i pewnie dla większości czytelników mało ciekawe
z ciekawszą algorytmicznie stroną widzę pewne problemy, mechaniki gier są naprawdę różnorodne i nie sądzę że uda się obejść bez integracji z jakimś językiem skryptowym, pewnie parę prostych mechanik typu worker placement czy coś da się wklikać, ale opis całej mechaniki z mnóstwem różnych zależnosci... nie sądzę
klepałem kiedyś w celach edukacyjnych puerto rico w C (niekompletne, barkujekawałka mechaniki i GUI jest nieużwywalne)
plik który nazwałem gameLogic odpowiedzialny za obsługę różnych eventów ma 600 linii
nagłówek do niego:
http://codepad.org/9n8BJ8YM
myślę że przy użyciu gotowych komponentów reprezentujących stałe zachowania dałoby się go znacznie zmniejszyć ale jest sporo zachowań których wklikiwanie byłoby traumą
nawet przy głupim kliknięciu wybuduj budynek jest milion rzeczy które trzeba sprawdzić
przykładowy kod:
http://codepad.org/aEfp7OcY
można oczywiście budować algorytmy za pomocą wklikiwanych bloków z fragmentami instrukcji... ale jakoś nie wydaje mi się żeby takie podejście było dużo lepsze dla kogokolwiek, przy kliku prostych rzeczach czasami jest ok, ale sporo gier wymaga dość złożonych testów i wklikiwanie tego byłoby masochizmem
dla logicznych będzie pewnie o epsilon lepiej, bo mechaniki są prostsze, ale choćby taka seria Gipf pokazuje jak bardzo mogą być różnorodne mimo że niby podobne, w Yinsh pionki zostawiają za sobą inne pionki, w Tzaar budują wieże, w Punkt stają jeden na drugim z dość nieoczywistymi regułami kiedy można wejść na drugi poziom, w zertz jest względnie nalprościej bo pionki tylko znikają i są dokładane na planszę, czyli nic niezwykłego nie robią, ale nie są niczyją własnością dopuki się ich nie zbije, co jest mocno wyjątkowe i może łatwo nie wpasować się do systemu "ruszam się swoimi pionkami", sam Gipf najprostszy, ale wymaga detekcji linii, Dvonn znowu wieże i dochodzi szukanie połączenia do życiodajnych pierścieni, banalne algorytmicznie ale projektant nie powinien sam pisać DFSa, a Tamsk... klepsydry w grze logicznej... i co jeszcze... a to tylko jedna seria
przejrzałbym różne gry np z
http://boardspace.net/ i spróbował wyodrębnić jakieś wspólne mechaniki, ale bez indywidualnego podejścia się nie obejdzie
myślę że fajny byłby jakiś mini język obiektowy, tak żeby dało się łatwo korzystać z właściwości obiektów z względnie małą wiedzą programistyczną, jednocześnie umożliwić programistom pisanie nowych obiektów i definiowanie dla nich zachowań
tak żeby bardziej doświadczony programistycznie użytkownik mógł zrobić cokolwiek, a mniej doświadczony mógł budować z gotowych klocków; z biblioteką klocków online i jakimś forum na którym moznaby poprosic o naklepanie bądż pomoc przy jakimś mniej typowym zachowaniu to mogłoby działać
(ale może przeceniam umiejętność przeciętnego użytkownika do programowania, obiektowe wydaje mi się najbardziej intuicyjnym paradygmatem)
kolejny duuży problem to prezentacja iterfaceu, przy bardziej złożonej grze przydałby się specjalista od tego
![Razz :P](./images/smilies/icon_razz.gif)
, a najgorsze ze to się nawet nie przekłada na planszową grę która tego typu sprawy powinna mieć inaczej rozwiązane, jest mnóstwo rzeczy które da sie wyrazić na komputerze a nie w fizycznym obiekcie i odwrotnie
przy grach logicznych może wystarczy jakiś prosty obiekt geometryczny - jakiś kształt, kolor, liczba albo dwie wewnątrz
ale już np Punkt... hmm nie mam pomysłu
interface na boardspace ma specjalny przycisk do rozdzielania warstw pionków bo nawet projektując pod jedna grę bez tego się nie obędzie, a czytelność ma kluczowe znaczenie dla rozgrywki
Science is a way of trying not to fool yourself. The first principle is that you must not fool yourself, and you are the easiest person to fool.
R.Feynman