Estou trabalhando em um jogo 2D em que você pousa em planetas com um navio e pode sair do navio e andar por aí.
Esses planetas são muito pequenos (pense em um raio de ~ 350 pixels às vezes) e são vistos de lado. Então você pode ver facilmente o planeta inteiro na tela em geral.
Isso pode ser meio confuso, então aqui está uma foto:
Estou usando as teclas A e D para mover no sentido anti-horário e horário, respectivamente. O problema é que, se você está no "topo" do planeta (metade superior), isso faz sentido: A se move para a esquerda, D se move para a direita. No entanto, se você estiver no "fundo" do planeta (metade inferior), A se move para a direita e D se move para a esquerda.
Alguma idéia de como posso tornar isso mais fácil de usar?
2d
movement
user-experience
MCMastery
fonte
fonte
Respostas:
Minha primeira sugestão seria ficar com o movimento A= no sentido anti-horário e D= no sentido horário. Não é muito confuso e é praticamente a escolha "padrão" (isto é, mais comum) quando se trata de movimento orbital como esse.
Outra maneira seria mudar a maneira como o jogo se move. Em vez de mover o jogador quando ele estiver em um planeta, você poderá girá-lo. Essa também é uma escolha muito comum, mas pode ser desorientadora se você tiver vários planetas na tela, pois tudo, exceto o jogador, terá que girar. Se você decidir usar esse método, poderá ajudar a exibir apenas uma parte do planeta para reduzir a quantidade de objetos em movimento que seu olho precisa acompanhar:
Se você estiver livre para usar o mouse, sempre poderá usar os cliques do mouse para se movimentar. Ao clicar em um local, o jogador se moverá para esse ponto e escolherá automaticamente a direção mais curta. Círculos são "cliques" e setas são a direção mais curta.
Como um bônus adicional, também é muito fácil traduzir para controles do Mobile, se você deseja publicar seu jogo como um aplicativo.
fonte
Quando o personagem sair da nave, reoriente a vista para que ele fique no topo do planeta e depois mova a vista com o personagem enquanto eles andam. Dessa forma, o personagem está sempre no topo em relação à vista quando está em um planeta, para que os controles esquerdo / direito possam permanecer consistentes, não importa onde você pousar.
fonte
Uma abordagem (geralmente usada em jogos de terceira pessoa com movimento baseado em stick que também possui câmeras não estáticas) é estabelecer o quadro de referência para o movimento toda vez que a entrada começa (no seu caso, quando a tecla é pressionada) e manter esse quadro de movimento até a entrada terminar (a tecla é liberada). Isso significa que a tecla "A" sempre moveria o caractere "para a esquerda", seja o que for - no sentido horário, se estiver na parte inferior do círculo, no sentido anti-horário, até que a tecla seja liberada.
Infelizmente, como você está restrito a um círculo, essa técnica ainda se desfaz quando o personagem está na extensão extrema esquerda ou direita do círculo. Você pode fazê-lo funcionar simplesmente escolhendo arbitrariamente em qual direção seguir, mas o usuário pode achar confuso. Possivelmente mais confuso do que simplesmente seguir a abordagem existente "A é sempre no sentido anti-horário" que você tem agora.
fonte
Eu sugiro que você dê uma olhada em um conceito semelhante, mas depois em 3d: Super mario galaxy.
https://youtu.be/_8eJC4gIAm4?t=19m
Em movimentos curtos, o quadro de referência permanece o mesmo, o universo não se move, ultrapassa um certo limite, o universo se move / se move ao longo do movimento, de modo que o quadro de referência está de volta ao meio.
Você pode "borrar o movimento" do universo ao se mover, para que pareça mais natural e os olhos não se concentrem nas posições de mudança das partes móveis.
Presumo que a Nintendo tenha investido bastante em pesquisas para deixar o jogo o mais tranqüilo possível, e foi nisso que eles decidiram. Eu sempre gosto de ver o que as grandes empresas descobriram, esperando que investissem algo em P&D para obter o máximo de conforto e jogabilidade.
fonte
Use
A
/D
para mover o personagem na direção em direção ao ponto mais à esquerda / direita do planeta, respectivamente, eW
/S
para mover o personagem em direção aos pontos mais altos / mais baixos.Dessa forma, o jogador está sempre movendo o personagem na mesma direção que o movimento de entrada - por exemplo,
D
sempre se move para a direita,S
sempre se move para baixo, independentemente da posição do personagem.O jogo pode continuar na mesma direção do relógio enquanto a tecla é pressionada ou parar o personagem no ponto limite. Se parar, não parece ser um grande problema - o jogador possui um quadrante completo para alterar sua entrada se quiser continuar na mesma direção do relógio.
Além disso, a circular
W
-A
-S
-D
ouW
-D
-S
-A
padrão de resultados de entrada na circunavegação do planeta, o que parece bastante intuitivo.Manter pressionada mais de uma tecla pode fazer com que a tecla pressionada mais recentemente tenha precedência ou você pode usar um comportamento mais complexo, como ter oito pontos limite.
fonte
Este é um dos dois problemas clássicos do "modelo mental" sofridos por muitos jogos.
Todo jogador desenvolve um "modelo mental" de como os controles do jogo são mapeados para as ações do jogo. À medida que os jogos se tornam cada vez mais semelhantes em seus controles ao longo do tempo, as pessoas começam a esperar que seu modelo mental estabelecido se aplique a novos jogos, em vez de desenvolver modelos separados para jogos separados. O que seria bom, exceto que nem todos os jogadores têm o mesmo modelo mental de como os controles devem funcionar.
Por exemplo, o outro problema clássico do "modelo mental" é se pressionar um joystick (normalmente o manípulo analógico correto de um gamepad) deve significar olhar para cima ou se deve inclinar para frente (ou seja, olhar para baixo ). Nenhum dos modelos é objetivamente correto , mas a maioria dos jogadores mantém apenas um desses dois mapeamentos possíveis em sua cabeça e será descartada se um jogo fizer algo diferente do que eles pessoalmente esperavam.
Sua pergunta é exatamente o mesmo dilema; a questão do "modelo mental" aqui é se pressionar à direita no controle significa "mover para a direita do personagem" (como em Resident Evil) ou "mover para o lado direito da tela" (como em Mario). Ou, nesse caso, "mova no sentido horário" (como no Tempest, ao usar uma conversão tradicional dos controles de remo para joystick).
Todo jogador terá um modelo interno ao qual está acostumado a relutar em mudar (ou ter dificuldade em mudar). Em qualquer problema desse "modelo mental", você tem três opções para lidar com o problema:
A opção 3 ("redesenhar o jogo para que os modelos mentais não entrem em conflito") nesse caso significaria girar a câmera com o jogador, para que o jogador sempre aparecesse na vertical. Dessa forma, "direito significa ir no sentido horário" e "direito significa ir para o lado direito da tela" estão sempre alinhados; não há mais conflito e os jogadores não ficarão confusos, dependendo do modelo mental de como os controles devem funcionar.
A opção 2 significaria implementar os dois estilos de controle; aquele em que pressionar direito leva você para o lado direito da tela, aquele em que pressionar direito leva você no sentido horário e possui uma tela de opções onde o jogador pode escolher qual estilo de controle deseja usar.
Qualquer escolha aqui é válida; as diferentes opções exigem apenas diferentes quantidades de trabalho e impõem restrições diferentes ao seu jogo. Se é realmente importante para você que o jogador esteja visível se movendo no lado "inferior" do planeta, por motivos temáticos ou artísticos, não será necessário usar a opção 3 e usar 1 ou 2. Se não, então a opção 3 é provavelmente a escolha ideal.
fonte
Use W / S / A / D para entrada (ou para cima / baixo / esquerda / direita). Trate a entrada como uma direção de 8 direções (incluindo diagonais).
Em seguida, mova o reprodutor na direção válida (sentido horário ou anti-horário) mais próxima da direção pressionada.
fonte
Uma opção é, em vez de definir a associação entre chave e direção do movimento, ter:
Isso requer que o personagem tenha uma "direção" claramente visível.
Não tenho certeza de que realmente faz muito mais sentido do que outras opções aqui, mas por precaução ...
fonte
Abaixo é onde está a gravidade. Portanto, quando o personagem do jogador estiver em um planeta, gire a câmera juntamente com o movimento do personagem do jogador para que ele esteja sempre no topo do planeta.
Mas, embora isso facilite a navegação no planeta, pode desorientar o jogador em relação a outros objetos celestes. É uma troca que você precisa decidir por si mesmo.
fonte
Se você optar por usar o movimento no sentido horário / anti-horário, há várias coisas que você pode fazer para facilitar a intuição do sistema para seus jogadores.
Dê ao personagem orientações distintas e destacáveis
Se o personagem é meio azul e meio vermelho, a orientação se torna fácil para os jogadores lembrarem. Em vez de ter que identificar "no sentido horário" ou "no sentido anti-horário", os jogadores se movem na direção azul ou vermelha. Se o personagem está sempre voltado para uma direção (de preferência no sentido horário, para que o movimento seja mais intuitivo enquanto na vertical), é ainda melhor, porque os falantes de inglês (e qualquer outra pessoa com um idioma da esquerda para a direita) tendem a associar 'certo' a 'forward', reforçando a conexão entre os controles e a direção do movimento.
Nunca deixe os personagens pararem de se mover
Desde que você esteja movendo seu personagem, é fácil manter em que orientação seus controles estão. Afinal, continuar movendo-se na direção em que você está se movendo não toma nenhuma ação e quando você deseja reverter seu movimento , há apenas uma outra chave para escolher. É somente quando você começa a se mover novamente depois de ter parado que você se depara com uma escolha. Quanto mais você parar, mais difícil será recuperar novamente com base no que você estava fazendo antes. Ao reduzir a frequência e o comprimento das pausas, você pode impedir que os jogadores esqueçam como se mover.
fonte
Existem várias abordagens para isso.
1) Como eu abordaria isso levaria seções do planeta: os lados superior, esquerdo, direito e inferior (mais se desejado). E faça isso depois que o usuário pressionar uma direção, o personagem continuará nessa direção até soltar o botão. Portanto, se o personagem estivesse do lado esquerdo e o usuário pressionasse, ele continuaria no sentido horário até o lançamento. Dessa forma, você não precisa se preocupar com mudanças no quadro de referência enquanto o personagem está em movimento, somente depois.
2) Outra maneira de como os "amantes do espaço-tempo perigoso" o abordam. Com um joystick, em vez de ter o quadro de referência dependendo da superfície, ele possui o ângulo que o joystick era o local desejado para o "personagem" parar. Portanto, seu quadro de referência estava no centro de seu "planeta". Digo caráter e planeta, mas eles tinham partes modulares da nave do lado de fora, onde você determina para onde elas vão, ou seja, em qual direção os propulsores são apontados para mover a nave.
3) Como você o projetou agora. Também pode ser um pouco complicado, mas nada que os jogadores não tenham visto antes. Você pode editá-lo para que pareça que o planeta está girando, para que a peça esteja sempre "no topo".
fonte