Warsztat.GD

Produkcja gier => Design => Wątek zaczęty przez: Xirdus w Styczeń 17, 2015, 18:47:58

Tytuł: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xirdus w Styczeń 17, 2015, 18:47:58
Natchniony grą Untrusted (http://alexnisnevich.github.io/untrusted/) wpadłem na pomysł pewnej gry dla programistów.

W skrócie - FPS w stylu tych wszystkich strzelanek z początku wieku, z tym że gracz miałby możliwość przerabiania skryptów gry. Tzn. gdy spotka jakiegoś wroga, będzie mógł podejrzeć strukturę obiektu tego wroga - parametry, wyposażenie itd. - oraz skrypty AI. Na ich podstawie mógłby pisać własne funkcje i podpinać je pod poszczególne klawisze, lub też przerabiać swoją postać - np. dać sobie rakietnicę którą miał przeciwnik, a R zmienić z przeładowania na natychmiastowe odnowienie amunicji. Wraz z przechodzeniem kolejnych poziomów, gracz dowiadywałby się o coraz to nowych API - co będzie pozwalało na pisanie bardziej skomplikowanych funkcji niedostępnych na początku, np. zrobienie pistoletu który naraz strzela dwunastoma samonaprawadzającymi kulami. Oczywiście będą sztuczne limity na to co gracz może zrobić (można używać tylko tych funkcji które się widziało, limit długości kodu który zwiększałby się z rozwojem postaci, dostęp do nowych zmiennych).

Taki luźny pomysł. Co sądzicie?
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Kyroaku w Styczeń 17, 2015, 19:05:43
Mysle, ze kazdy po zagraniu w Unstrusted pomyslal o grze w tym stylu :D Nie mniej jednak, podoba mi sie to, ze wybrales FPS, poniewaz ja chyba nigdy bym nie wpadl na to, zeby gre tego typu tworzyc w tym gatunku wlasnie :) (oczywiscie nie mam nic zlego na mysli).
Mam nadzieje, ze chociaz zaczniesz ten projekt, jestem ciekaw, jak to wyjdzie.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xirdus w Styczeń 17, 2015, 19:19:08
Z tytułu wątku oczywiste chyba jest, że drugą inspiracją był Matrix ;) Niestety gra raczej nie powstanie; mam zbyt dużo rzeczy na głowie obecnie, zresztą target bardzo wąski i nie wydaje mi się żeby była opłacalna produkcja, biorąc pod uwagę jak trudno technicznie byłoby osiągnąć, żeby gra dawała dużą swobodę jednocześnie będąc odporna na "zbyt mądrych" programistów ;) Generalnie temat założyłem bo uważam że to fajny pomysł.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: ison w Styczeń 17, 2015, 20:05:05
Coś w ten deseń: http://screeps.com/ (http://screeps.com/)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: revo w Styczeń 17, 2015, 21:29:53
Przypomniało mi to http://www.hacknslashthegame.com od Double Fine , tylko  gatuek inny (video z Kotaku (https://www.youtube.com/watch?v=iv3K3ikSdsM)).

Ogólnie pomysł ciekawy, ale prawdopodobnie zbyt skomplikowany dla większości graczy, nawet tych co programują ;)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: P@tyS w Styczeń 17, 2015, 23:44:20
Podoba mi się :D grałem w untrusted i to była fajna zabawa. To samo jako FPS - po prostu magia :)
PS: Może zrobimy to jako warsztatowy projekt (Oczywiście za zgodą Xirdusa). Na github i każdy kto coś tam umie dopisze. Przy okazji będzie to fajny eksperyment, możliwość rozwinięcia umiejętności i współpracy w grupie.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xirdus w Styczeń 18, 2015, 01:21:00
Coś w ten deseń: http://screeps.com/ (http://screeps.com/)
Nie bardzo. W tej grze piszesz AI do swoich botów, a mi chodzi o możliwość ingerowania w świat gry.

