Autor Wątek: Cube  (Przeczytany 1770 razy)

Offline Toker

  • Użytkownik

# Luty 08, 2008, 20:26:03
Tytuł może trochę niezbyt wyrafinowany, ale mam nadzieję, że ktoś mi pomoże. Otóż, robię sobie gierkę , takiego zwykłego snake'a tyle, że poruszającego się po sześcianie. I teraz po obsłużeniu sterowania w grze, miałem nadzieję uzyskać efekt swobodnego chodzenia po ścianach bryły. Tylko teraz tak. Kiedy nie używam do chodzenia dwóch bocznych ścian, to wszystko gra. Ale kiedy chcę chodzić wężem po całym sześcianie to już wychodzą niejednoznaczne decyzje w ustaleniu gdzie jest przód, a gdzie góra.
No to namotałem ładnie. A teraz o co mi chodzi. Czy ktoś może kiedyś robił coś w tym stylu i miał podobny problem?

Jak by co, to tutaj można pobrać jedną z wersji gdzie problem sterowania rozwiązałem najlepiej jak umiałem.
www.toker4gamedev.republika.pl/game.exe   Ale to i tak jest tylko masa if'ów. Ma ktoś może jakieś pomysły, jak by to można było rozwiązać?

Sterowanie: WSAD     <- PORUSZANIE SZEśCIANEM
                    ARROWS <- PORUSZANIE WężEM
« Ostatnia zmiana: Luty 08, 2008, 20:28:28 wysłana przez Toker »

Offline Mr. Spam

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

Offline artpoz

  • Użytkownik
    • blog o tworzeniu gier

# Luty 08, 2008, 20:46:27
Snake po sześcianie. Fajnie się zapowiada :)
Odpaliłem twoją gierke. Strasznie szybko chodzi. Musisz uniezależnić poruszanie od szybkości kompa.
Druga sprawa to sterowanie. Może wogóle zrezygnuj z poruszania sześcianem. Ustaw kamerę na sztywno nad snakiem i niech sie sama obraca bo bez sensu jest sterowanie czymś czego się nie widzi a dwoma rzeczami na raz to troche zbyt hadrcorowo.

Pozdrawiam i życzę ukończenia gierki
artpoz



Offline albireo

  • Użytkownik

# Luty 08, 2008, 21:23:01
Odnośnie sterowania, to ja bym zrobił tak, że po przejściu na sąsiednią ściankę sterowanie zachowuje się zawsze tak jakby to było przechodzenie w wersji bez bocznych ścianek (czyli ta ścianka z której się wychodzi i ta na którą się wchodzi nie są nigdy traktowane jako boczne, inaczej mówiąc, idąc cały czas w jednym kierunku chodzisz zawsze po 4 ściankach), trzeba tu jeszcze zwrócić uwagę, że orientacja sterowania na pojedynczej ściance będzie zależała od tego jaką drogą się dostało na tę ściankę (a dokładniej, to tylko od tego przez jakie ścianki i w jakiej kolejności się przeszło).

Offline Kos

  • Użytkownik
    • kos.gd

# Luty 08, 2008, 21:30:15
Wprowadź sterowanie relatywne - czyli strzałka w lewo to skręt o 90% w lewo strzałka w prawo to 90% w prawo. Skończą Ci się problemy z orientacją :)

Odnośnie kamery - automat moim zdaniem raczej nie, ale będzie to całkiem intuicyjne jeśli dasz sterowanie wężem pod wsad, a obrót kamery pod myszką.

Co do FPSów, zapewne (jeśli bym miał zgadywać) prędkość gry jest ograniczona przez vsync, czyli im szybciej się u kogoś ekran odświeża, tym szybciej chodzi gra? Sam na laptopie mam 60Hz, chodziła (chyba) tak jak trzeba, niemniej podpisuję się pod wnioskiem Artpoza o uniezależnienie czasu gry od fpsów :)

Offline artpoz

  • Użytkownik
    • blog o tworzeniu gier

