Autor Wątek: The Cavern [FPS]  (Przeczytany 29662 razy)

Offline Pavolvo

  • Użytkownik

# Październik 02, 2011, 22:14:38
Skoro to jest gra zachowana oldskulem(wiem, że to się inaczej pisze;P) i wygląda jak oldskul to i działac powinna jak oldskul a ja mam 1FPS!!! Kurna, intro było spoko ale grę odpalałem kilka razy az w końcu odpaliła gierka, ale grac się nie dało-tak cięło:/

Offline Mr. Spam

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

Offline Vipa

  • Redaktor

  • +4
# Październik 10, 2012, 20:38:25
Z racji nowego WSOC, zaktualizowana wersja.
Link

Zmiany... Napisane od nowa. Nie ma przebacz, tamta wersja była zła i trzeba o niej zapomnieć ;). Tę odpaliłem nawet na moim Toshiba Satellite więc problemów nie przewiduję.

Z nowości to przede wszystkim portale. Działają podobnie jak te z gry Prey. Można oczywiście przez nie strzelać i przechodzić, jednakże wrogom zablokowałem te funkcję bo nie szło przeżyć ;). Przy okazji już wiem dlaczego w grach z portalami nie robi się gdy obok np. wody. Ilość renderów może zabić. Ograniczyłem do jednego na określony zasięg, więc jest nieźle. Choć tu akurat gdyby zmniejszyć ilość wrogów i itemów to szło by całkiem wporzo.
Druga poważna zmiana to wywalenie SDL'a. Sorry, ale pozbycie się jej traktuje jako mus. Przede wszystkim ze względu na input lagi, które w fpsie nie mogą mieć racji bytu.
Trzecia zmiana z ważniejszych to napisanie generowania jaskiń od nowa. Więcej niecek skupiających wrogów, lepsze przejścia pomiędzy "komnatami". Oczywiście dalej całość jest losowa.
Czwarta poważna zmiana to animacja. Niestety animowałem sam więc nie miałem możliwości wykorzystać w pełni tego co nowe.
No i piąta zmiana to renderowanie. Nie wiem czy da się bardziej okroić to co jest rysowane.

Doszła mapa. Środkowy myszy lub klawisz M.

W grze są dostępne dwa tryby graficzne normal i low. Defaultowo jest normal i jeżeli komuś mimo wszystko zabraknie fps, to polecam przełączenie trybu (F1, działa toggle). Spowoduje to zmniejszenie ilości renderowanych powierzchni i przeniesienie części wyliczeń z GPU na CPU.
Pod klawiszem Home, mamy dostępnych kilka info o wydajności, m.in. FPS i ilość rysowanych tris.
Gdyby jednak komuś gra klatkowała lub działo by się z nią coś innego - dziwnego, to bardzo proszę o info + zawartość pliku debug.txt.

Miłej zabawy życzę ;).

Offline Kos

  • Użytkownik
    • kos.gd

  • +3
# Październik 10, 2012, 21:16:15
U mnie na radeonie działa jak trzeba. Good job :)

Druga poważna zmiana to wywalenie SDL'a. Sorry, ale pozbycie się jej traktuje jako mus. Przede wszystkim ze względu na input lagi, które w fpsie nie mogą mieć racji bytu.

Ouch :( SDL ma input lagi? Normalnie przez while SDL_PollEvent(...)?
Cholender, nie miałem pojęcia! Ilekroć widzę jakąś grę, która mi się chce minimalizować na pasek albo nie puszcza kursora na alt-tab, moja reakcja to "Y u no SDL, miałbyś to z głowy!" A tu taka niespodzianka. Ciekawe, czy GLFW ma to samo.

Trochę jest niejasne, jak działa ekwipunek, w szczególności skrzynki z amunicją. Jak czegoś nie mogę podnieść, to nie rozumiem dlaczego. Pewnie za mało grałem w Tomb Raidera :).
Brakuje spisu klawiszy, jak zgaduję to nigdy nie wiem czy zgadłem już wszystkie.

Widoczność wrogów jest dość słaba (choć pewnie celowo). Pewnie dlatego, że systematycznie są (wydają się) tacy mali! Rybki i karaluchostwory w wodzie najbardziej. Przez to jest efekt, że do wody strach wejść.

Gra ma małą dynamikę przez to, że wrogowie są wolni i ich pociski są wolne. Panta rhei! :)

Mogę zmieniać ekwipunek kółkiem, ale w zupełnie nieprzewidywalny sposób.

Wskaźnik kierunku obrażeń jest dla mnie zupełnie bezużyteczny. Szczególnie w wodzie - nigdy nie wiem, co mnie zabija. Już w Descent się lepiej orientowałem. :D

Największym Twoim grzechem jest zdecydowanie to, że wrogowie nie mają dźwięku śmierci! Ta cisza zabija przyjemność zabijania.
Ale za to dobra robota z odzywkami głównego bohatera. Chciałbym zobaczyć, jak siedzisz i je nagrywasz :).

Offline Raptor

  • Użytkownik

  • +1
# Październik 10, 2012, 21:31:04
Za to ja mam dziwne błędy. Gdy mam włączonego v-synca wszystko jest okej, w obydwu trybach. Jednak gdy go wyłączę to w trybie normalnym mam ~120 FPSów, i mam wtedy pokaz slajdów / jeden obrazek (tylko minimapa cały czas działa, i ekwipunek)
Podczas nagrywania Frapsem było minimalnie mniej FPSów, przez co było lepiej :)
Tu krótki filmik:
https://dl.dropbox.com/u/17905745/the_cave_film1.mp4
Przy przełączeniu na low wszystko dobrze działa, przy każdej ilości FPSów.
Debug.txt:
LOG
*****************
Windows 7 Home Premium 64 bit, version 6.1 [Build 7601]
AMD Phenom(tm) II X4 955 Processor
shader log [shader/terrain.vert]:
shader log [shader/terrain.frag]:
shader log [shader/terrainlow.vert]:
shader log [shader/terrainlow.frag]:
shader log [shader/bump.vert]:
shader log [shader/bump.frag]:
shader log [shader/water.vert]:
shader log [shader/water.frag]:
shader log [shader/blur.frag]:
shader log [shader/bloom.frag]:
shader log [shader/pixelate.frag]:
shader log [shader/foam.vert]:
shader log [shader/foam.frag]:
shader log [shader/underwater.frag]:
shader log [shader/fromwater.frag]:
shader log [shader/radial.vert]:
shader log [shader/radial.frag]:
shader log [shader/items.vert]:
shader log [shader/items.frag]:
shader log [shader/enemies.vert]:
shader log [shader/enemies.frag]:
shader log [shader/flares.vert]:
shader log [shader/flares.frag]:
shader log [shader/trash.vert]:
shader log [shader/trash.frag]:
shader log [shader/map.vert]:
shader log [shader/map.frag]:
shader log [shader/toglow.frag]:
shader log [shader/portals.vert]:
shader log [shader/portals.frag]:
shader log [shader/gate.vert]:
shader log [shader/gate.frag]:
shader log [shader/entry.vert]:
shader log [shader/entry.frag]:


Mam GeForce 470 GTX, więc to raczej nie wina mojej karty :)

Offline Vipa

  • Redaktor

# Październik 10, 2012, 21:48:50
Ouch :( SDL ma input lagi? Normalnie przez while SDL_PollEvent(...)?
Cholender, nie miałem pojęcia! Ilekroć widzę jakąś grę, która mi się chce minimalizować na pasek albo nie puszcza kursora na alt-tab, moja reakcja to "Y u no SDL, miałbyś to z głowy!" A tu taka niespodzianka. Ciekawe, czy GLFW ma to samo.
Szczerze mówiąc to nie wiem o co kaman. Nie wnikałem za bardzo w SDL'a. Wygląda to tak, jakby zbierał input do kolejki i w wolnej chwili wywalał wszystko naraz. Sumą tego można było przy niskim fpsie nastrzelać i potem przez dłuższą chwilę podziwiać jak postać sama strzela a my z rączkami na karku. Inna sprawa to opóźnienia. Strzał i czekasz. Nagle bach! Nie wiem o co kaman. Być może ja czegoś nie wiem :(.

Cytuj
Trochę jest niejasne, jak działa ekwipunek, w szczególności skrzynki z amunicją. Jak czegoś nie mogę podnieść, to nie rozumiem dlaczego. Pewnie za mało grałem w Tomb Raidera :).
Brakuje spisu klawiszy, jak zgaduję to nigdy nie wiem czy zgadłem już wszystkie.

Mogę zmieniać ekwipunek kółkiem, ale w zupełnie nieprzewidywalny sposób.
Klawiszologia:
- sterowanie strzałki lub WSAD.
- podnoszenie przedmiotów Enter lub E.
- strzał - lewy myszy
- ekwipunek - prawy myszy (w ekwipunku strzałki na boki lub AD, wybieramy zamykając ekwipunek prawym myszy lub używamy od razu lewym myszy)
- shift - kucnięcie. Przydatne gdy trzeba wejść w jakąś szczelinę a szkoda nam dynamitu.
- 1-0 lub num0-num9 - przypisane do klawiszy itemki
- rolka myszy to następny i poprzedni item. Kolejność to najpierw bronie potem reszta. W ekwipunku zwykłym mamy kolejność zebrania itemów.
- środkowy myszy lub M - duża mapa
- ESC wyjście do ekranu startowego

Co do skrzynek, to są też karty-klucze Fedexu. Aktywny item do wzięcia jest z prawej strony nad ikonkami broni. Gdy widać skrzynkę można użyć karty z ekwipunku i automatycznie otwieramy skrzynkę i dodaje nam naboi. Można też skrzynkę zebrać i używając jej - upuścić na ziemię.

Minigun - można postawić na ziemi krótkim klikiem (wtedy sam namierza i rozwala cele) lub przytrzymując lewy myszy, strzelać z biodra. Cholernie dobra broń, choć z celowaniem słabo. Typowy spray.

Cytuj
Widoczność wrogów jest dość słaba (choć pewnie celowo). Pewnie dlatego, że systematycznie są (wydają się) tacy mali! Rybki i karaluchostwory w wodzie najbardziej. Przez to jest efekt, że do wody strach wejść.
Ja tam do wody nie wejdę dopóki wszystkiego nie rozwalę :D.

Cytuj
Gra ma małą dynamikę przez to, że wrogowie są wolni i ich pociski są wolne. Panta rhei! :)
Wiem :(. Co do prędkości "strzałów" to celowe. Co do prędkości wrogów to niestety fps. Im szybciej się poruszają tym częściej ich updejt, który wymaga jeszcze optymalizacji.

Cytuj
Wskaźnik kierunku obrażeń jest dla mnie zupełnie bezużyteczny. Szczególnie w wodzie - nigdy nie wiem, co mnie zabija. Już w Descent się lepiej orientowałem. :D
Działa rewelacyjnie! Tylko dochodzi góra-dół. W przypadku eksplozji to już nie wiadomo, z której strony. Musze odnaleźć sposób by wykrywać źródło (choć te może już fizycznie nie istnieć).

Cytuj
Największym Twoim grzechem jest zdecydowanie to, że wrogowie nie mają dźwięku śmierci! Ta cisza zabija przyjemność zabijania.
In progress...

Cytuj
Ale za to dobra robota z odzywkami głównego bohatera. Chciałbym zobaczyć, jak siedzisz i je nagrywasz :).
... tym bardziej, że mikrofon mam zepsuty i trzeba się do niego drzeć :). Spoko, sąsiedzi wiedzą co i jak i już nie nasyłają policji (a zdarzało się).


