Autor Wątek: MMOnsters Inc. - pomysł na grę symulacyjną  (Przeczytany 9917 razy)

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Maj 31, 2006, 22:21:18
Przyszedł mi dzisiaj na uczelni pomysł na grę. Właściwie to wymyśliłem już dawno, ale jakoś tak mi się przypomniał. Pomysł jak to pomysł - realizować go nie mam zamiaru na razie, ale ciekaw jestem co o nim myślicie.

Gra byłaby MMO, czyli sieciowa z akcją rozgrywaną w czasie rzeczywistym na centralnym serwerze. Polegałaby na symulacji różnych gatunków stworków, które same żyłyby sobie w tym wirtualnym świecie. Wiem, że już są takie gry - Framsticks oraz ten projekt .NET-owy Terra-cośtam.

Natomiast głównym założeniem mojej gry jest aby gracz wprowadzając swoje nowe gatunki stworów programował je w specjalnym prostym, minimalistycznym asemblerze. Każdy stworek miałby swój rozumek w postaci klasycznego procesora z bardzo ograniczoną ilością pamięci i gracz-programista musiałby kombinować jak ją wykorzystać, aby np. dzięki jakiejś komunikacji stado stworków mogło wspólnymi siłami zdziałać coś fajnego.

Nowe gatunki wprowadzałoby się powiedzmy poprzez zrzucenie kilku egzemplarzy w wybrane miejsce mapy za pomocą komety :) i nie częściej niż kilka razy dziennie z jednego IP. Gracz mógłby potem obserwować jak poradzą sobie z życiem w tym środowisku i konkurencją z innymi oraz wprowadzać ulepszone wersje (albo może mutacje na już istniejących?). Dzięki dostępowi graczy do kodu innych stworków można byłoby wprowadzać ulepszone wersje (jak rozwój oprogramowania open source) i w ten sposób odbywałaby się wirtualna ewolucja.

STWORKI:

Gatunek stworka byłoby określany przez:
- Cechy fizyczne: wielkość i kształt, wygląd, współczynniki (siła, szybkość itd.)
- Narządy - różne zmysły: wzorku i dotyku do badania otoczenia, mowy i słuchu oraz wydzielniczy i węchu do komunikacji - oraz ich różne parametry, jak czułość, zakres wartości odbieranych sygnałów, pojemność mózgu w postaci liczby komórek pamięci
- Algorytm do wykonywania przez stworka - nie ma tu żadnej AI, algorytmów genetycznych czy sieci neuronowych, a jedynie tradycyjne programowanie

ŚRODOWISKO:

Obowiązywałaby zasada zachowania materii i energii. Stworki musiałyby odżywiać się, a także rozmnażać. Byłyby różne przeszkody, różne obiekty martwe, różne rodzaje otoczenia, typy podłoża itp. żeby środowisko było zróżnicowane i jeden gatunek nie mógł opanować całego świata.

PROGRAMY:

Jeszcze nie wiem dokładnie, ale asembler byłby niskopoziomowy, prosty i minimalistyczny. Może coś SIMD operującego na całych wektorach floatów, jak shadery? W każdym razie pewien zbiór instrukcji matematycznych, logicznych, bitowych i innych podstawowych oraz jakieś geometryczne, generator liczb losowych itp. Wspólna, mała pamięć dla programu i danych tymczasowych.

Odbieranie i wysyłanie sygnałów do narządów zewnętrznych odbywałoby się przez jakieś proste protokoły jako ciągi bajów czy liczb/wektorów.

*EFEKT*

Dobra zabawa dla tych którzy lubią takie zabawy w programowanie. Wojny rdzeniowe w mniej hardcore'owym wydaniu :) z ładniejszą grafiką i jakimśtam odniesieniem do rzeczywistości. Projekt byłby ciekawy z punktu widzenia badawczeego no i po prostu fajny :) O ile tylko jeden stworek albo jeden gracz swoimi stworkami nie opanowałby całego świata tak że nikt nic nie mógłby zdziałać albo nie znalazłaby się po krótkim czasie optymalna taktyka, która zawsze i wszędzie wygrywa, to wirtualny świat zaludniłby się różnorodnymi stworkami - małymi i zwinnymi, dużymi i silnymi, żyjącymi w dużych stadach, żyjącymi samotnie, sprytnymi i stosującymi jedynie brutalną siłę.

