System umożliwiający wsparcie projektowania gier logicznych

Informacje o planszówkach on-line, offline itp.
Awatar użytkownika
sowacz
Posty: 772
Rejestracja: 04 lut 2008, 11:08
Lokalizacja: Rumia
Been thanked: 26 times

System umożliwiający wsparcie projektowania gier logicznych

Post autor: sowacz »

Pełna nazwa to: System umożliwiający wsparcie projektowania gier logicznych i planszowych

Nigdy nie myślałem, że na forum gier planszowych będę zakładał temat o mojej pracy magisterskiej, ale mam to szczęście, że temat przypasował pod moje hobby :) Temat na pracę jest naprawdę rozległy, więc promotor ocenił, że powinny go robić dwie osoby. Mam nadzieję, że uda mi się jeszcze jedną osobę znaleźć.
Od teraz mam jakoś ponad rok czasu na tę pracę, więc na razie wstępnie się orientuję w temacie. I czekam też na wasze pomysły i propozycje na to, co byście chcieli w takim systemie znaleźć. Wszystkie sugestie mile widziane jako, że nie mam jeszcze jasno sprecyzowanych funkcjonalności tego systemu. Co jakiś czas będę odświeżał ten wątek przez następny rok :) Póki co jestem ciekaw, waszych pomysłów :)
Awatar użytkownika
MichalStajszczak
Posty: 9477
Rejestracja: 31 sty 2005, 19:42
Lokalizacja: Warszawa
Has thanked: 511 times
Been thanked: 1449 times
Kontakt:

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: MichalStajszczak »

Z jakiej dziedziny jest ta praca?
Awatar użytkownika
sowacz
Posty: 772
Rejestracja: 04 lut 2008, 11:08
Lokalizacja: Rumia
Been thanked: 26 times

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: sowacz »

Jaka to dziedzina informatyki, to w zasadzie nie wiem :)
Póki co mam taki pomysł na to, żeby to był program, z dużą ilością elementów drag and drop, z możliwością definiowania swojej planszy i przypisywania mechaniki do poszczególnych elementów. Takie narzędzie dla projektantów gier planszowych.
Awatar użytkownika
zephyr
Posty: 2373
Rejestracja: 27 paź 2007, 00:12
Lokalizacja: Warszawa
Been thanked: 1 time

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: zephyr »

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 :P, 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
Liarus
Posty: 398
Rejestracja: 09 maja 2009, 19:49
Lokalizacja: Pszczyna
Has thanked: 10 times
Been thanked: 14 times

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: Liarus »

A w czym zamierzasz to pisać i przy użyciu jakich technologii??
Awatar użytkownika
sowacz
Posty: 772
Rejestracja: 04 lut 2008, 11:08
Lokalizacja: Rumia
Been thanked: 26 times

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: sowacz »

C# i .NET
Awatar użytkownika
Inermis
Posty: 735
Rejestracja: 04 maja 2008, 12:17
Lokalizacja: Warszawa

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: Inermis »

@zephyr, nieźle popłynąłeś :D Dużo fajnych rzeczy ale wątpie żeby ktomuś się to wszystko chciało implementować dla pracy dyplomowej. Zakresem pomysłów wyszedłeś daleko w przód: do fazy testowania gry, a później także samego grania.
Temat pracy to "System umożliwiający wsparcie projektowania gier logicznych i planszowych". Myśle że napisanie sensownej aplikacji do samego etapu projektowania to nie lada wyzwanie, i wystarczająca ilość pracy :)

Co ja bym widział od takiego narzędzia:
- możliwość wczytania prototypów planszy w formie plików graficznych (modelowanie graficzne planszy jest moim zdaniem poza zakresem pracy - od tego są graficy i programy graficzne)
- możliwość wczytywania podstawach siatek pól planszy - HEX i kwadraty
- możliwość tworzenia własnych siatek pól planszy
- możliwość tworzenia wielu płaszczyzn planszy (np. Agricola ma główne plansze + plansze graczy)
- obsługa żetonów różnych typów
- definiowanie mechaniki i zależności między wszelkimi obiektami w grze

To tak na szybko.. Z punktem ostatnim - czyli mechaniką, zephyr ma rację... albo zakładasz że będzie prosta i program ma ograniczenia.. przez co pewnie nie będzie wykorzystywany w praktyce.. Albo wchodzisz w jakiś język skryptowy - LUA albo coś.
Rozwiązanie pośrednie - tworzysz własny model generycznej mechaniki i GUI do jego wykikiwania.. może być - albo proste i bezużyteczne, albo skomplikowane i się narobisz przy tym strasznie ;)

Moje 3 grosze.. wracam do roboty.
Inermis - Blog netrunner.znadplanszy.pl
Chętnie zagram: Android: Netrunner LCG, Mage Wars, Battlestar Galactica
Chętnie poznam: Rex
Kolekcja | Want to Trade
Awatar użytkownika
zephyr
Posty: 2373
Rejestracja: 27 paź 2007, 00:12
Lokalizacja: Warszawa
Been thanked: 1 time

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: zephyr »