Przypomniało mi to http://www.hacknslashthegame.com od Double Fine , tylko  gatuek inny (video z Kotaku (https://www.youtube.com/watch?v=iv3K3ikSdsM)).
W tej grze "hakowanie" sprowadza się raczej do zagadek logicznych i możliwości gracza są dość małe - nie da się chociażby zmieniać tego jak działają przedmioty którymi dysponuje gracz. Mi chodzi o takie coś, że da się modyfikować niemal wszystko.

Ogólnie pomysł ciekawy, ale prawdopodobnie zbyt skomplikowany dla większości graczy, nawet tych co programują ;)
To jest główny problem, który nie pozwala mi brać tego pomysłu na serio - jak zrobić, żeby interfejs i mechanika gry były przystępne dla gracza.

PS: Może zrobimy to jako warsztatowy projekt (Oczywiście za zgodą Xirdusa).
Róbta co chceta :)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: matheavyk w Styczeń 18, 2015, 02:25:06
Może coś takiego, że jak się najedzie na przedmiot kursorem, a potem kliknie to pojawia się okno, w którym do poszczególnych callbacków można przypisywać (właściwie to edytować) kod:
http://i.snag.gy/aGolq.jpg (http://i.snag.gy/aGolq.jpg) (tutaj robimy skaczący samochód ;p )

To trochę ogranicza pomysł, ale za to jest dość przystępne. To mogłoby nawet być bardziej przystępne niż w grze Colobot, a dynamika FPS fajnie by równoważyła "nudę" programowania. Poza tym można np. ograniczyć czas, który mamy na edycję kodu, to byłoby takie zmęczenie (odpowiednik many, jeśli porównać magię do programowania). Kto wie, może nawet szybka edycja broni w trakcie walki wcale by wtedy nie zwalniała tempa akcji.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xirdus w Styczeń 18, 2015, 03:41:19
Może coś takiego, że jak się najedzie na przedmiot kursorem, a potem kliknie to pojawia się okno, w którym do poszczególnych callbacków można przypisywać (właściwie to edytować) kod:
http://i.snag.gy/aGolq.jpg (http://i.snag.gy/aGolq.jpg) (tutaj robimy skaczący samochód ;p )
O, dokładnie coś takiego chodziło mi po głowie. Tylko po co ograniczać się do callbacków? Pozwólmy edytować całe definicje obiektów! :)

Poza tym można np. ograniczyć czas, który mamy na edycję kodu, to byłoby takie zmęczenie (odpowiednik many, jeśli porównać magię do programowania). Kto wie, może nawet szybka edycja broni w trakcie walki wcale by wtedy nie zwalniała tempa akcji.
Wydaje mi się to złym pomysłem. Jak już, to limit długości kodu, i np. zakaz usuwania istniejącego i zakaz błędu kompilacji (jeśli wyjdzie się z edytora gdy kod się nie kompiluje, wraca on do poprzedniego stanu). Oryginalnie myślałem, żeby była pauza na czas programowania, ale jeśli miałoby się zachować dynamikę, stukrotny slow motion chyba lepiej by się sprawdził. Programowanie wymaga czasu :)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xender w Styczeń 18, 2015, 14:38:38
zakaz błędu kompilacji (jeśli wyjdzie się z edytora gdy kod się nie kompiluje, wraca on do poprzedniego stanu).

Wariacja na temat tego pomysłu: grę napisać w Pythonie. Skryptować w Pythonie... z dodatkami.
https://github.com/munificent/vigil :3

Bonus na osadzenie gry w tematyce krucjat (pewnie trzeba by zrezygnować z FPS na rzecz innego gameplayu).
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xirdus w Styczeń 18, 2015, 14:46:01
https://github.com/munificent/vigil :3
Haha :D