Możanby grę wzbogacić o różne inne stworki np. latające, kopiące w ziemii, nieruchome (rośliny - chyba że te byłyby częścią środowiska a nie postaciami graczy?) a nawet możliwością budowania w jakimś zakresie budynków - wtedy powstałby taki trochę RTS :)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Tauradan

  • Użytkownik

# Maj 31, 2006, 22:59:33
Moim zdaniem pomysł bardzo ciekawy, wręcz świetny. Gdyby oprócz wpisywania kodu, dołączyć jakiś edytor kodu - tzn. tworzenie elementów metodą drag&drop projekt zainteresował by szersze grono odbiorców, co więcej może wyparł by ELI ze szkoły - nie ma to, jak łączyć ciekawe z pożytecznym.

Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Czerwiec 01, 2006, 09:22:35
Pomysł jest rewelacyjny, niewiele jest gier w których wygrana zależałaby od czegoś więcej, niż przypadek albo szybkość klikania :). Nie wiem tylko, jak by było z realizacją (te narządy, zmysły, wysyłanie sygnałów... czy przypadkiem nie pochłaniałoby to zbyt wiele mocy obliczeniowej?). Gdyby jednak udało się z tego coś stworzyć, taki projekt zapewne pobiłby na głowę wszelkie MMORPG-i oraz klony OGame :).

Offline Xion

  • Redaktor
    • xion.log

# Czerwiec 01, 2006, 10:25:06
Oprócz samego programowania zachowania stworka trzebaby pewnie jeszcze odpowiednio rozdzielić "statystyki", czyli wspomnianą np. pojemność mózgu, czułość zmysłów, itd. Resztę zachowania stworka miałby jak rozumiem kontrolować sam program opisujący jego zachowanie.

Podstawowym problemem jest wg mnie ten słynny "balance", czyli zapewnienie brauk optymalnego rozwiązania. IMHO zależy tu bardzo wiele od różnorodności środowiska, a dokładniej od pewnych czynników, do których organizmy musiałaby się przystosować. Dla zwykłego życia takimi czynnikami są np. amplituda temperatur, siła grawitacji, dostępna ilość światła, zawartość atmosfery, itp., ale są też bardziej złożone, jak dostępność pożywienia czy obecność drapieżników.
Tutaj jak sądzę byłyby jakieś tego odpowiedniki, zapewne dla uproszczenia też odpowiednio "rozdzielane" dla stworka. Należałoby je wtedy sparować tak, że gdy np. stworek ma zamieszkiwać teren, gdzie jest "ciepło" (cokolwiek to znaczy), to jego odporność i przystosowanie d "zimna" (czynnika przeciwnego) powinna być odpowiednio mniejsza.

Przy połączeniu tych parametrów ("statystyk" oraz stopnia przystosowania do konkretnych warunków środowiska) można by osiągnąć całkiem dobre efekty. Na przykład:
a) "bakterie" byłyby bardzo odporne na wszelkie czynniki środowiskowe, ale jednocześnie miałyby bardzo niewielkie możliwości komunikacji ze światem zewnętrznym i działania
b) "rośliny" byłyby przystosowane do produkowania pokarmu niemalże z niczego, lecz miałyby ograniczone formy obrony i interakcji ze środowiskiem
c) "zwierzęta" byłyby zapewne najbardziej zróżnicowane, więc nie będę się silił na jakąś ogólna charakterystykę :)

