Pracuję nad grą 2D, w której lądujesz na planetach ze statkiem i możesz wyjść ze statku i spacerować.
Te planety są bardzo małe (czasami myślą o promieniu ~ 350 pikseli) i są widziane z boku. Więc ogólnie możesz łatwo zobaczyć całą planetę na ekranie.
Może to być mylące, więc oto zdjęcie:
Używam klawiszy A i D, aby poruszać się odpowiednio w lewo i w prawo. Problem polega na tym, że jeśli jesteś na „górze” planety (górna połowa), ma to sens: A przesuwa się w lewo, D przesuwa się w prawo. Jeśli jednak znajdujesz się na „dnie” planety (dolna połowa), A przesuwa się w prawo, a D w lewo.
Wszelkie pomysły na to, jak mogę uczynić to bardziej przyjaznym dla użytkownika?
2d
movement
user-experience
MCMastery
źródło
źródło
Odpowiedzi:
Moją pierwszą sugestią byłoby po prostu trzymanie się A= Druch w lewo i = ruch w prawo. Nie jest to bardzo mylące i jest właściwie „standardowym” (tj. Najczęściej stosowanym) wyborem, jeśli chodzi o ruch orbitalny w ten sposób.
Innym sposobem może być zmiana sposobu poruszania się gry. Zamiast przesuwać gracza, gdy znajduje się on na planecie, możesz zamiast tego obrócić planetę. Jest to również bardzo powszechny wybór, ale może dezorientować, jeśli masz wiele planet na ekranie, ponieważ wszystko oprócz gracza będzie musiało się obracać. Jeśli zdecydujesz się użyć tej metody, pomocne może być wyświetlenie tylko części planety, aby zmniejszyć liczbę poruszających się obiektów, które twoje oko musi śledzić:
Jeśli możesz swobodnie korzystać z myszy, zawsze możesz poruszać się po kliknięciach myszy. Kliknięcie lokalizacji spowoduje, że gracz zbliży się do tego punktu i automatycznie wybierze najkrótszy kierunek. Kręgi to „kliknięcia”, a strzałki to najkrótszy kierunek.
Dodatkową zaletą jest również bardzo łatwe przetłumaczenie na sterowanie mobilne, jeśli chcesz opublikować swoją grę jako aplikację.
źródło
Kiedy postać wydostanie się ze statku, zmień orientację widoku, tak aby postać znajdowała się na szczycie planety, a następnie przesuń widok wraz z postacią, idąc wokół. W ten sposób postać jest zawsze na szczycie w odniesieniu do widoku na planecie, więc lewy / prawy element sterujący mogą pozostać spójne bez względu na to, gdzie wylądujesz.
źródło
Jednym podejściem (często stosowanym w grach trzeciej osoby z ruchem opartym na drążku, które również mają kamery niestatyczne) jest ustalenie punktu odniesienia dla ruchu za każdym razem, gdy rozpoczyna się wprowadzanie danych (w twoim przypadku, gdy klawisz jest wciśnięty) i trzymaj ramka ruchu do momentu zakończenia wprowadzania danych (klawisz zostanie zwolniony). Oznacza to, że klawisz „A” zawsze przesuwa znak „w lewo”, cokolwiek to było - zgodnie z ruchem wskazówek zegara, jeśli znajduje się na dole koła, w przeciwnym razie przeciwnie do ruchu wskazówek zegara - do momentu zwolnienia klawisza.
Niestety, ponieważ jesteś ograniczony do koła, ta technika nadal będzie się rozpadać, gdy postać znajdzie się w skrajnym lewym lub prawym skraju koła lub w jej pobliżu. Możesz sprawić, by działało to po prostu wybierając arbitralnie, w którą stronę pójść, ale dla użytkownika może to być mylące. Być może bardziej mylące niż zwykłe trzymanie się istniejącego podejścia „A jest zawsze przeciwne do ruchu wskazówek zegara”.
źródło
Proponuję przyjrzeć się podobnej koncepcji, ale potem w 3d: Super mario galaxy.
https://youtu.be/_8eJC4gIAm4?t=19m
Przy krótkich ruchach ramka odniesienia pozostaje taka sama, wszechświat się nie porusza, przekracza pewien próg, wszechświat porusza się wzdłuż / przesuwa się, więc ramka odniesienia jest z powrotem na środku.
Podczas ruchu możesz chcieć „rozmazać ruch” wszechświata, aby wyglądał bardziej naturalnie, a oczy nie będą koncentrować się na pozycjach przesuwania ruchomych części.
Zakładam, że Nintendo zainwestowało sporo badań, aby gra była jak najbardziej płynna i na tym właśnie się zdecydowali. Zawsze lubię patrzeć na to, co odkryły większe firmy, mając nadzieję, że zainwestowały coś w badania i rozwój, aby uzyskać maksymalny komfort i grywalność.
źródło
Użyj
A
/,D
aby przesunąć postać w kierunku odpowiednio do skrajnego lewego / skrajnego prawego punktu planety, iW
/S
do przesunięcia postaci w kierunku najwyższych / najniższych punktów.W ten sposób gracz zawsze porusza postacią w tym samym kierunku, co ruch wejściowy - np.
D
Zawsze porusza się w prawo,S
zawsze porusza się w dół, niezależnie od pozycji postaci.Gra może albo iść w tym samym kierunku zegara, gdy klawisz jest wciśnięty, albo zatrzymać postać w punkcie granicznym. Jeśli się zatrzyma, nie wydaje się to dużym problemem - gracz ma pełny kwadrant, w którym może zmienić swój wkład, jeśli chce iść dalej w tym samym kierunku zegara.
Dodatkowo okrągły
W
-A
-S
-D
lubW
-D
-S
-A
wzór wprowadzania powoduje opłynięcie planety, co wydaje się dość intuicyjne.Przytrzymanie więcej niż jednego klawisza może spowodować, że ostatnio naciśnięty klawisz będzie miał pierwszeństwo, lub możesz zastosować bardziej złożone zachowanie, takie jak posiadanie ośmiu punktów granicznych.
źródło
Jest to jeden z dwóch klasycznych problemów związanych z „modelem mentalnym” wielu gier.
Każdy gracz opracowuje „model mentalny” określający sposób, w jaki gra steruje mapowaniem działań. Ponieważ gry z czasem stają się coraz bardziej podobne, ludzie zaczęli oczekiwać, że ustalony model mentalny będzie miał zastosowanie do nowych gier, zamiast opracowywać osobne modele dla oddzielnych gier. Co byłoby w porządku, z tym wyjątkiem, że nie każdy gracz ma ten sam model mentalny tego, jak powinny działać kontrole.
Na przykład innym klasycznym problemem „modelu mentalnego” jest to, czy naciśnięcie joysticka (zazwyczaj prawego drążka analogowego gamepada) powinno oznaczać patrzenie w górę , czy też oznaczać przechylenie do przodu (tj. Patrzenie w dół ). Żaden model nie ma obiektywnie racji , ale większość graczy trzyma tylko jedno z tych dwóch możliwych mapowań i zostanie odrzucona, jeśli gra zrobi coś innego, niż mogliby się spodziewać.
Twoje pytanie jest dokładnie tym samym dylematem; kwestią „modelu mentalnego” jest tutaj to, czy pchnięcie w prawo na drążku sterującym oznacza „przesuń się w prawo postaci” (jak w Resident Evil), czy „przesuń się w kierunku prawej strony ekranu” (jak w Mario). Lub w tym przypadku „poruszaj się zgodnie z ruchem wskazówek zegara” (jak w Tempest, gdy używasz tradycyjnej konwersji z wiosła na sterowanie joystickiem).
Każdy gracz będzie miał wbudowany model, do którego jest przyzwyczajony, do którego niechętnie się zmieni (lub będzie miał trudności ze zmianą). W każdym takim „modelu mentalnym” masz trzy opcje rozwiązania tego problemu:
Opcja 3 („przeprojektowanie gry, aby modele mentalne nie kolidowały ze sobą”) w tym przypadku oznaczałaby obrócenie kamery z odtwarzaczem, dzięki czemu gracz zawsze pojawia się pionowo na ekranie. W ten sposób „prawo oznacza iść w prawo” i „prawo oznacza iść w kierunku prawej strony ekranu” są zawsze w jednej linii; nie ma już konfliktu i gracze nie będą zdezorientowani w zależności od modelu mentalnego tego, jak powinny działać kontrole.
Wariant 2 oznaczałby wdrożenie obu stylów kontroli; jeden, w którym przesuwanie w prawo prowadzi do prawej strony ekranu, jeden w którym popychanie w prawo prowadzi w kierunku zgodnym z ruchem wskazówek zegara, i ma ekran opcji, w którym gracz może wybrać styl sterowania, którego chce użyć.
Każdy wybór tutaj jest ważny; różne opcje wymagają tylko różnych nakładów pracy i nakładają różne ograniczenia na grę. Jeśli dla Ciebie bardzo ważne jest, aby gracz był widoczny, poruszając się po „dolnej” stronie planety, z powodów tematycznych lub artystycznych, to nie będziesz chciał używać opcji 3 i powinieneś użyć 1 lub 2. Jeśli nie, to opcja 3 jest prawdopodobnie idealnym wyborem.
źródło
Użyj W / S / A / D jako wejścia (lub góra / dół / lewo / prawo). Traktuj wejście jako kierunek 8-kierunkowy (w tym przekątne).
Następnie przesuń odtwarzacz w dowolnym prawidłowym kierunku (zgodnie z ruchem wskazówek zegara lub przeciwnie do kierunku ruchu wskazówek zegara), który jest najbliższy kierunkowi, który jest wciśnięty.
źródło
Jedną z opcji jest zamiast zdefiniowania związku między kluczem a kierunkiem ruchu, aby mieć:
Wymaga to od postaci wyraźnego „kierunku”.
Nie jestem pewien, czy to naprawdę ma o wiele większy sens niż inne opcje tutaj, ale na wszelki wypadek ...
źródło
W dół znajduje się grawitacja. Więc gdy postać gracza znajduje się na planecie, obracaj kamerę wraz z ruchem postaci gracza, aby postać zawsze znajdowała się na planecie.
Ale chociaż ułatwia to nawigację na planecie, może dezorientować gracza względem innych obiektów niebieskich. Jest to kompromis, na który musisz sam zdecydować.
źródło
Jeśli zdecydujesz się na ruch zgodnie z ruchem wskazówek zegara / przeciwnie do ruchu wskazówek zegara, istnieje wiele rzeczy, które możesz zrobić, aby system był bardziej intuicyjny dla graczy.
Podaj bohaterowi wyróżniające się kierunki
Jeśli postać jest w połowie niebieska, a w połowie czerwona, orientacja staje się łatwa do zapamiętania przez graczy. Zamiast identyfikować „zgodnie z ruchem wskazówek zegara” lub „przeciwnie do ruchu wskazówek zegara”, gracze poruszają się w kierunku niebieskim lub czerwonym. Jeśli postać zawsze skierowana jest w jednym kierunku (najlepiej w kierunku zgodnym z ruchem wskazówek zegara, aby ruch był najbardziej intuicyjny w pozycji pionowej), jest to nawet lepsze, ponieważ osoby posługujące się językiem angielskim (i każdy inny użytkownik posługujący się językiem od lewej do prawej) w naturalny sposób kojarzą „prawo” z „do przodu”, wzmacniając połączenie między elementami sterującymi a kierunkiem ruchu.
Nigdy nie pozwól, aby postacie przestały się poruszać
Tak długo, jak poruszasz swoją postacią, łatwo jest utrzymać orientację, w której znajdują się twoje elementy sterujące. W końcu kontynuowanie ruchu w kierunku, w którym się poruszasz, nie powoduje żadnych działań, a kiedy chcesz odwrócić ruch , jest tylko jeden inny klucz do wyboru. Dopiero gdy znów zaczniesz się ruszać po zatrzymaniu, stajesz przed wyborem. Im dłuższa pauza, tym trudniej będzie ją podnieść na podstawie tego, co robiłeś wcześniej. Zmniejszając częstotliwość pauz i długości pauz, możesz powstrzymać graczy przed zapominaniem, jak się poruszać.
źródło
Istnieje wiele podejść do tego.
1) Jak do tego podejdę, zajmę sekcje planety: górną, lewą, prawą i dolną (więcej, jeśli to pożądane). I niech tak będzie, gdy użytkownik naciśnie kierunek, postać będzie podążać w tym kierunku, dopóki nie zwolni tego przycisku. Więc jeśli postać znajdowała się po lewej stronie, a użytkownik naciskał, to postać poruszałaby się zgodnie z ruchem wskazówek zegara do zwolnienia. W ten sposób nie musisz się martwić o zmiany w układzie odniesienia, gdy postać się porusza, dopiero po.
2) Innym sposobem byłoby zbliżenie się do „Kochanków w niebezpiecznej czasoprzestrzeni”. Za pomocą joysticka zamiast ramy odniesienia w zależności od powierzchni, mają ją tak, że kąt, na którym drążek radości był pożądanym miejscem, w którym „postać” się zatrzyma. Tak więc ich układ odniesienia znajdował się w centrum ich „planety”. Mówię o postaci i planecie, ale na zewnątrz miały modułowe części statku, w których określasz, dokąd zmierzają, tj. W którym kierunku są skierowane pędniki, aby przesunąć statek.
3) Jak masz to teraz zaprojektowane. Może się trochę przydać, ale gracze jeszcze go nie widzieli. Możesz go jednak edytować, aby wyglądało na to, że planeta obraca się, więc gra jest zawsze „na wierzchu”.
źródło