Za to ja mam dziwne błędy...
Zaskoczka. Max miałem ponad 200 fps, ale takich objawów nigdy :(. Spojrzę w kod, aktualizacje są oparte o deltę, być może gdzieś mam byka w trybie hi-end. Tam dzieją się niezłe masakry, więc to niestety możliwe.
« Ostatnia zmiana: Październik 10, 2012, 22:01:40 wysłana przez Vipa »

Offline Kos

  • Użytkownik
    • kos.gd

# Październik 10, 2012, 22:20:18
Szczerze mówiąc to nie wiem o co kaman. Nie wnikałem za bardzo w SDL'a. Wygląda to tak, jakby zbierał input do kolejki i w wolnej chwili wywalał wszystko naraz. Sumą tego można było przy niskim fpsie nastrzelać i potem przez dłuższą chwilę podziwiać jak postać sama strzela a my z rączkami na karku. Inna sprawa to opóźnienia. Strzał i czekasz. Nagle bach! Nie wiem o co kaman. Być może ja czegoś nie wiem :(.

What! Myślałem o jakimś 10ms opóźnieniu, które już by było podejrzane, ale aż tak?! To nie powinno mieć miejsca. Masz jeszcze gdzieś kod, który to obrazuje?

Cytuj
- shift - kucnięcie. Przydatne gdy trzeba wejść w jakąś szczelinę a szkoda nam dynamitu.
LOL, dynamit może rozwalać ściany?

Cytuj
rolka myszy to następny i poprzedni item. Kolejność to najpierw bronie potem reszta. W ekwipunku zwykłym mamy kolejność zebrania itemów.
Jakby ta kolejność była na HUDzie, to bym się nie mylił. Na razie jest metoda prób i błędów.

Cytuj
Co do skrzynek, to są też karty-klucze Fedexu. Aktywny item do wzięcia jest z prawej strony nad ikonkami broni. Gdy widać skrzynkę można użyć karty z ekwipunku i automatycznie otwieramy skrzynkę i dodaje nam naboi. Można też skrzynkę zebrać i używając jej - upuścić na ziemię.

Wytłumacz mi, jak działa amunicja. To nie jest tak, że jest jej nieskończenie wiele, tylko trzeba przeładować?
Kart jest chyba mniej niż skrzynek i rzadko mogę którąś otworzyć. Amunicji mi jednak nigdy nie brakuje, bo wszędzie jest broń.

Cytuj
Minigun - można postawić na ziemi krótkim klikiem (wtedy sam namierza i rozwala cele)
:DDD A ja kiedyś myślałem, że go przypadkiem upuściłem.
Minusem miniguna jest to, że nie widać, kiedy się coś zatrzeli :)

Cytuj
Ja tam do wody nie wejdę dopóki wszystkiego nie rozwalę :D.
A bo to widać, czy "wszystko" rozwalone... :)



BTW masz fajnego buga: zdjęcie i założenie akwalungu odnawia całe powietrze.

A pająki wcale nie są pajęcze bez ruchomych nóg i dyrgania po ścianach :P

Offline Avaj

  • Użytkownik

# Październik 10, 2012, 22:52:33
Nie chcę z ciebie robić głupka Vipa, ale na pewno przetwarzałeś wszystkie eventy naraz w klatce (while (SDL_PollEvent(&event)) { } ) zamiast jednego SDL_PollEvent na klatkę gry? bo kiedyś też tak miałem i na SDLa zwalałem :)

Offline Kos

  • Użytkownik
    • kos.gd

# Październik 10, 2012, 22:53:35
@up nie tylko Ty :D

Offline Vipa

  • Redaktor