Według mnie najdokładniejszego zaplanowania wymaga zatem nie sposób opisu zachowania stworka (czyli ten cały asembler ;P), ale świat w którym te stworki miałyby żyć i mechanizm wzajemnych interakcji. Trzebaby więc ustalić te "statystyki" stworka oraz "przystosowania" do różnych czynników środowiskowych (które też trzebaby wymyślić :D). Oczywiście taki model ma ograniczenia, bo np. dodanie nowego czynnika zapewne spowodowałoby śmierć wszystkich narażonych organizmów, bo nie byłyby na niego uodpornione (np. pojawienie się odpowiednika promieniowania). Należałoby zatem albo wstrzymać się od takich destrukcyjnych działań, albo przeciwnie - używać ich jako "bodźców do ewolucji", dzięki czemu prawdopodobieństwo pojawienia się superorganizmu byłoby mniejsze.

Właśnie zgranie trzech elementów: przystosowania do środowiska, możliwości organizmów oraz możliwych zachowań (kontrolowanych przez programy dla organizmów) uważam za największe stojące tu wyzwanie. Zakodzić jeszcze by się to jakoś udało ;P

Offline SirMike

  • Użytkownik
    • SirMike's Techblog

# Czerwiec 01, 2006, 18:51:25
Pomysl calkiem ciekawy ale nie "czuje" tego do konca. Jaka interakcja zachodziłaby pomiędzy stworkami? Mialyby sie zabijac nawzajem, bawic, rozmawiac czy tylko egzystowac obok siebie? Jesli tylko to ostatnie to obawiam sie, ze projekt bylby takim zwyklym tamagochi ale na centralnym serwerze :D

Offline Silther

  • Użytkownik

# Czerwiec 01, 2006, 19:27:35
Świetny pomysł! Jeżeli to napiszesz to na pewno chętnie zagram. Nie podoba mi się tylko pomysł z tworzeniem budynków, jeżeli już korzystac z takiej opcji to tylko przez stworki, a nie przez gracza bezpośrednio. Trudno byłoby jednak zrobic jakis sensowny system statystyk, tak żeby przykładowo jeden gatunek nie mógł byc jednoczesnie zwinny, silny, móc pływac, latac i biegac. Musiało by to byc tak rozplanowane, aby samo ustawienie statystyk nie wystarczało, a chodziło o optymalne ich wykorzystanie przez AI.

Pomysl calkiem ciekawy ale nie "czuje" tego do konca. Jaka interakcja zachodziłaby pomiędzy stworkami? Mialyby sie zabijac nawzajem, bawic, rozmawiac czy tylko egzystowac obok siebie?
Najlepiej by było tak jak w rzeczywistosci - niektóre gatunki są sobie obojętne, inne na siebie polują, a jeszcze inne mogą życ w symbiozie (jeżeli będzie im to pasowało i "twórcy" gatunków się tak umuwią).

Mogło to by byc ciekawe, ja sobie tak wyobrazam tą grę  - tworzysz sobie nowy gatunek królika i wrzucasz go na serwer. Twój króliczek żywi się trawą i jest zwinny więc żyje w okolicach łąk. Po pewnym czasie, jednak gracz, którego sępo-wilki są wciąż głodne pozwolił im polowac na twoje kroliczki, więc żeby było im łatwiej przeżyc zmieniasz kod, żeby żyły w stadach i dodajesz im kły do obrony

Powodzenia.

Offline pawell

  • Użytkownik

# Czerwiec 01, 2006, 20:52:03
Programowanie stworków to jednak troche kiepsko brzmi. Może nie jakieś stworki a poprostu roboty? Pozatym chętnie bym zagrał w tego typu grę, nawet ze stworkami ;)

Swoją drogą sam jakiś czas temu myślałem o stworzeniu gry, w której trzeba by było programować (zafascynowany Colobotem :)). Byłaby to gierka single lub multi. Takie połączenie gry FPP, taktycznej i Colobota (tylko maszyny bardziej śmiercionośne ;) no i takie z np. kamerą :)).

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Czerwiec 01, 2006, 21:56:42
Pomysl calkiem ciekawy ale nie "czuje" tego do konca. Jaka interakcja zachodziłaby pomiędzy stworkami? Mialyby sie zabijac nawzajem, bawic, rozmawiac czy tylko egzystowac obok siebie? Jesli tylko to ostatnie to obawiam sie, ze projekt bylby takim zwyklym tamagochi ale na centralnym serwerze :D
Nie tamagotchi :) Nie byłoby bezpośredniego sterowania (no chyba żeby?). Chodzi o jakieś walczenie, zjadanie się nawzajem itd., tak jak we Framsticks.