projektowanie zrozumiałem jako proces od pomysłu do wydania

a przy planszówkach będą to głównie testy, testy i jeszcze raz testy prototypów

problem jaki widzę to fakt że żeby taki system miał sens musi coś robić lepiej niż wersja tekturowa

np lepiej kataloguje dane (nietrudne, kompy robią to dobrze... ale nudne i trzeba wymyślić wygodny sposób wprowadzania danych)

jeśli chodzi o jakieś obiekty w stylu planszy i żetonów dość fundamentalnym pytaniem jest "po co", jaki bonus dla projektanta daje wrzucenie tego wszystkiego do programu

jak rozumiem nie ma być to wsparcie dla aspektu graficznego, z Photoshopem cinżko konkurować (ale może jakiś soft do szybkiego generowania kart/żetonów itp na potrzeby prototypów by się przydawał... choć też może być ciężko przebić worda )

na pewno plusem byłaby wersja interaktywna, ale koszt stworzenia czegoś takiego jest duży... być może za duży

może jakiś interface w stylu ZunTzu z możliwością zbierania logów... to byłoby ciekawe

i myślę że warto spytać się autorów gier co jest najbardziej upierdliwe przy tworzeniu gry i czy nie dałoby się napisać prostego softu który by to automatzował
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
Liarus
Posty: 398
Rejestracja: 09 maja 2009, 19:49
Lokalizacja: Pszczyna
Has thanked: 10 times
Been thanked: 14 times

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: Liarus »

Dokładnie, też mi się coś widzi a'la ZunTzu. Poza tym chyba on jest pisany w .Necie z wykorzystaniem directX oraz baz w XML, i taki szkielet by chyba tez pod ten testowy program pasował, bo baz na sql'u nie ma większego sensu wprowadzać, biorąc pod uwagę, że będzie to w .Necie, który ma LinQ do składania XML'a. Poza tym można zrobić to od razu online. Poczytaj o technologii Silverlight. Jest też microsoftu i ślicznie śmiga z C# oraz XML'ami (ostatnio pisaem w takiej kombinacji program), bazując głównie na zdarzeniach i delegatach (przy grafice budowanej a'la xHTML. Aczkolwiek są fajne narzędzia do rysowania GUI bez bawienia się w pisanie go, lecz nie ma za darmo), czyli tym, czym C# miał się wyrózniać.
Awatar użytkownika
MichalStajszczak
Posty: 9477
Rejestracja: 31 sty 2005, 19:42
Lokalizacja: Warszawa
Has thanked: 511 times
Been thanked: 1449 times
Kontakt:

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: MichalStajszczak »

Zanim dojdziesz do szczegółów (o których piszą zephyr i Liarus), musisz się zająć identyfikacją problemu. To znaczy określić, jakie potrzeby mogą mieć ewentualni użytkownicy tego systemu. Jednak przede wszystkim powinieneś poprawić tytuł. Nie bardzo rozumiem co to znaczy "gier planszowych i logicznych". Zresztą przeczytaj wątek o grach logicznych, w którym niedawno dotyczyła się ostra dyskusja na temat tego, jaką grę można uznać za logiczną
Awatar użytkownika
sowacz
Posty: 772
Rejestracja: 04 lut 2008, 11:08
Lokalizacja: Rumia
Been thanked: 26 times

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: sowacz »

Tematu chyba raczej zmienić nie mogę, bo to jest jeden z zaproponowanych przez promotora i wcześniej zatwierdzony.
Dzięki wielkie za dotychczasowe pomysły, jestem świadom tego, że to jest duży projekt, ale mam nadzieję, że się uda coś sensownego zrobić.
Na pewno nie da rady, żeby ten program potrafił od podstaw takiego Starcrafta zbudować, ale już np. Mr. Jacka to myślę, że będzie potrafił.
Chciałbym, żeby to było takie GUI z dużą ilością elementów drag and drop, coś jak w Visual Studio. Wczytywanie plansz i ich definiowanie też na pewno się w tym znajdzie. No i ten język skryptowy do definiowania logiki gry trzeba by też wsadzić do tego.
Awatar użytkownika
zephyr
Posty: 2373
Rejestracja: 27 paź 2007, 00:12
Lokalizacja: Warszawa
Been thanked: 1 time

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: zephyr »

Warto by się też zastanowić na ile przydatność dla projektanta jest istotną częścią projektu.

Jeśli ma się przydawać to samo wklikanie mechaniki niekoniecznie coś daje... mam interaktywny prototyp, ale jeśli jest on tylko dla mnie to właśnie straciłem duuuużo czasu na wprowadzenie tego do systemu, a nic nie dostałem w zamian (projektant wie jak działa jego gra).

Istotnym praktycznie aspektem jest do czego można taki interaktywny prototyp później wykorzystać.

Nawet zakładając że interface do wklikiwania będzie genialny (w co trudno mi uwierzyć po doświadczeniach z ustawianiem elementów na oknie w graficznych narzędziach największych firm... stworzenie okna które się nie posypie przy zmianie rozmiaru to nie lada zadanie...) zdefiniowanie mechaniki jest trudnym zadaniem i będzie wymagało sporo roboty i fajnie by było jakby ta praca zwróciła się jednak z nawiązką.

(Projekt który będzie niepraktyczny ale fajny z mojego punktu widzenia też jest ciekawy, ale właśnie przeglądam materiały do wykładu o user experience i są to dość kluczowe kwestie designu użytecznego cosia: kto go będzie używał, jak go będzie używał, jakie będzie miał wrażenia, jakie są korzyści)
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
Awatar użytkownika
mst
Posty: 5767
Rejestracja: 25 wrz 2007, 10:42
Lokalizacja: gliwice
Been thanked: 3 times
Kontakt:

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: mst »

zephyr pisze:Istotnym praktycznie aspektem jest do czego można taki interaktywny prototyp później wykorzystać.
Podstawową korzyścią z oprogramowania mogłaby być możliwość automatycznego zbierania danych z testów. Oczywiście samo przeprowadzanie testów powinno byc również przez oprogramowanie ułatwione - eliminowałoby konieczność wykonywania wielu prototypów i rozszerzało obszar poszukiwania potencjalnych testerów. :-)
Zawsze gdy zauważysz, że jesteś po stronie większości zatrzymaj się i zastanów.
magazyn
Awatar użytkownika
MichalStajszczak
Posty: 9477
Rejestracja: 31 sty 2005, 19:42
Lokalizacja: Warszawa
Has thanked: 511 times
Been thanked: 1449 times
Kontakt:

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: MichalStajszczak »