# Październik 10, 2012, 23:00:18
Mam gdzieś stary kod z SDLem, pokażę jak będę przy drugim kompie. Robiłem to rok temu i szczerze - nie pamiętam :(. Być może jest tak jak piszesz Avaj.

Dynamitem, rakietnicą, strzelając w akwalung... Dynamit zostawiony pod samą ścianą da o wiele lepszy rezultat niż po prostu postawiony na ziemi. Czasami warto też wychylić się winkiel zostawić dynamit i w nogi. Licznik punktów powinien wzrosnąć :).

Amunicja do pistoletów się nie kończy. Posiadając dwa ingramy w dłoniach ammo potrafi się skończyć zadziwiająco szybko :). Co do otwierania skrzynek to każdą się da. Kart powinno być w całym kompleksie tyle samo co wszystkich skrzynek. Ale za miejsca ich rozlokowania nie ręczę...

Dobre z tym akwalungiem. Teoretycznie powietrze powinno się powoli "odnawiać", ale zakładając akwalung od razu masz dostęp do powietrza. Rozwiążę to zapamiętując ilość powietrza w każdym z nich.

W wodzie widać pięknie. Wystarczy się trochę obrócić by odblask nie zasłaniał widoku. Specular mapa na rybkach jest przegięta i widać jak "świecą". Ja tam z reguły naparzam we wszystko w wodzie. Nawet gdy z daleka widać niebieskie flary znajdek, można strzelać na pałę. Jak trafi się akwalung to eksplozja w wodzie jest o wiele bardziej skuteczna i potrafi wybić wszystko do nogi. Właśnie sam się zaskoczyłem - z jednej strony fizyczne zachowanie eksplozji a z drugiej strzał w butlę powoduje eksplozję :D. Spoko, fizyków proszę o przymrużenie oka :).

Offline Paweł

  • Użytkownik

# Październik 10, 2012, 23:16:56
Zajrzałem do źródeł (a raczej jednego źródła :) ) Uprsing i jest tak jak pisze Avaj, czyli masa energii psu w dupę.

Offline rhdbisgrt

  • Użytkownik

# Październik 11, 2012, 00:02:56
Nie chcę z ciebie robić głupka Vipa, ale na pewno przetwarzałeś wszystkie eventy naraz w klatce (while (SDL_PollEvent(&event)) { } ) zamiast jednego SDL_PollEvent na klatkę gry? bo kiedyś też tak miałem i na SDLa zwalałem :)

hehe - dobre

Offline Vipa

  • Redaktor

# Październik 11, 2012, 09:09:40
Heh, faktycznie.
Wtedy składałem projekt z elementów i nie zwracałem do końca uwagi na ich zawartość ;).

Offline Marszal

  • Użytkownik

# Październik 11, 2012, 20:42:42
Gra wciągająca :). Gratulacje produkcji! :)

Offline Limal

  • Użytkownik
    • http://wolnik.co.uk

  • +1
# Październik 11, 2012, 22:25:02
Wszystkie elementy graficzne - szczególnie woda, latarka i wrogowie - prócz skał uległy dużej poprawie. Gratuluję!

Mimo wszystko gracz nie porusza się w taki sam sposób jak w Counter-Strike'u - nie wiem czy za wolno chodzi, czy to coś innego, w każdym razie nie ma tej płynności w poruszaniu się.

Druga sprawa jest taka, że gra jest za trudna i nie wiem co właściwie muszę zrobić, ale to zapewne zamierzony element gry.

Offline Avaj

  • Użytkownik

# Październik 12, 2012, 11:00:58
ajj, czemu interfejs jest taki mały? Na moim 17" 1440x900 prawie w ogóle nie widać cyferek oxygen i health, trzeba dobrze spojrzeć.

poza tym, przydałby się VSync podczas intra, bo usłyszałem w słuchawkach bardzo nieprzyjemne piszczenie (uroki front panela ^^).