# Luty 08, 2008, 22:45:27
Co do FPSów, zapewne (jeśli bym miał zgadywać) prędkość gry jest ograniczona przez vsync, czyli im szybciej się u kogoś ekran odświeża, tym szybciej chodzi gra?
Nie sądze. Ja też mam 60 Hz :)

Offline Toker

  • Użytkownik

# Luty 09, 2008, 11:38:15
Strasznie szybko chodzi.
Chodzi szybko, bo na razie żadnego ograniczenia nie robiłem. U mnie chodziło normalnie (niestety) Ale GetTickCount() załatwi sprawę.
Ile to powinno mieć FPS chyba około 30 , tak?

trzeba tu jeszcze zwrócić uwagę, że orientacja sterowania na pojedynczej ściance będzie zależała od tego jaką drogą się dostało na tę ściankę (a dokładniej, to tylko od tego przez jakie ścianki i w jakiej kolejności się przeszło).
To jest właśnie głupia sprawa trochę, bo masz rację. Będzie ciężko.

Wprowadź sterowanie relatywne - czyli strzałka w lewo to skręt o 90% w lewo strzałka w prawo to 90% w prawo. Skończą Ci się problemy z orientacją :)
O tym to ja nie pomyślałem. Dzięki, tak to właśnie zrobię!

Odnośnie kamery - automat moim zdaniem raczej nie, ale będzie to całkiem intuicyjne jeśli dasz sterowanie wężem pod wsad, a obrót kamery pod myszką.
Co do kamery to nie jest takie jednoznaczne, ponieważ w trybie easy - kamera automatyczna, normal - kamera poruszana myszką, hard - kamera poruszana klawiszami WSAD.


Dzięki za odpowiedzi.


Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 09, 2008, 13:00:15
Cytuj
Co do kamery to nie jest takie jednoznaczne, ponieważ w trybie easy - kamera automatyczna, normal - kamera poruszana myszką, hard - kamera poruszana klawiszami WSAD.
Przyznam, że pomysł wymuszania poziomu trudności sposobem sterowania jest IMHO kompletnie bezsensowny. Z takim podejściem to na najwyższym poziomie trudności Doom'a 3 bohaterem byśmy sterowali nadając mu polecenia kodem Morse'a wystukiwanym na przycisku Eject CD-ROM'u. Radzę po prostu zrobić wybór sterowania w opcjach, każdy wybierze sobie co mu wygodne, a poziom trudności niech wpływa na bardziej sensowne rzeczy (przeszkadzajki, wymagane jedzenie na poziom, szybkość gry, itp). :)

Offline kryzys

  • Użytkownik

# Luty 09, 2008, 13:12:41
ale dzięki takiemu sterowaniu można wyćwiczyć koordynacje obu rąk, według mnie pomysł sterowania wężem i kamerą jednocześnie jest lepszy. Można na przykład obrócić kamerę żeby zobaczyć czy pojawiła się nowa "kropka do zjedzenia" z drugiej strony sześcianu (nie trzeba od razu przechodzić tam wężem)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 09, 2008, 13:14:35
ale dzięki takiemu sterowaniu można wyćwiczyć koordynacje obu rąk, według mnie pomysł sterowania wężem i kamerą jednocześnie jest lepszy. Można na przykład obrócić kamerę żeby zobaczyć czy pojawiła się nowa "kropka do zjedzenia" z drugiej strony sześcianu (nie trzeba od razu przechodzić tam wężem)
Właśnie dlatego sugeruję zrobienie dowolnego wyboru sposobu sterowania i każdy wybierze co komu pasuje. :)

Offline Toker

  • Użytkownik

# Luty 09, 2008, 23:25:20
Cytuj
Fajnie się zapowiada Smiley
(...)Strasznie szybko chodzi. (...)

Jak by co zaktualizowałem link. Powinno chodzić poprawnie.

// ale to już raczej przy okazji. Bo problem z przechodzeniem po ścianach został rozwiązany.

Offline Kos

  • Użytkownik
    • kos.gd

# Luty 10, 2008, 14:24:30
Wężyk' przestał w ogóle przechodzić pomiędzy ścianami. Pewny jesteś, że rozwiązany?

(i czy tylko mi robi 'pik' przy skręcaniu?)