Moje pierwsze pytanie
MichalStajszczak pisze:Z jakiej dziedziny jest ta praca?
miało przede wszystkim na celu uściślenie tematyki pracy. Bo nie wyobrażam sobie, żeby tak szerokie zagadnienie zmieściło się w ramach pracy dyplomowej. Generalnie chodziło mi o to, czy system ma być nastawiony na symulację (użytkownik definiuje problem, wprowadzając do systemu opis mechaniki i bada wrażliwość na zmiany tej mechaniki) czy też ma to być raczej baza danych, o zastosowaniu, które powyżej opisał mst.
(Teoretycznie praca mogłaby nie być z informatyki tylko tzw. europeistyki, przy lekko zmodyfikowanym tytule "System pozyskiwania funduszy unijnych, umożliwiających wsparcie projektowania gier planszowych i logicznych" :D )
Awatar użytkownika
sowacz
Posty: 772
Rejestracja: 04 lut 2008, 11:08
Lokalizacja: Rumia
Been thanked: 26 times

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: sowacz »

Minął ponad rok od założenia tego tematu i przez ten czas magisterka się prawie napisała. Plany były duże, no ale czas pokazał, że były zbyt obszerne i nie wszystko, cośmy na początku za cel postawili, udało się zaimplementować. Napiszę pokrótce co osiągnęliśmy, a więc tak:
system składa się z dwóch programów, pierwszy z nich umożliwia wygodne wprowadzenie potrzebnych do gry komponentów typu kostki, pionki, znaczniki, karty, plansze. Dodajemy elementy poprzez wybranie grafiki dostępnej w programie, lub poprzez umieszczenie swojej grafiki przygotowanej wcześniej w plikach (jpg, gif, bmp, png). Znaczniki i karty są odwracalne i stackują się w talie, można je łatwo tasować, rozdawać itp. Kostki mogą mieć dowolną ilość ścianek, w programie zdefiniowane są zwykłe K6, ale tak naprawdę użytkownik może dodać dowolne elementy graficzne na ścianki. Możemy dodać też instrukcję w formacie txt bądź rtf. Po stworzeniu takiej gry zapisujemy ją do pliku binarnego i możemy wysłać na serwer.

Drugi program umożliwia ściągnięcie z serwera gotowe gry, umożliwia założenie pokoju, poinformowanie serwera o istniejącym otwartym pokoju (osoba zakładająca grę musi mieć odblokowany port), inni gracze posiadający ten sam program mogą się do tego pokoju podłączać. Program nie pilnuje zasad, czyli jest to tzw. wirtualny stół, to gracze pilnują zasad i swoich kolejek.

Postawiliśmy na prostotę obsługi i łatwość tworzenia gier w formie elektronicznej. Program ma służyć głównie projektantom, którzy mają problem ze znalezieniem wokół siebie testerów swoich gier.

To w sumie tyle :)
renszy
Posty: 11
Rejestracja: 29 paź 2011, 16:19

Re: System umożliwiający wsparcie projektowania gier logiczn

Post autor: renszy »

no to zrobiłeś kopię ZUNTZU.
ODPOWIEDZ