Offline Xion

  • Redaktor
    • xion.log

# Czerwiec 01, 2006, 22:38:59
Pomysl calkiem ciekawy ale nie "czuje" tego do konca. Jaka interakcja zachodziłaby pomiędzy stworkami? Mialyby sie zabijac nawzajem, bawic, rozmawiac czy tylko egzystowac obok siebie? Jesli tylko to ostatnie to obawiam sie, ze projekt bylby takim zwyklym tamagochi ale na centralnym serwerze :D
Nie tamagotchi :) Nie byłoby bezpośredniego sterowania (no chyba żeby?). Chodzi o jakieś walczenie, zjadanie się nawzajem itd., tak jak we Framsticks.
Według mnie to jednak byłby pewien rodzaj tamagotchi, tylko że zamiast opiekować się pojedynczym osobnikiem, zajmowalibyśmy się całym gatunkiem - ulepszali go tak, by sprostał wymogom wirtualnego środowiska. Czyli gra "pobaw się w ewolucję" :)

Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Czerwiec 02, 2006, 09:51:08
Stwory mogłyby nie tylko na siebie polować, ale również rywalizować o teren, dostęp do zasobów itp. Czomolungma ma rację, pokojowe współistnienie byłoby nudne i w dodatku podważałoby cały sens robienia z tej gry MMO.

Z drugiej strony celem gry nie powinno być całkowite unicestwienie innego plemienia stworków, bo wtedy mielibyśmy po prostu Settlersów on-line z elementami programowania :). Lepsza byłaby rywalizacja natury "ekonomicznej". Dlatego warto byłoby tak ustawić mechanikę gry, żeby nawet ewentualna napaść jednego gatunku stworów na inny była tylko małym polowaniem dla zdobycia pożywienia, a nie masakrą osady przeciwnika :).

Offline Gloggie

  • Użytkownik

# Czerwiec 02, 2006, 13:30:01
Czy ten pomysł nie zahacza coraz bardziej o Spore, tylko wzbogacone o 'część programistyczną' AI :) ??

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Czerwiec 02, 2006, 17:28:07
Pamiętajcie, że mozolnemu programowaniu AI w minimalistycznym, niskopoziomowym języku, wgrywaniu ich na serwer tylko co jakiś czas i potem tylko obserwowaniu efektów daleko jest do bezpośredniego sterowania w czasie rzeczywistym, dlatego to w niczym nie przypominałoby Spore czy gry RTS.

Offline Goliatus

  • Użytkownik
    • Warsztat - tworzenie gier

# Czerwiec 02, 2006, 18:43:40
Wizja mozolnego programowania w minimalistycznym niskopoziomowym języku mnie jakoś negatywnie nastraja do tego pomysłu. Niby wszystko cacy, a tu taki "drobiazg". Lepsze byłoby coś C lub Pascalopodobne ograniczone do obliczeń matematycznych i wywoływania okreśłonych wcześniej funkcji.

Offline DarkJarek

  • Użytkownik
    • DarkJarek HomePage

# Czerwiec 02, 2006, 18:59:38
Mi się bardzo podoba. Ogólnie pomysł ciekawy lecz wymagałby sporego nakładu pracy.

Można by dorobić jakieś zawody np. kto lepiej zaprogramuje krowę :D. Pozatym ja bym to trochę rozszerzył: dodał prostą pamięć aby stworki mogły ewoluować, uczyć się na błędach itd. Przydały by się jakieś sieci neuronów. Wtedy jak by się krzyżowały stworki to przekazywały bo potomstwó doświadczenie. Program można by było pisać w oparciu o akcje np "OnHungry".

Offline Moriturius

  • Użytkownik

# Czerwiec 03, 2006, 15:50:23
nie no pomysł jest naprawde świetny, usprawnienia tutaj licznie przedstawione przez różnych forumowiczów też naprawde dobre...

aż normalnie mi sie zachciało zaprogramować stokrotke! :P