Autor Wątek: Flex: The Training [FPP]  (Przeczytany 3837 razy)

Offline Real_Noname

  • Użytkownik

# Luty 12, 2007, 22:36:55
Od dłuższego czasu do tej dry dojrzewało wszystko - moje umiejętności, pomysł, projekt, wymagania

Na początek Desing Doc, mały wycinek z niego:
/===
Typ Gry:   FPP, liniowa fabuła
Widok:    Pierwsza osoba
Cel:       Ucieczka z planety ziemia
Przeciwnicy:    Roboty
Czas Akcji:   Niedaleka przyszłość
Miejsce Akcji:   Bliżej nieznane, podziemia.
Czas Gry:   4-5 h
Ilość poziomów:   ok. 10 - 14

Platforma Docelowa:
System:   Windows XP
Technologie:    OpenGL min 1.5, DX 9.0c
Wejście:   DirectInput
Dźwięk:   OpenAL\DirectX

Planowane narzędzia w produkcji:
Edytor Poziomów
Wtyczka do Blender'a umożliwiająca eksport do FMD
Wtyczka do Gimp'a umożliwiająca eksport do FGX

1. Fabuła:    
   Po wiekach, nadszedł czas, by ludzkość zapłaciła za swe grzechy. Ich własny twór: najróżniejsze roboty, maszyny, komputery, uznały ludzi za zagrożenie nr 1 dla świata i zdecydowały o eksterminacji w trybie natychmiastowym. Dzieki technologii broni masowego rażenia, większość ludzi padła zanim się zoriętowała o swym losie. Niedobitki starają się uciec starymi promami kosmicznymi na pobliskie planety układu słonecznego. Wcielamy się w jednego z nich.

2. Rozgrywka:    
   Kilka strzałów z broni mikrofalowej pomogło i dałeś rade na dojście do przejścia. Zmieniłeś broń na miotacz rakiet. Wiedziałeś, że czeka tam na ciebie powitanie. Dwa strzały po ścianach i okoliczne robopająki wysiadły. Zostały jeszcze dwa seeker'y. Szybko rzuciłeś granat cieplny i chowałeś się za ścianą. Otumanione roboty zawróciły w kierunku źródła wybuchu. W tej chwili szybko wystrzeliłeś z za roga niszcząc ich układy ruchu. Świetnie! Jeszcze jedne drzwi i dojdziesz do wachadłowca. Przeszedłeś przez drzwi i... Pusto! W tej chwili otwierają się włazy wylotowe i przez nie wlatują robohunter'y. To pułapka!

3. Postacie:

A. Główny Bohater
Imie:    Jan.
Opis:    Były śmieciarz z wyższym wykształceniem. Zainteresowany był różnego rodzaju uzbrojeniem, stąd podstawowa wiedza o broniach krótkich. Prawo jazdy na samochody ciężarowe zapewniają umiejętność prowadzenia większości pojazdów naziemnych. Podczas "sprzątania" miał akurat zleconą pracę w kanałach - stąd przeżył. Teraz jego jedynym celem jest "uciec z tego cholernego grobu!".
Udział:   Główny bohater, brak miejsc z uwidocznieniem wyglądu.

B. Poboczni Bohaterowie
Imie:   Nadia
Opis:   Pielęgniarka z wykształceniem informatyka. Nie potrafi posługiwać się bronią, ani kierować pojazdami. Za to jako hobby ma hacking komputerowy. Do tego jest obeznana w pierwszej pomocy. Podczas "sprzątania" przechodziła przez tunel miejski, który wytrzymał fale uderzeniową, lecz odciął ją od świata. Nadia znalazła tam bunkier, w którym dowiercili przewody telekomunikacyjne. Wykorzystując to przypadkiem nawiązała kontakt z Janem. Jej cel - trudno się domyślić - wydostać się na zewnątrz.
Udział:   Wyłącznie rozmowa przez komunikator. Brak możliwości uwidocznienia wyglądu.
/===
Niektóre rzeczy można przyjąć z przymróżeniem oka. Jedynie opis rozrywki jest troche przestarzały, bo pisany w początkach rozmyślań nad projektem.

