Autor Wątek: Projekt "Forces of Fantasy"  (Przeczytany 2772 razy)

Offline Voidripper

  • Użytkownik

# Sierpień 23, 2012, 18:05:50
Cześć/Witam
Chciałbym opowiedzieć o swoim nowym (no, może już nie takim nowym) pomyśle, to czy jego realizacja zostanie podjęta zależy w dużej mierze od tego tematu :). Huh... będzie dużo pisania.

Trochę wstępu:
"Forces of Fantasy" (nazwa projektu, nie finalna gry) to próba stworzenia gry RPG/FPS. Projekt jest wielki, zaryzykowałbym stwierdzenie, że to jeden z największych projektów "WarsztatuGD". Samobójstwem jest jego realizacja samemu, ba, bez przynajmniej 8-osobowej ekipy raczej nie ma na co liczyć.

Zanim przejdę do konkretów może powiem trochę o sobie:
naukę programowania na własną rękę zacząłem już w podstawówce, C++ w gimnazjum, a od 2 klasy ogólniaka (kiedy skończyłem 18 lat) do dziś kieruję rozwojem innego komercyjnego projektu działającym pod firmą. Jako, że ów projekt został z pewnych bardzo przykrych powodów na dość długi czas zawieszony zyskałem czas na wybadanie szans na rozwój "Forces of Fantasy".

Pierwsze konkrety:
Pewnie wielu z Was słyszało o "papierowych" grach RPG, dla tych, którzy nie wiedzą, o co chodzi w wielkim uproszczeniu sprawa wygląda tak:
Zbiera się kilku graczy i Game Master [GM]. GM ustala mapę, przygody jakim gracze muszą sprostać, przeszkody, etc. Od konkretnego rodzaju gry zależą takie aspekty jak klasy, zdolności, obrażenia, możliwości, etc. Gra się toczy praktycznie w wyobraźni graczy no i trochę na papierze. Wielką zaletą tego systemu jest jego otwartość - człowiek czuwa nad grą, więc można robić wszystko co w realu a nie 3 zaprogramowane akcje na krzyż.
Oczywiście jest to takie uproszczenie, jakbym napisał, że programowanie to "pisanie na klawiaturze".

Już wcześniej były podejmowane próby przeniesienia klasycznego RPG'a do komputera i oczywiście nie zamierzam tego robić, bo to tak jakby robić komputerowy symulator paintballa - mija się z celem. Chciałbym zatem wykorzystać system tworzenia fabuły, terenu, zasadzek, etc na potrzebę każdej gry przez... graczy.
Taka pojedyncza partia w  "Forces of Fantasy" wyglądałaby następująco. Jeden, a najlepiej dwaj Game Masterowie przygotowują specjalnym, ekspresowym edytorem mapę (wybierają, gdzie mają być lasy, urwiska, góry, etc, etc, etc). Edytor dynamicznie generuje opartą na voxelach mapę. Następnie ustawiają na niej NPC, pozycje startowe, potwory, określają ich profil zachowania (np. neutralny, agresywny, zasadzka itp), ustawiają przedmioty, budynki, jakieś własne konstrukcje etc, etc, etc. Gdy mapa jest gotowa można przystąpić do gry. Gra musi mieć wbudowany i rozwinięty chat głosowy. Game Masterowie mają własny kanał, ale słyszą też rozmowy graczy. Gracze mają jakiś cel, którego się dowiadują od np. NPC. Niewidzialni Game Masterzy "fruwają" nad graczami, obserwując ich postępy, ewentualnie uruchamiając pułapki czy wywołując zdarzenia. Widząc, że gracz podchodzi do NPC mogą przejąć nad nim (NPC) kontrolę a po nałożeniu prostego filtra wykorzystywać chat głosowy w jego imieniu. Gracze poznają fabułę i przeżywają przygody. Jakie, zależy od GM'ów, którzy mają praktycznie całkowitą władzę (mogą nawet wywołać deszcz, noc, muzykę itp). System gry musi być tak otwarty, by pozwolić graczowi nawet wyjąć drzwi z framugi i zacząć nimi walczyć z potencjalnym przeciwnikiem.

Kwestie techniczne:
Językiem programowania będzie oczywiście C++. Środowisko... z mojej strony chciałbym aby była to jakaś pochodna środowiska Borland, najlepiej C++ Builder 6 albo XE2, bo w bibliotece VCL jedna osoba może zrobić praktycznie cały interfejs w tydzień. Dodatkowo daje nam ono świetny debugger no i ja mam w nim znacznie większe doświadczenie. Visual C++ oferuje praktycznie podobne możliwości z tym, że interfejs trzeba by było robić sprzętowo w bibliotece graficznej i przy większych projektach proces kompilacji jest znacznie dłuższy.
W ostateczności można nawet w prosty sposób używać w BCB bibliotek .dll pisanych w VC++ i na odwrót.
Dodatkowo korzystając z tych środowisk możemy wykorzystywać należącą do mnie, ale zrealizowaną na potrzeby poprzedniego projektu bibliotekę graficzno-fizyczną "stalder". Znajduje się tam kompletny silnik fizyczny do przeliczania np. fizyki ciała postaci czy jakiegokolwiek innego obiektu (stalder wykorzystuje PhysX 3.2).
Oczywiście taki wybór automatycznie skazuje projekt na działanie wyłącznie pod Windowsem, ale nie wyobrażam sobie crossplatformowości jako kolejnego celu :|.
Tak więc skoro pracujemy pod Windowsem na bibliotekę graficzną sugerowałbym Direct3D.

Dlaczego nagle zacząłem mówić w liczbie mnogiej? Bo jak już mówiłem głównym celem pisania tego posta jest właśnie poszukiwanie zespołu :). Jest on tak niepewny, że żadna firma na niego nie wyłoży nań pieniędzy, ale jego założenia mają potencjał by trafić do przynajmniej wąskiej grupy odbiorców. Jego realizację celowałbym do osób, które chcą się nie uczyć, tylko rozwinąć, mają czas, chęć oraz zapał by zrobić coś poważnego obok np. liczenia całek czy rozwiązywania nieistniejących problemów.
Kogo, oprócz regularnego zespołu bym/śmy jeszcze potrzebował/li? Wszystkich/wszystkiego! Grafik, modeli, dźwięków, muzyki, konceptów, pomysłów, reklam, promocji, bannerów itd. To niekomercyjna amatorszczyzna, a więc prawie pełna wolność w środkach!

Przedostatnia sprawa, tak profilaktycznie: nie kieruje mną "słomiany zapał", tylko zimna kalkulacja połączona z frustracją spowodowaną działaniem polskich firm i polskiego systemu edukacji (nie szufladkuję, mówię ogólnie).

No i na razie to tyle :). Jestem bardzo ciekawy, jaki w ogóle ten portal ma potencjał, co Wy o tym sądzicie, posłuchać sceptycyzmu, odpowiedzieć na pytania i wdać się w potencjalną polemikę. Po "wybadaniu terenu" przejdziemy do konkretów :)

Pozdrawiam
« Ostatnia zmiana: Styczeń 07, 2013, 19:12:36 wysłana przez Voidripper »

Offline Mr. Spam

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

Offline darthtomi

  • Użytkownik

# Sierpień 23, 2012, 18:59:09
Ja już nic nie będę pisał... i tak zaraz 17 latek Oti przyjdzie i powie ci jaki to beznadziejny pomysł i w ogóle cie wyśmieje. On to zrobi z ignorancji i bo łatwo innych wyśmiewać niż samemu coś zrobić, ale ogólne przesłanie jego wypowiedzi będzie słuszne niestety.

Offline Voidripper

  • Użytkownik

# Sierpień 23, 2012, 19:11:06
Między innymi chodzi mi o to, by usłyszeć DLACZEGO " to beznadziejny pomysł i w ogóle" zasługuje na wyśmianie.