Bardziej mi chodziło o to, że jak podczas klepania kliknie się "zapisz" a kod jest niepoprawny, to normalnie nic nie znika, można spokojnie poprawić - ale jeśli gracz sobie pisze mega przybajerzony skrypcior, i widzi że ktoś mu pod nogi rzucił granat, to żeby gracz miał możliwość ucieczki, a robot którego edytował nie został sparaliżowany.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Kyroaku w Styczeń 18, 2015, 15:58:39
To moze i ja dorzuce sie do puli pomyslow :) A moze niech obiekt (np. ten wasz robot, czy co tam...) nie trzyma kodu, ktory klepiemy, a gracz bedzie mial ze soba komputer, gdzie bedzie mogl zapisywac programy :)
Cos w kierunku:
komputer gracza -> create program -> klepiemy kod -> transfer to... -> program zostal przeslany do obiektu. Kazdy obiekt moze miec hardkodowany program defaultowy i tak jak mowisz, jesli cos pojdzie nie tak, obiekt wgrywa ten wlasnie program :P
Wtedy tez gracz bedzie mogl napisac program i uzywac go jednym kliknieciem do wielu obiektow :)

[Z innej beczki]
Tak sobie mysle, gdyby taka gra byla multiplayer, mozna by fajne zasadzki robic. Np. Wgrywamy do pistoletu program, ktory wysadza obiekt w powietrze po nacisnieciu spustu i wyrzucamy bron :D Jesli ktos sie skusi, zostanie zweglony xD
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: lukaszsa w Styczeń 18, 2015, 15:59:14
@Xirdus - twój pomysł przypomina mi mój pomysł:) na grę edukacyjną dla ludzi których interesuje jak działają gry.
Gra z prostą grafiką(jak na dzisiejsze czasy) w stylu Half-life prosta bez wodotrysków. Można grać i nie robić niczego edukacyjnego ale można również podchodzić do przedmiotów i podglądać kod ich działania i opisy w języku ludzkim jak to działa na przykład skrypty sztucznej inteligencji na przeciwnikach, macierze przekształceń na jakimś obiekcie który się obraca lub jakoś tam porusza i tak dalej.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: ShadowDancer w Styczeń 18, 2015, 22:23:16
Problem z ograniczeniem trudności takiego FPSa. Może fajne do zaprogramowani, ale gdzie miodność?
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: matheavyk w Styczeń 19, 2015, 20:53:26
No ograniczyć można różne rzeczy:
- (jak Xirdus napisał) ograniczyć liczbę linii kodu,
- wraz ze wzrostem jakiegoś doświadczenia można używać nowego zasobu funkcji w kodzie,
- ograniczyć można obszar kodu, który możemy edytować,
- samo zrobienie multiplayera ograniczałoby czas na edycję kodu (inni gracze mogliby nas zaatakować).
Choć część tych pomysłów kłóci się oczywiście z wizją-marzeniem Xirdusa :)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xirdus w Styczeń 19, 2015, 21:12:41
@matheavyk, akurat wszystkie te pomysły mi pasują. Dopisałbym jeszcze wraz ze wzrostem leveli, odblokowane nowe obszary kodu które można zmieniać.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Reg w Styczeń 19, 2015, 23:59:29
Ja też myślałem o jakiejś grze, w której można przeprogramować skrypty obiektów. Szybko doszedłem do wniosku, że jest z tym jeden problem - w programowaniu można (celowo lub przypadkowo) wprowadzić małą zmianę, która kompletnie zmieni całość gry, np. da nieproporcjonalną przewagę albo popsuje całą mechanikę gry.

Dlatego pomyślałem, że dobrze byłoby ograniczyć możliwość tego, co taka zaprogramowana postać może robić, a także możliwość programowania wielu postaci na raz. Najczęściej wyobrażam sobie to jako jakąś grę RTS z wieloma jednostkami. Przykładowo, każda postać miałaby ograniczoną ilość energii do użycia na swoje ruchy, ograniczoną moc obliczeniową w instrukcjach na sekundę, a w przypadku strzelanki mogłaby to być ograniczona celność czy inne zmysły, żeby napisanie odpowiedniego skryptu nie pozwalało na strzelanie samych headshotów.

Podobnie, przeprogramowanie jednej postaci mogłoby wymagać fizycznego podejścia do niej, jakiegoś jej "złapania", zużycia jakiejś many czy innych punktów itp. Ewentualnie jedne postacie mogłyby swoim kodem "zarażać" inne na zasadzie roznoszenia wirusów albo przekazywania DNA przy rozmnażaniu.

Ogólnie chodzi o to, żeby nie można było sprytnym kodem od razu zmienić wszystkiego w grze, tylko napisanie lepszego programu albo wgranie go do większej liczby postaci czy potężniejszych postaci wymagało od gracza więcej wysiłku, czasu i postępu w grze, a nie tylko dobrych umiejętności programistycznych.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: ShadowDancer w Styczeń 20, 2015, 10:15:22
Tylko dodanie sobie nieproporcjonalnej przewagi wcale nie musi zużywać dużo instrukcji - wystarczy zmienić jedną stałą, typu wysokość skoku, prędkość poruszania, pojemność magazynka czy obrażenia. Ewentualnie zawołać jakąś funkcję usuwającą przeciwnika.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: koirat w Styczeń 20, 2015, 10:52:37
Cały ten pomysł ma jeden poważny feler.
Po co grać w programowanie jakiejś gry dla zabawy, jak można programować w tym czasie jakąś własną produkcję.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Kyroaku w Styczeń 20, 2015, 15:03:34
Cytuj
Cały ten pomysł ma jeden poważny feler.
Po co grać w programowanie jakiejś gry dla zabawy, jak można programować w tym czasie jakąś własną produkcję.
Po co grac w GTA i zabijac na niby, jak mozna zrobic sobie miotacz ognia domowej roboty i spalic szkole ? :);
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xirdus w Styczeń 20, 2015, 15:28:27
Po co grac w GTA i zabijac na niby, jak mozna zrobic sobie miotacz ognia domowej roboty i spalic szkole ? :);
Różnica jest taka, że tutaj masz świat wirtualny vs. świat prawdziwy, a to co koirat pisał to świat wirtualny vs. świat wirtualny :)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Kyroaku w Styczeń 20, 2015, 15:53:23
Bez znaczenia :P GTA dla nie-terrorystow, a Twoja gra dla nie-programistow :D (nie mowie, ze terrorysta, czy programista nie moze zagrac :)). Moze faktycznie troche przesadzone porownanie, ale to tylko dla zobrazowania :P
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Gimer w Styczeń 20, 2015, 17:39:37
Może czegoś nie rozumiem ale jak uchronić grę przed graczem zmieniającym siłę ataku na 2 147 483 647?
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xender w Styczeń 20, 2015, 20:36:29
Czemu co druga osoba tutaj chce "chronić" grę przed "nieuczciwym" graczem?

Po pierwsze (@Gimer), dość prosto - nie eksponować rdzenia gry do edycji, a jedynie skryptu pojedynczych jednostek, lub fragmenty tych skryptów.

Po drugie - po co coś tutaj "chronić"?
Grając w takie np. Battle of Wesnoth można sobie ściągnąć kod gry, przerobić i bardzo sobie ułatwić rozgrywkę. Tylko po co?

Na przykładzie przytoczonego w OP Untrusted (http://alexnisnevich.github.io/untrusted/) - w jednym z issues na Githubie było, że modyfikując kod w ramach dozwolonych przez grę nadal można przejść [prawie] każdy poziom poprzez dopisanie odpowiedniego fragmentu - ale wpadnięcie na to, co dokładnie trzeba dopisać, było nietrywialne.

Zhackowanie^2 gry (w inny sposób, niż autor przewidział) nie musi wcale psuć zabawy, może być tak samo dobre, jak zhackowanie "zwykłe".

Z tego, co pamiętam, ktoś kiedyś przeszedł Portala 2 (albo 1, dunno) na glitchach w kilkanaście minut. Cheatowanie też może być sztuką. :)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xirdus w Styczeń 20, 2015, 21:58:36
Tak ogólnie to planowałem tą grę jako "paczaj jakie fajne eksplozje zrobiłem! A nie odblokowałem jeszcze tworzenia własnych typów!" - takie bardziej pole do zabawy niż poważny tytuł. Z tym że żeby była ona sensowna, to jakąś trudność musi posiadać - stąd właśnie "ochrona" przed "nieuczciwością". Ostatnio słyszałem złotą myśl, że zamknięcie w potrzasku wzmaga kreatywność :)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: ShadowDancer w Styczeń 21, 2015, 10:58:50
:Xender

Czy uważasz, że untrusted byłoby tak samo dobre, gdyby można było edytować cały skrypt na każdym lvlu?
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xender w Styczeń 21, 2015, 20:15:48
@ShadowDancer - Nie uważam. Chodzi mi o to, że przejście gry na glitchach też może być dobre.

Ktoś to powiedział, że zmieniając pewne globalne stałe fizyczne można by sobie znacznie uprościć rozgrywkę - można traktować to jako coś niepożądanego, ale można odwrócić kota ogonem i dać graczowi pobawić się globalami (lub w pewnych miejscach nawet zmusić do tego - niech dobierze grawitację do długości skoku. Albo jeszcze lepiej, oskryptuje, żeby sama się zmieniała (property?) tak, żeby skok wyszedł :) ).

BTW, w jednym miejscu w Untrusted można (trzeba) było kompletnie wymienić logikę kilku NPC. Brzmi kiepsko?
Ale jedynym czynnikiem, na który nie miało się wpływu, było to, że gracz w kontakcie z NPC ginie, oraz początkowe ich położenie. Brzmi już lepiej, nie?
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xirdus w Styczeń 21, 2015, 22:35:48
w jednym miejscu w Untrusted można (trzeba) było kompletnie wymienić logikę kilku NPC. Brzmi kiepsko?
Ale jedynym czynnikiem, na który nie miało się wpływu, było to, że gracz w kontakcie z NPC ginie, oraz początkowe ich położenie. Brzmi już lepiej, nie?
No i o to wszystkim chodzi. Hakować co się da, ale najważniejsze rzeczy zablokować przed graczem.
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Kos w Styczeń 24, 2015, 12:24:46
Gra w nadpisywanie kodu, huh... Miałeś na myśli coś takiego? :)

http://www.polygon.com/2015/1/22/7871437/super-mario-world-glitch-credits-warp
(http://deanyd.net/smw/index.php?title=Credits_Warp_Run)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: Xion w Styczeń 24, 2015, 19:41:39
@up: Nah, to jest exploitowanie. Swoją drogą ten filmik jest niesamowity -- cała ta procedura wygląda jak przygotowania do skomplikowanego rytuału voodoo w celu wywołania deszczu :)
Tytuł: Odp: Pomysł na grę - "I can see the code"
Wiadomość wysłana przez: P@tyS w Styczeń 24, 2015, 23:10:59
Gra o programowaniu wind :D play.elevatorsaga.com/ (http://play.elevatorsaga.com/)

Pomysł jest ciekawy, a gra może się toczyć w 3 trybach, jeden kampania (coś jak tutorial, pozwoli ogarnać nie-programiście o co chodzi), creative (gracze mogą pobawić) no i multi (fighty i popisywanie się :D).

Fajnie by było gdyby można było zapisywać swoje skrypty do pliku i później ładować lub udostępniać. Szybko z tego powstałyby gry strategiczne, platformówki, rpg, moba i cała masa innych :D