Obecnie jestem w trakcie pisania edytora poziomów, engine sam w sobie ma napisane podstawy. Scenariusz jest już w połowie napisany.

W tej chwili interesuje mnie zdanie innych na temat mojego pomysłu. Według mojej oceny, nawet na upartego (czytaj: sam będe tworzył modele, itp) zdołam ukończyć projekt. A umieszczam topic tu, bo pomysł można jeszcze skorygować, a projekt już niebardzo :)

Offline Mr. Spam

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

Offline Charibo

  • Redaktor

# Luty 12, 2007, 23:04:12
Hmm, mam mieszane uczucia... Projekt ambitny, ale wykonalny. Jak napiszesz to napisz mi, bo naprawde bym sobie zagral :)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 13, 2007, 00:36:57
Cytuj
Flex: The Training [FPP]
Co właściwie ta nazwa ma oznaczać? :)

Cytuj
Edytor Poziomów
Wtyczka do Blender'a umożliwiająca eksport do FMD
Wtyczka do Gimp'a umożliwiająca eksport do FGX
Myślę, że tutaj bez problemów mógłbyś trochę zmniejszyć nakład pracy. Na Twoim miejscu bym poszukał jakiegoś gotowego edytora poziomów i przemyślał użycie gotowych formatów. :)

Cytuj
Niedobitki starają się uciec starymi promami kosmicznymi na pobliskie planety układu słonecznego. Wcielamy się w jednego z nich.
Na pobliskie planety układu słonecznego, czyli gdzie? Ani na Wenus ani na Marsie nie da się przecież żyć, a tym bardziej na pozostałych planetach naszego układu. Nawet zakładając, że do tej pory Mars został skolonizowany, na pewno stałby się on celem robotów, które z pewnością przeprowadziły by gruntownąjego "dekolonizację".

Zakładając nawet, że było by dokąd uciec, to skąd bohater miałby wytrzasnąć prom kosmiczny i nim wystartować? Widzę tutaj parę niedociągnięć fabuły:
- wielkość promu, ilość paliwa oraz miejsca potrzebnego do jego startu czyni iście nieprawdopodobnym znalezienie po wojnie promu zdolnego gdziekolwiek dolecieć (nawet banalne usterki mogą się przełożyć na katastrofę podczas startu),
- prom kosmiczny jest z reguły skomputeryzowany, więc roboty na pewno już nad wszystkimi takimi promami zapanowały, a ręcznie przecież czymś takim nie wystartujesz,
- zresztą, nawet jak wystartujesz, to najprawdopodobniej po prostu nie trafisz w Marsa bez stosownych obliczeń, których raczej na kartce nie przeprowadzisz,
- tak, czy inaczej, pewnie jeszcze przed opuszczeniem atmosfery nas zestrzelą

Jak widać, fabuła jest mocno naciągana. :)

Cytuj
Obecnie jestem w trakcie pisania edytora poziomów, engine sam w sobie ma napisane podstawy. Scenariusz jest już w połowie napisany.
Z ciekawości: jakie możliwości przewidujesz w silniku, zwłaszcza, jeżeli chodzi o grafikę? :) Zastanawia mnie też, co ma robić ten edytor do poziomów, bo nie sądzę, żebyś rzucał się na pisanie własnego QuArK'a, a myślę, że można będzie się spodziewać poziomów o większej złożoności od Wolfenstein'a 3D. :)


No i poza tym nasuwa się pytanie: planujesz to wydać komercyjnie? :)


Popracuj jeszcze nad tą fabułą. Powodzenia. :)

Offline Real_Noname

  • Użytkownik

# Luty 13, 2007, 20:33:38
Co właściwie ta nazwa ma oznaczać? :)
To się wyjaśni na końcu gry :) a fabuła mam nadzieje wyjdzie zaskakująca (przynajmniej na końcu). Przewiduje taki Gray-End (na pewno nie Happy, ani do końca Bad)
[a w klamrach napisałem gatunek]
Myślę, że tutaj bez problemów mógłbyś trochę zmniejszyć nakład pracy. Na Twoim miejscu bym poszukał jakiegoś gotowego edytora poziomów i przemyślał użycie gotowych formatów. :)
Uwierz mi - myślałem nad tym. Ale doszedłem do wniosku, że lepiej powoli, z każdym projektem dopracowywać własne narzędzia i formaty. Jak np. było z aurorą (nwn, kotor, kotor2 i nwn2), czy formatem mdl (mdl (quake, half-life), md2 (q2), md3 (q3), md4 (doom3), md5 (q4 chyba)).
fmd - myśle nad tym formatem od roku, mam nadzieje, że teraz jego ostateczna forma się wyłoni
fgx - format się ustabilizował przy projekcie BitRace.
jedynie do muzyki zdecydowałem się użyć ogg
Na pobliskie planety układu słonecznego, czyli gdzie? Ani na Wenus ani na Marsie nie da się przecież żyć, a tym bardziej na pozostałych planetach naszego układu. Nawet zakładając, że do tej pory Mars został skolonizowany, na pewno stałby się on celem robotów, które z pewnością przeprowadziły by gruntownąjego "dekolonizację".
Masz rację :). Może się zdziwisz, ale to specjalny zabieg w fabule :]
Zakładając nawet, że było by dokąd uciec, to skąd bohater miałby wytrzasnąć prom kosmiczny i nim wystartować? Widzę tutaj parę niedociągnięć fabuły:
- wielkość promu, ilość paliwa oraz miejsca potrzebnego do jego startu czyni iście nieprawdopodobnym znalezienie po wojnie promu zdolnego gdziekolwiek dolecieć (nawet banalne usterki mogą się przełożyć na katastrofę podczas startu),
- prom kosmiczny jest z reguły skomputeryzowany, więc roboty na pewno już nad wszystkimi takimi promami zapanowały, a ręcznie przecież czymś takim nie wystartujesz,
- zresztą, nawet jak wystartujesz, to najprawdopodobniej po prostu nie trafisz w Marsa bez stosownych obliczeń, których raczej na kartce nie przeprowadzisz,
- tak, czy inaczej, pewnie jeszcze przed opuszczeniem atmosfery nas zestrzelą

Jak widać, fabuła jest mocno naciągana. :)
Jak powiedziałem wcześniej - masz racje i wyszstko jest zamierzone. Według scenariusza, to główny bohater będzie zauważać pewne niezgodności (notabene - został wysłany by odszukać prom, a promu nima :) ) i jak powiedziałem wcześniej - część rzeczy wyjaśni się na końcu :).
Z ciekawości: jakie możliwości przewidujesz w silniku, zwłaszcza, jeżeli chodzi o grafikę? :) Zastanawia mnie też, co ma robić ten edytor do poziomów, bo nie sądzę, żebyś rzucał się na pisanie własnego QuArK'a, a myślę, że można będzie się spodziewać poziomów o większej złożoności od Wolfenstein'a 3D. :)
I tak, i nie. Edytor projektuje z myślą, żeby był jak najbardziej intuicyjny i prosty - oczywiście odbywa to się pewnymi kosztami. Można powiedzieć, że cały poziom składa się z sześcianów, które można sobie układać w pokoje, korytarze, a nawet otwartą przestrzeń. Nasuwa się tu pewne ograniczenie - geometria poziomu raczej będzie jednakowa :/ ale to powinny rozwiązać dodatkowe statyczne meshe. No i oczywiście - wszystko staram się zrobić tak, że jak jakaś osoba (są jeszcze takie?) zgłosi się do mnie na level-desingera, to żeby mu nie tłumaczyć "wciśnij ctr+shift+q+w potem dwa razy y i zatańcz sambe, a pojawi się ściana!", tylko "zaznacz pare klocków i wciśnij R, a stworzysz pokój".

No ale oczywiście technologie :) :
- efekty typu parallax, bump, itp
- shadow volumes i shadow maps (do wyboru)
- light maps ( w połączeniu z resztą)
- statyczne i dynamiczne światła
- fizyka oparta na Newton'ie
- dodatki typu systemy cząstek, AA, (zastanawiam się nad HDR, ale tego jeszcze nie pojąłem do końca)
- portale i strefy (dla widoczności)
- skrypty (język podobny do C++)
- vertex i fragment shadery (rządzą światem :])
No i poza tym nasuwa się pytanie: planujesz to wydać komercyjnie? :)
Czas pokaże - jeżeli to chciaż podejdzie pod pułap gier komercyjnych, to się zastanowie.
Popracuj jeszcze nad tą fabułą. Powodzenia. :)
Thx.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 13, 2007, 21:06:31
Cytuj
Można powiedzieć, że cały poziom składa się z sześcianów, które można sobie układać w pokoje, korytarze, a nawet otwartą przestrzeń. Nasuwa się tu pewne ograniczenie - geometria poziomu raczej będzie jednakowa :/ ale to powinny rozwiązać dodatkowe statyczne meshe.
Cały Oblivion był zrobiony na statycznych meshach (+heightmapa pod teren i SpeedTree), więc myślę, że coś z tego będzie się dało wycisnąć. :)

Offline Real_Noname

  • Użytkownik

# Luty 14, 2007, 21:26:16
Możliwe, ale wątpie, żeby było można u mnie height mape zastosować na meshu :]

A będąc przy hmap - by zastosować ładny parallax potrzebna jest normal mapa i height mapa, czy dobrym pomysłem byłoby "wepchnięcie" hmapy na kanał alpha do normal mapy? (potem w fragment shaderze by to się odzielało). Kombinuje jak tu wszystko upchnąć, by nie zajmowało 10 jednostek tex.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 15, 2007, 01:54:36
Możliwe, ale wątpie, żeby było można u mnie height mape zastosować na meshu :]
Chodziło mi o typową heightmapę jako sposób tworzenia rozległych terenów. :)

A będąc przy hmap - by zastosować ładny parallax potrzebna jest normal mapa i height mapa, czy dobrym pomysłem byłoby "wepchnięcie" hmapy na kanał alpha do normal mapy? (potem w fragment shaderze by to się odzielało). Kombinuje jak tu wszystko upchnąć, by nie zajmowało 10 jednostek tex.
Myślę, że tu nie liczy się liczba jednostek teksturujących, ale sumaryczna liczba komponentów samplowanych tekstur. Nie wiem, jak to wygląda w praktyce, ale pakowanie heightmapy do normalmapy w przypadku parallaxa wygląda mi nieco niebezpiecznie, poniważ:
- odczytujesz heightmapę (a przy okazji niepotrzebnie normalmapę),
- wyznaczasz nowe współrzędne tekstury,
- odczytujesz normalmapę (a przy okazji niepotrzebnie heightmapę)

Kandydatami na kanał alpha raczej były by takie rzeczy jak tekstura specular (o ile jest jednobarwna), czy wykładnik speculara, lub inne skalarne wartości. :)

Offline Real_Noname

  • Użytkownik

# Luty 15, 2007, 16:44:28
Możliwe, ale wątpie, żeby było można u mnie height mape zastosować na meshu :]
Chodziło mi o typową heightmapę jako sposób tworzenia rozległych terenów. :)
Wiem. Już sam robiłem pare takich efektów, ale nie wiem czy wykładnik czas/praca/efekt by się opłacał, na wprowadzenie do mojej gry (przy okazji fabułe trzeba byłoby przeprawić).

A będąc przy hmap - by zastosować ładny parallax potrzebna jest normal mapa i height mapa, czy dobrym pomysłem byłoby "wepchnięcie" hmapy na kanał alpha do normal mapy? (potem w fragment shaderze by to się odzielało). Kombinuje jak tu wszystko upchnąć, by nie zajmowało 10 jednostek tex.
Myślę, że tu nie liczy się liczba jednostek teksturujących, ale sumaryczna liczba komponentów samplowanych tekstur. Nie wiem, jak to wygląda w praktyce, ale pakowanie heightmapy do normalmapy w przypadku parallaxa wygląda mi nieco niebezpiecznie, poniważ:
- odczytujesz heightmapę (a przy okazji niepotrzebnie normalmapę),
- wyznaczasz nowe współrzędne tekstury,
- odczytujesz normalmapę (a przy okazji niepotrzebnie heightmapę)

Kandydatami na kanał alpha raczej były by takie rzeczy jak tekstura specular (o ile jest jednobarwna), czy wykładnik speculara, lub inne skalarne wartości. :)
Możliwe, ale dla pewności musze jeszcze zobaczyć w GLSL, jak to się odbywa. Bo jeżeli się okaże, że i tak odczytywane są cztery kanały (a dostarczone były trzy), to zapisanie wartości do jednego raczej będzie opłacalne.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 15, 2007, 17:23:08
Możliwe, ale dla pewności musze jeszcze zobaczyć w GLSL, jak to się odbywa. Bo jeżeli się okaże, że i tak odczytywane są cztery kanały (a dostarczone były trzy), to zapisanie wartości do jednego raczej będzie opłacalne.
A co da Ci to sprawdzenie? I tak ostatecznie to driver kompiluje kod po swojemu na swój własny kod maszynowy i bez reverse engineeringu się raczej nie dowiesz, co dokładnie dzisje się tam w środku. :)

Offline Real_Noname

  • Użytkownik

# Luty 15, 2007, 17:47:07
Racja, lecz trzeba działać na tym co się ma. Ja tu nie widze ogromnego obciążenia, a wygoda w kodzie jakaś będzie. W każdym razie - testy wszystko wykażą.

swiru

  • Gość
# Maj 23, 2007, 02:20:51
Cytuj
Zakładając nawet, że było by dokąd uciec, to skąd bohater miałby wytrzasnąć prom kosmiczny i nim wystartować? Widzę tutaj parę niedociągnięć fabuły:
- wielkość promu, ilość paliwa oraz miejsca potrzebnego do jego startu czyni iście nieprawdopodobnym znalezienie po wojnie promu zdolnego gdziekolwiek dolecieć (nawet banalne usterki mogą się przełożyć na katastrofę podczas startu),
- prom kosmiczny jest z reguły skomputeryzowany, więc roboty na pewno już nad wszystkimi takimi promami zapanowały, a ręcznie przecież czymś takim nie wystartujesz,
- zresztą, nawet jak wystartujesz, to najprawdopodobniej po prostu nie trafisz w Marsa bez stosownych obliczeń, których raczej na kartce nie przeprowadzisz,

Cytat: Antycząstka
rodzaj cząstki subatomowej o tej samej masie co inna cząstka oraz równej co do wielkości, lecz przeciwnej co do znaku innej właściwości lub właściwościach. Gdy cząstka i jej antycząstka zderzają się następuje anihilacja.
solniczka i jesteś na 2 stronie drogi mlecznej - w postaci placka .....
hmm prom jest niezależny chyba że wprowadzą neta ;p a robot w prowmie nie musi nic wiedzieć o buncie ...

co do obliczeń hmm  wkońcu przy napendzie antyatomowym nie bendzie wazne gdzie się wystartuje i tak trafisz  ;D tak samo jak pojechać na slepo a potem nawracać ...



przecie to przyszłość  ::)
« Ostatnia zmiana: Maj 23, 2007, 02:32:05 wysłana przez swiru »

Offline Charibo

  • Redaktor

# Maj 23, 2007, 17:36:41
a ten temat to przeszlosc...

swiru

  • Gość
# Maj 23, 2007, 21:59:35
a ten temat to przeszlosc...
Hmm a kiedy jest tera ... ?

Offline _ElviS_

  • Użytkownik
    • The Lair.

# Maj 31, 2007, 12:37:29
Przeszłość? Z tego, co widzę, to projekt nie został zawieszony, dlatego nie rozumiem problemu ;).
Nasuwa mi się pytanie - silniczek nastawiony ma być na indoor, outdoor czy coś bardziej uniwersalnego?
Z opisu wynika, iż będzie to typowo "labiryntowy" indoor, jednak jako, że wspominano heightmapy, trochę mnie to zaciekawiło...
« Ostatnia zmiana: Maj 31, 2007, 12:50:48 wysłana przez _ElviS_ »

Offline Matrik

  • Użytkownik

# Wrzesień 15, 2007, 15:11:35
Cytuj
To się wyjaśni na końcu gry Smiley a fabuła mam nadzieje wyjdzie zaskakująca (przynajmniej na końcu). Przewiduje taki Gray-End (na pewno nie Happy, ani do końca Bad)

Coś w rodzaju, że wszystko okazuje się wirtualną rzeczywistością, programem, w którym KTOŚ testował "flex" głównego bohatera?

Masz materiał na sequel ;p