Offline Avaj

  • Użytkownik

# Sierpień 23, 2012, 19:35:31
dobra, to ja napiszę "dlaczego".

Cytuj
Językiem programowania będzie oczywiście C++. Środowisko... z mojej strony chciałbym aby była to jakaś pochodna środowiska Borland, najlepiej C++ Builder 6 albo XE2, bo w bibliotece VCL jedna osoba może zrobić praktycznie cały interfejs w tydzień. Dodatkowo daje nam ono świetny debugger no i ja mam w nim znacznie większe doświadczenie. Visual C++ oferuje praktycznie podobne możliwości z tym, że interfejs trzeba by było robić sprzętowo w bibliotece graficznej i przy większych projektach proces kompilacji jest znacznie dłuższy.
ojjjjj

słyszał kolega o MFC, Qt, GTK, Wx? Jest tego dużo i szybko i wygodnie można to robić, debugger też działa. Btw, C++ Builder 6 już od dawna jest na wymarciu IMHO.

Cytuj
Znajduje się tam kompletny silnik fizyczny do przeliczania np. fizyki ciała postaci czy jakiegokolwiek innego obiektu (swindler wykorzystuje PhysX 3.2).
Oczywiście taki wybór automatycznie skazuje projekt na działanie wyłącznie pod Windowsem, ale nie wyobrażam sobie crossplatformowości jako kolejnego celu :|.
Tak więc skoro pracujemy pod Windowsem na bibliotekę graficzną sugerowałbym Direct3D.
Nie widzę sensu pisania silnika 3D pod amatorską grę. Zanim doprowadzicie engine do stanu używalności miną co najmniej miesiące, lepiej używać gotowego i sprawdzonego silnika i korzystać z jego technologii. W 2D to jeszcze, bo tam nie ma czegoś tak typowego jak silnik, wystarczy, że możesz rysować sprite'y i tekst i już masz silnik 2D.

Cytuj
Grafik, modeli, dźwięków, muzyki, konceptów, pomysłów, reklam, promocji, bannerów itd. To niekomercyjna amatorszczyzna, a więc prawie pełna wolność w środkach!
Pełna wolność oznacza brak odpowiedzialności, a brak odpowiedzialności powoduje lenistwo, a lenistwo zabija projekty. Praktycznie wszystkie projekty tworzenia gry od zera, nawet w miarę proste upadają, jak ludzie zdają sobie sprawę ile trzeba zrobić rzeczy i to jeszcze wszystko utrzymywać w ryzach. Szczególnie za darmo, jak robisz za kasę, to najgorszą rzecz zrobisz, po prostu mocniej zaciśniesz zęby.


BTW, opisywany przez ciebie projekt już istnieje. Nazywa się Neverwinter Nights i ma to o czym piszesz - gamemasterzy robią mapę a gracze próbują ją przejść omijając pułapki itp. ponadto game master może w locie dodawać rzeczy dostosowując się do ruchów graczy, no i jeszcze bonusowo jest ogromna baza gotowego contentu i licencja D&D. Ludzie na bazie NWN nawet pseudo-MMO robią, w sensie wychodząc z serwera zapisują się twoje przedmioty i statystyki i może wiele osób w tym samym świecie podróżować.

Offline Xender

  • Użytkownik

# Sierpień 23, 2012, 19:57:21
System gry musi być tak otwarty, by pozwolić graczowi nawet wyjąć drzwi z framugi i zacząć nimi walczyć z potencjalnym przeciwnikiem.
Jak do tej pory najtrudniejszy element do zrealizowania. Nie będę mówił "niewykonalne", ale mogę powiedzieć, że wymagałoby albo przewidzenia wszystkich use-casów wszystkich rzeczy na mapie, albo naprawdę zaawansowanego systemu obiektów i fizyki - bardzo trudne...

Kwestie techniczne:
Środowisko... z mojej strony chciałbym aby była to jakaś pochodna środowiska Borland, najlepiej C++ Builder 6 albo XE2, bo w bibliotece VCL jedna osoba może zrobić praktycznie cały interfejs w tydzień. Dodatkowo daje nam ono świetny debugger no i ja mam w nim znacznie większe doświadczenie. Visual C++ oferuje praktycznie podobne możliwości z tym, że interfejs trzeba by było robić sprzętowo w bibliotece graficznej i przy większych projektach proces kompilacji jest znacznie dłuższy.
Nie wygląda na dobry wybór, a na pewno nie do gry. Borland nadal ma niestandardowe properties? Jeśli tak, to mamy pisanie kodu IDE-specific (VCL korzysta z niestandardowych properties, więc jest związane z kompilatorem, a samo ukłądanie UI też jest silnie zależne od tego konkretnego IDE), co wygląda bardzo źle. W razie potrzeby zmiany - dupa.

W ostateczności można nawet w prosty sposób używać w BCB bibliotek .dll pisanych w VC++ i na odwrót.
Dodatkowo korzystając z tych środowisk możemy wykorzystywać należącą do mnie, ale zrealizowaną na potrzeby poprzedniego projektu bibliotekę graficzno-fizyczną "swindler". Znajduje się tam kompletny silnik fizyczny do przeliczania np. fizyki ciała postaci czy jakiegokolwiek innego obiektu (swindler wykorzystuje PhysX 3.2).
Oczywiście taki wybór automatycznie skazuje projekt na działanie wyłącznie pod Windowsem, ale nie wyobrażam sobie crossplatformowości jako kolejnego celu :|.
Tak więc skoro pracujemy pod Windowsem na bibliotekę graficzną sugerowałbym Direct3D.
Nie rozumiem - które z powyższych wyklucza crossplatformowość? Kod nie powinien być zależy od jakiegokolwiek IDE. Jeśli w Twojej bibliotece jest coś system-specific, można to przepisać.

Offline waxx

  • Użytkownik

# Sierpień 23, 2012, 20:39:00
zzzzzzzzzz
kolejna super wizja rozlazlego rpga



ziew

Offline darthtomi

  • Użytkownik

# Sierpień 23, 2012, 20:40:15
W ogóle pisanie czegokolwiek samemu jest niedorzecznością w dzisiejszych czasach. Własny engine to sobie może robić studio z 15 programistami i kupą szmalu. Normalni ludzie używają gotowych silników.

Zasadniczo pomysł nie jest zły, ale tylko jako pewna odskocznia do bardziej konkretnego designu. Jak już zostało to powiedziane, NWN już praktycznie robi to co opisałeś i nie ma rynku czy zapotrzebowania na tego typu gry, a pomysł jest raczej chybiony - tak jak granie w Monopoly na Facebooku.

Można jednak tą idee rozwinąć w np. rezygnującą z synchroniczności grę MMO z user created content albo grę RPG z naciskiem na PvP w postaci GM vs gracze.

To są nawet fajne pomysły:D

Offline Overvoid

  • Użytkownik

# Sierpień 23, 2012, 20:55:01
No dokładnie o to mi chodziło :)
C++ Builder 6 już od dawna jest na wymarciu IMHO.
Tak, ale pomimo wieku i spadku popularności w wersji niekomercyjnej dalej oferuje więcej niż Visual C++ 2010 Express.

Nie widzę sensu pisania silnika 3D pod amatorską grę. Zanim doprowadzicie engine do stanu używalności miną co najmniej miesiące, lepiej używać gotowego i sprawdzonego silnika i korzystać z jego technologii.
Tu już wszystko zależy rodzaju, zaawansowania i innych parametrów silnika. Owszem nie da się od 0 zrobić amatorskiego, ładnie wyglądającego i pracującego enginu w 3 miesiące, ale w rok czy nawet półtora już tak. Problem z gotowcami jest taki, że kiedy robisz coś niestandartowego, jak sieciowa synchronizacja mapy dynamicznie generowanej na poziomie voxeli, to wychodzi wydajnościowa katastrofa. Jednak mam tu małe doświadczenie i jeśli istnieje gotowy engine, który sobie z tym poradzi no to głupotą jest nie skorzystać, tym bardziej, jeśli jest dość otwarty by mógł współpracować ze stalderem.

Pełna wolność oznacza brak odpowiedzialności, a brak odpowiedzialności powoduje lenistwo, a lenistwo zabija projekty. Praktycznie wszystkie projekty tworzenia gry od zera, nawet w miarę proste upadają, jak ludzie zdają sobie sprawę ile trzeba zrobić rzeczy i to jeszcze wszystko utrzymywać w ryzach. Szczególnie za darmo, jak robisz za kasę, to najgorszą rzecz zrobisz, po prostu mocniej zaciśniesz zęby.
To, co teraz napiszę może być mało wiarygodne, jeśli nie wierzysz to załóż, że to prawda i napisz co o tym byś sądził, gdyby była. Tak więc mój poprzedni projekt był rozwijany dokładnie przez rok i dwa miesiące. Zaczynał jako amatorszczyzna. Sam pracowałem przez okrągły rok, serwer, engine i gameplay były rozwijane równolegle. Wszystko miałem zaplanowane, nie było kryzysów nerwowych i fochów, że ojj tyle jeszcze do zrobienia. Poświęcałem mu z 6 godzin tygodniowo. Co się z nim stało? W obliczu szans na przyśpieszenie prac nad nim postanowiłem go rozwijać pod pewną firmą. Wszystko było bomba, dopóki nie porozmawiałem twarzą w twarz z 3 z 5 osób z którymi miałem pracować. Zrobiłem wielki błąd, że zgodziłem się na ich zatrudnienie dopiero po podpisaniu kontraktu i oddaniu praw do gry. Krótko mówiąc była to kolejna firma dymająca ludzi i trzymająca się na pakietach unijnych. Resztę można dopowiedzieć sobie samemu. W moim wieku i z moim wykształceniem nie mam najmniejszych szans na znalezienie pracy w kategorii gamedev'u więc bardzo bym chciał się wciągnąć w jakiś POWAŻNY amatorski projekt, nie robienie klona pacmana, pisząc na boku silnik fizyczny wykorzystujący PhysX'a 3.2. Dobrze wiem, jak się kończy większość amatorskich projektów (jeszcze nie widziałem żadnego dobrze rokującego, dlatego zacząłem własną inicjatywę) i wiem czego należy unikać. Za tą wiedzę płacę teraz 10k linii kodu, do których nie mam prawa, ale pomimo tego dalej wierzę, że po trafieniu na właściwych ludzi i realny pomysł jest coś takiego osiągalne. To jest na razie przykładowy pomysł, nie zabieram się do jego realizacji dopóki nie usłyszę co ludzie patrzący z innej strony mają do powiedzenia :)
BTW, opisywany przez ciebie projekt już istnieje.
BY THE WAY?! Powinno być raczej "AFOA" :D (At First Of All) bo to samo w sobie praktycznie przesądza sprawę.
« Ostatnia zmiana: Styczeń 07, 2013, 19:21:45 wysłana przez Overvoid »

Offline Voidripper

  • Użytkownik

# Sierpień 23, 2012, 21:04:10
/\ Sorry, ta wypowiedź została napisana przeze mnie z konta, do którego straciłem dostęp, a które pamiętał stary system.

Offline doomtrader

  • Użytkownik

  • +2
# Sierpień 23, 2012, 23:44:56
Zacznij od gry 10 razy prostszej i 20 razy mniejszej.
Szanse na ukończenie wzrosną Ci pięciokrotnie (czyli do jakichś 10%).

Offline zxc

  • Użytkownik

  • +1
# Sierpień 24, 2012, 01:05:57
Zrób to jako mod do minecrafta. Jako samodzielny produkt to jest raczej bez szans, ale jeśli okroisz to do wersji minimum i wypuścisz to będziesz miał szanse pracować z zainteresowanymi graczami. Jeśli zainteresowanych nie znajdziesz, to dałbym sobie spokój.

Jeśli nie skończyłeś dotąd żadnego projektu to planowanie czegoś na półtora roku, to nie jest planowanie tylko odraczanie wypuszczenia czegoś do ludzi. Dopóki nie wypuścisz gry do ludzi, to możesz być "next big thing", na które wszyscy czekają choć o tym nie wiedzą. Wypuszczenie gry, to jest reality-check, którego amatorskie projekty unikają jak ognia.

Offline zxc

  • Użytkownik

# Sierpień 24, 2012, 01:22:00
Przy czym pomysł, żeby GMowie aktorzyli wcielając się w NPCów jest przedni. Możnaby robić przygody oparte na dialogach. Zostało to gdzieś już zastosowane?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Sierpień 24, 2012, 09:42:24
Cytuj
Jestem bardzo ciekawy, jaki w ogóle ten portal ma potencjał, co Wy o tym sądzicie
Wszystko co piszesz już zostało zaimplementowane w Neverwinter Nights (chociaż grałem tylko w pierwszą część). Biorąc pod uwagę do tego, że NwN siedzi na mechanice Dungeons and Dragons, jeżeli ktoś by chciał rozegrać sesję RPG z mistrzem na kompie, to będzie to eleganckie rozwiązanie.

Przy czym pomysł, żeby GMowie aktorzyli wcielając się w NPCów jest przedni. Możnaby robić przygody oparte na dialogach. Zostało to gdzieś już zastosowane?
Ano właśnie tak mniej więcej to w NwN wyglądało. Pomijając już oczywisty edytor do plansz, dialogów i questów (dość ograniczony, ale wygodny) mając odpowiednie uprawnienia można było dołączyć do gry multi właśnie jako GM, który miał więcej uprawnień niż root na Linuksie. Poza modyfikacjami real-time chyba większości rzeczy w grze wchodzenie w NPC było także jedną z umiejętności.

Offline zxc

  • Użytkownik

# Sierpień 24, 2012, 12:21:19
A, nie znałem NwN od tej strony. Dzięki za info, pooglądam sobie.

Offline zephyr

  • Użytkownik

# Sierpień 25, 2012, 10:17:22
Nie znam możliwosci Nwn, warto zobaczyć co oferuje "konkurencja".

Sam pomysł brzmi ok, tylko niszowy i trzeba okroić zakres.
Po co 3d i fizyka, 2d i prosta mechanika w zupełności wystarczą, ważne żeby MG miał możliwości tworzenia ciekawych rzeczy w oparciu o silnik i rozpowszechniania najlepszych przygód wśród innych MG.
To ma być chyba gra wyobraźni, a zrobienie masy assetów 3d to duży problem, (zastanawiam się czy same dialogi to nie za dużo roboty, może faktycznie jakiś system notatek i voice chat z fajnymi filtrami) proste i bardziej elastyczne 2d ma imo więcej sensu przy takim projekcie, zwłaszcza że MG nie będzie przecież robił modeli do swojej mapy (chyba że to ma być jakiś względnie user friendly silnik do RPGów - ale to jest jakaś nisza w niszy; jeszcze więcej roboty niż przy przygotowaniu normalnej sesji - bez sensu). Pełna swoboda też jest niemożliwa, IMO wystarczy prosty elastyczny system gdzie MG może np dać graczowi zrobioną na szybko improwizowaną broń z grafiką "???" i głupim opisem. Zaprojektowanie czegoś szybkiego w użyciu i względnie łatwego do ogarnięcia brzmi jak wystarczająco trudne zadanie.

Dopracować rankingi gotowych przygód, jakieś wygodne sposoby do modyfikacji i dzielenia się przygodami, fajne interfacey do szukania drużyny itp około społecznościowe i może być coś ciekawego z tego.

Jako 3d z super grafiką, mega fizyką i pełną swobodą projekt brzmi zupełnie nierealnie, jeszcze tylko MMO brakuje.