Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hero carry box with up and down arrows #264

Merged
merged 10 commits into from
Jul 26, 2016

Conversation

guilhermercaetano
Copy link
Contributor

Continuando o #258, que teve problemas de conflito e de merge, resolvi abandoná-lo e criar um outro pra ficar mais claro o objetivo do PR

@otaconwow
Copy link
Member

esse PR ta relacionado a algum issue especificamente?

@guilhermercaetano
Copy link
Contributor Author

@otaconwow sim, a #253

@otaconwow
Copy link
Member

@guilhermercaetano estou testando o PR aqui, mas quando eu aperto o botão de carregar, ele já levanta a caixa, ao invés de apenas se agarrar para que eu possa aperta para cima para carregar a caixa. O comportamento é esse mesmo? Pois pelo q eu entendi na descrição do tito, ele se agarra e depois a gente aperta o botão para cima ou para baixo para carregar ou soltar.

Aguardando seu retorno 👍

@guilhermercaetano
Copy link
Contributor Author

guilhermercaetano commented Jul 8, 2016

@otaconwow A princípio sim, é esse o comportamento. Eu deixei assim pra evitar um pouco combinações de botões, já que pra agarrar a caixa ele não precisa de botões, desde que esteja se movimentando contra o elemento carregável, o detector de colisões que cuida de acionar a animação de empurrar.

A gente levantou essa questão mais pq poderia gerar conflito com outros mecanismos que também usam o botão de Ação para interagirem com o personagem. Mas como já se definiram prioridades para o tratamento do botão entre elementos de natureza acionáveis e carregáveis (em #255), acredito que agora não sobraram muitos casos em que isso seria um problema.

Por enquanto nada é definitivo, dependendo do qual for a demanda a gente pode se estender essa conversa. Aguardo o feedback, principalmente de vocês do GD nessa issue.

@otaconwow
Copy link
Member

Entendi. É que a redefinição da prioridade entre acionavel e carregável mudou para resolver o problema para quando existisse um carregavel na mesma posição de um acionavel, pq dai ficava impossível carregar o objeto. Em relação ao comportamento de se agarrar primeiro e depois levantar com o botão para cima, era para resolver seguinte ponto:

1- Se o Heroi estiver em um local onde seja impossivel empurrar ou levantar a caixa, deve-se poder puxa-la para que seja possível levanta-la posteriormente.

Por isso foi levantando o comportamento de se agarrar com o botão de ação, pq dai ele pode tirar a caixa desse local "apertado", e depois apertar para cima quando houver espaço para levantar a caixa.

O que acha? :)

@guilhermercaetano
Copy link
Contributor Author

Ok, agora sim entendi o ponto. Dá até pra imaginar onde isso poderia ser usado, inclusive no primeiro nível, depois de descer do elevador, tem uma parte em que essa habilidade é útil, em que você tira a caixa debaixo da garagem que tem um teto baixo e não dá pra ele erguer ela ali. :D

@otaconwow
Copy link
Member

Exatamente :)

@guilhermercaetano
Copy link
Contributor Author

Mudei o design dos controles pra favorecer o tratamento deles, e acertei a questão de segurar a caixa pra poder erguer. Tem uns detalhes pendentes ainda, como elaborar animação tal que quando o herói puxa a caixa, ele passa a caminhar para trás.

O detalhe da força precisa de um pouco de atenção. O herói usa torque pra se movimentar (WalkMotor), enquanto a mecânica envolvendo a puxada da caixa implementada nesse PR envolve momento linear. Isso altera e muito a sensação sentida no gameplay entre empurrar e puxar uma caixa, e as velocidades entre um movimento e outro diferem tbm.

Uma possível solução sem ter que alterar a física de uma maneira muito significativa seria limitar a força horizontal (atualmente ela é proporcional a massa). Na implementação desse PR, essa força tá em 80f (pullBoxForce). Acredito que os melhores valores pra essa constante ideais são entre 60~80f.

@ednaldomoreira
Copy link
Contributor

@guilhermercaetano O herói tem um Joint para carregar a caixa, por que vc não usou ele para segurar ?

@ednaldomoreira
Copy link
Contributor

@guilhermercaetano será que não dá pra animar o herói andando pra trás desta maneira ?

flip

mamae ta andando pra tras

@guilhermercaetano
Copy link
Contributor Author

@ednaldomoreira opa, acredito que sim. Vou realizar essas mudanças. E sobre o joint, eu meio que passei despercebido, mas vou adaptar a solução.

@guilhermercaetano
Copy link
Contributor Author

@ednaldomoreira Realizei a mudança no joint. Já o flip no Sprite Renderer acabou sendo uma solução mais complicada do que a que eu tinha adotado(q levou uma só linha), então eu acabei abandonando pq no fim das contas ia ser bem mais trabalhoso e o resultado seria o mesmo.
Também mudei uma coisa no grafo de animação, pois aparece um bug quando o personagem está agachado, andando e segurando a caixa, animação dele ficava em loop.

@ednaldomoreira ednaldomoreira merged commit 81de0c2 into MuvucaGames:master Jul 26, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants