Autor Wątek: Pospolite warsztatowe ruszenie 2.0  (Przeczytany 11442 razy)

Offline Antek

  • Użytkownik
    • blog

# Luty 24, 2014, 04:13:38
Ale opierając się o Twoje doświadczenia, mógłbyś rozwinąć czemu według Ciebie zrealizowanie RTSa podobnego do K&M ma być trudniejsze niż stworzenie np. dobrego FPSa?
nie można się opierać na koiratowym doświadczeniu, o ile RTSa robił, to FPSa już nie robił, jak ma porównać :)

Offline Mr. Spam

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

Offline ShadowDancer

  • Redaktor

# Luty 24, 2014, 10:31:07
Podejrzewam, że wciąż wie więcej, niż ktoś kto nie robił RTS'a i nie robił FPS'a ;)

Offline Antek

  • Użytkownik
    • blog

# Luty 24, 2014, 10:56:47
A ja podejrzewam, że jego opinia będzie biased w kierunku "RTS tylko dla mistrzów, nie wiecie na co się piszecie, dzieciaki ;)" ;)

Offline koirat

  • Użytkownik

# Luty 24, 2014, 16:02:19
A ja podejrzewam, że jego opinia będzie biased w kierunku "RTS tylko dla mistrzów, nie wiecie na co się piszecie, dzieciaki ;)" ;)

Dość daleki jestem od zachowania o którym piszesz, powiedział bym nawet że czuję się głupszy im dłużej siedzę w tej dziedzinie ;)

Jak byłem developerem marzycielem (zero praktyki, zero wiedzy, wielkie ambicje, i świadomość że mogę zrobić to lepiej niż wszystkie te studia AAA), uważałem że RTS to nic wielkiego.
 
Jednak wgłębiając się w game development zacząłem zauważać że RTS jest z dużym prawdopodobieństwem najtrudniejszym do wykonania (dla programisty) typem gry.

Typowego FPS-a nigdy nie robiłem docelowo:
Raz robiłem TPP 99% własnoręcznie razem z grafiką. "Dzieło" powstawało na silniku OGRE
http://www.youtube.com/watch?v=gDB1fBv1XnQ&list=PLQGUIuA88lFTFsgUH9IYxWRdAT-nam-6B

Jeżeli ktoś ma inne przekonania niż ja to chętnie wysłucham argumentów, w końcu mogę się mylić.



Offline toxic

  • Użytkownik

# Luty 24, 2014, 16:34:42
Hm... a czego użyłeś do fizyki/kolizji?

Offline koirat

  • Użytkownik

# Luty 24, 2014, 17:05:34
Przepraszam, miałem w planie to napisać a zapomniałem :)

Do fizyki użyłem "newton game dynamics"
Grafikę oraz levele wykonałem w Blenderze
Levele były eksportowane do formatu XML, dokładniej to pozycje wszystkich obiektów z których składał się level.
Dodatkowo eksportowane były takie rzeczy jak pozycje przeciwników, informacje np co ma być przyciskiem i co ten przycisk ma uruchamiać np windę itp.

Czyli ogólnie na upartego da się korzystać z Blendera jako edytora do gry.

Zaimplementowałem również portale i mam tu na myśli reprezentacje sceny, co naprawdę dało niezłego kopa jeśli chodzi o szybkość działania. Defaultowo ogre działa na octree. 
Portale również tworzyłem w blenderze jako płaskie wypukłe wielokąty.

Jeśli chodzi jeszcze o grafikę ogólnie korzystałem z lightmap utworzonych w Blenderze.

Na koniec metodą montecarlo w różnych miejscach levelu zbierałem informacje o oświetleniu, "light nodes" chyba ta technika się nazywa. Moje light nodes miały po 6 kolorów reprezentujących światło environmental (ze ścian podłogi nieba itp) z każdej strony sześcianu. Teraz bym light nodes implementował za pomocą "spherical harmonics". Ale wtedy dopiero wgłębiałem się w tą technikę.

Offline toxic

  • Użytkownik

# Luty 24, 2014, 17:08:46
O. A jak przechowywałeś informacje o tym, które portale 'widzą' które portale? W sensie jakoś w blenderze łączyłeś geometrie z danymi portalami i potem to jakoś się eksportowało razem z resztą, czy jak?

Offline koirat

  • Użytkownik

# Luty 24, 2014, 17:20:50
Tak coś jakoś tak to właśnie było :) Nie pamiętam teraz dokładnie bo parę lat temu to było i nie wiem teraz nawet gdzie mam źródła od tego.
Zazwyczaj były dwa portale w jednym miejscu o tym samym kształcie tylko odwróconych normalnych. Jeden wskazywał w jedną drugi w drugą stronę. Obiekty były przypisane do "Area" i portal wiedział na jakie area wskazywać. Wszystko to było bardziej zautomatyzowane w blenderze ustawiałeś graniastosłupy i nadawałeś im odpowiednie propert które określało że jest to element pomocniczy  do jakiego "Area" należy. W grze rozpoznawałem na jakie "Area" portal wskazuje poprzez sprawdzanie na jakie "Area" wskazuje jego normalna.
Wszystkie obiekty w tych pomocniczych graniastosłupach należały do tych samych "Area" co one.

Wszystko to obliczane było podczas loadowania gry. Wiec jak już grałeś to działało to bardzo sprawnie.

Offline toxic

  • Użytkownik

# Luty 24, 2014, 17:23:19
Kapuję. Dzięki. (tzn kapuję na tyle na ile to sobie wyobrażam :)).

Offline koirat

  • Użytkownik

# Luty 24, 2014, 17:28:48
Aha pytanie jak robiłem to który portal widział który.

Czysta matematyka, kurcze tego naprawdę dokładnie nie pamiętam, ale najpierw sprawdzałem jakie portale  w aktualnym area są w FOV kamery później sprawdzałem czy widzę następne portale w tych następnych area z tej pozycji poprzez ten portal, i tak dalej i dalej. Na koniec mając listę portali byłem w stanie powiedzieć jakie Area są widoczne. Robiłem chyba jeszcze dokładniejszy culling dla obiektów które były wewnątrz Area dla tego specjalnego regionu utworzonego przez frustum kamery i te wszystkie widoczne portale.

Offline Khrone

  • Użytkownik

# Luty 25, 2014, 00:37:45
Zapisałem się. Nawet jeśli nic z tego nie wyniknie, to może zdobędę jakieś doświadczenie. :)

Offline ByerN

  • Użytkownik

# Luty 25, 2014, 10:42:04
Unity to zupełnie nie moja bajka. Jakbyście potrzebowali jakieś wektorki to możecie pisać do mnie (bez przesady oczywiście :P)

Offline Finn

  • Użytkownik

# Marzec 14, 2014, 16:03:54
Jeśli to możliwe chętnie bym się przyłączył do inicjatywy