Autor Wątek: Podróżowanie drużyny po mapie w grze cRPG  (Przeczytany 1751 razy)

Offline lighting

  • Użytkownik

# Styczeń 26, 2015, 18:32:25
Cześć,

Próbuje się uporać w sensowny sposób z problemem podróżowania po mapie świata pewnej drużyny ( w czasie rzeczywistym ). Załóżmy że mamy mapę złożoną z gór, rzek, miejscowości, etc. a drużyna jest złożona z ludzi (nie botów), którzy chcieliby razem dotrzeć do jakiegoś punktu. Oczywiście 1 gracz = 1 człowiek, więc każdy steruje swoją postacią. Z tego powodu nie znajduje ciekawego dla wszystkich biorących udział w drużynie sposobu na podróż po takiej mapie bo albo:
- gracze scalają się w 1 byt i wtedy 1 steruje gdzie pójdą, reszta musi się nudzić
- każdy prowadzi postać niezależnie, jednak co w przypadku, jak klikną w 2 zupełnie różne miejsca (rozejdą się) ?

Warto dodać jedną rzecz - najbardziej zbliżona gra do omawianej to Mount & Blade z widokiem mapy kontynentu. Chodzi mi o wariant, w którym zamiast NPC przyłączaliby się żywi gracze.

Czy jako ludzie z doświadczeniem, macie jakąś sensowną wskazówkę co do rozwiązania tego problemu ?

Dzięki,
Maciek
« Ostatnia zmiana: Styczeń 26, 2015, 21:28:59 wysłana przez lighting »

Offline Mr. Spam

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

Offline shoter

  • Użytkownik

# Styczeń 26, 2015, 22:06:41
W Fallout 2238 (Albo jakiś podobny numerek bo się to chyba (?) zmienia co rok) było to zrobione na zasadzie łączenia playerów w 1 drużyne gdzie dowódca mógł sterować gdzię pójdą.
Działało? Działało! Nie było to sztuczne w feelingu czy dyskomfortowe. Nie psuje immersji, gameplayu więc jest rozwiązaniem według mnie wystarczająco dobrym.

Nie wiem po co wiecej kombinować? Twój drugi pomysł wydaje mi się dosyć chaotyczny :?

(A jednak najbardziej zbliżony jest F2/1 według mnie :P)
« Ostatnia zmiana: Styczeń 26, 2015, 22:08:23 wysłana przez shoter »

Offline lighting

  • Użytkownik

# Styczeń 27, 2015, 00:05:09
Aż sprawdzę Fallout'a o takim kuriozalnym numerze. Mówisz, że to działa ? Oznacza to niesamowite zgranie ludzi, bo chyba obcych zmusisz do wspólnej gry może być b. trudne.

Dzięki za podpowiedź tytułu,
pozdrawiam,

Maciek

Offline Xirdus

  • Moderator

# Styczeń 27, 2015, 01:16:01
Borderlands jest grą zupełnie innego gatunku i całkiem inny scope, ale jest tam tak, że jak się w kilka osób gra, to każdy chodzi gdzie chce, ale jak ktoś dojdzie do przejścia do kolejnego sektora, to włącza się kilkusekundowy timer który każdy może anulować, a potem wszyscy razem idą do tego nowego sektora.

Offline lighting

  • Użytkownik

# Styczeń 27, 2015, 09:59:27
Dzięki Xirdus,

To co napisałeś przypomina mi tzw instancje z różnorakich MMO. Zbiera się gromada ludzi i razem idą w inne miejsce.
Mi chodzi o koncepcję drużyny, która będzie razem w stanie podejmować jakieś akcje, w szczególności podróżować. Ponieważ gracze są... różni, to wyobrażam sobie przypadek, gdzie idzie drużyna powiedzmy 5 graczy aby coś osiągnąć i 1 się rozmyśli, 2 powie że może jutro, bo właśnie idzie spać, etc. (tu pojawił się przy okazji wątek wspólnego grania w tym samym czasie, ale to już inna bajka).

Pozdrawiam,
Maciek

Offline Dab

  • Redaktor
    • blog

# Styczeń 27, 2015, 13:35:04
Moim zdaniem można to rozwiązać tak:
- wyliczasz bounding box całej drużyny
- porównujesz rozmiar tego bounding boxa z pewną graniczną wartością
- jeżeli bounding box jest mniejszy to gracze mogą poruszać się swobodnie
- jeżeli bounding box przyjmuje rozmiar graniczny to tworzysz na mapie sztuczną barierę w kształcie bounding boxa, i dopóki gracze zmniejszą bounding boxa przybliżając się do siebie, nie będą w stanie iść dalej

Wizualizacja:

Na pierwszym rysunku gracze mogą się poruszać swobodnie.

Na drugim rysunku osiągnięto maksymalną szerokość bounding boxa. Gracz 1 nie może przesunąć się już bardziej w lewo, a gracz 2 nie może przesunąć się już bardziej w prawo. Któryś z nich musi zbliżyć się do gracza nr 3 żeby można było kontynuować.

Żeby uniknąć impasu trzeba do tego dołożyć np. wyrzucanie graczy z drużyny po pewnym okresie nieaktywności.

Offline lighting

  • Użytkownik

# Styczeń 27, 2015, 14:32:57
To co napisałeś to realizacja klasycznych shooterów 2-osobowych (np Ikari Warriors) z czasów C64/Atari :). W tamtym przypadku naturalnym bounding boxem był ekran, obaj gracze musieli się zmieścić na nim.
Szczerze mówiąc myślałem nad podobnym rozwiązaniem, w sensie swobodnej podróży dwóch graczy, którzy będą mieli pewien margines na oddalanie się od siebie. Jednak wyobrażając sobie to w praktyce, to konieczność nieoddalania się od grupy może być bardziej upierdliwa niż automatyczne prowadzenie swojej postaci przez np Dowódcę.

pozdrawiam,
Maciek

Offline maro

  • Użytkownik

# Styczeń 27, 2015, 14:41:59
Cytuj
Jednak wyobrażając sobie to w praktyce, to konieczność nieoddalania się od grupy może być bardziej upierdliwa niż automatyczne prowadzenie swojej postaci przez np Dowódcę.
To może coś w rodzaju smyczy? Tzn. określenie promienia (od dowódcy) w którym postacie mogą poruszać się swobodnie..

Offline lighting

  • Użytkownik

# Styczeń 27, 2015, 15:46:01
Tak na prawdę w przypadku smyczy to sprowadzi się de facto do tego samego co automatyczne podróżowanie za przywódcą, ponieważ i tak będziesz mógł zrobić tyle samo, a oddalenie się od reszty wyrzuci Cię z grupy; dodatkowo gracze zamiast iść jako jedna całość będą stanowili taką zawiesinę punktów, które będą próbowały iść obok siebie. Niewygodne i dość śmieszne.
Wydaje mi się że optymalnym rozwiązaniem będzie przekazanie odpowiedzialności prowadzącemu (wtedy drużyna stanowi jeden byt/ikonkę na mapie), a reszta członków będzie miała prawo podejmowania innych akcji (np re-equip) oraz wystąpienia z drużyny na własne żądanie.

Pozdrawiam,
Maciek