MarkusLuan / M-Attack-jsWeb

M-Attack é um jogo sem frameworks direto no navegador com html, js e Canvas, no estilo Asteroides e parecido com o jogo Megamania da Atari.
https://mkgcriacoes.com.br/games/M-Attack
Other
1 stars 1 forks source link

novo algoritmo para o jogo #11

Open ghost opened 1 year ago

ghost commented 1 year ago

Olá MarkusLuan.

ideia Essa é a minha última ideia de colaboração. Minha ideia seria que o jogo tivesse um fase ou mesmo um ranking.

regras

1. Pontuação, Fases do jogo, Ranking e paleta de cores Por exemplo, a medida que você avança no jogo, os quadrados podem mudar de cor, por exemplo: azul na primeira fase, vermelha na segunda fase, roxa na terceira fase e assim sucessivamente. Dessa forma, a pessoa ou jogador pode saber onde está. Mas conforme sua pontuação aumenta ou diminui os ícones mudam de cor constantemente. Podemos ver nesse exemplo aqui:

fase 1 - pontuação 300

image

fase 1 - pontuação 1000

image

2. A regra da paleta de cores As cores devem ou podem ser vermelhas, amarelas, azuis, brancas, cinzas, pretas - caso queiram ter a base conceitual de Piet Mondrian.

obra de arte de Piet Mondrian

image

paleta de cores e seu respectivo código em css

image

código fonte inicial, parcial ou conceitual baseado na arte de Piet Mondrian

// esse código gera cor de forma automática - com base nesse código podemos mudar os ícones com base na pontuação ou outros critérios
const colorArray = ["#2E3C8C", "#273273", "#F2B90C", "#D92818"];
const randomNum = Math.floor(Math.random() * colorArray.length);

código para gerar cor do jogo de forma automática e aleatória

const colorRandom = "#"+Math.floor(Math.random()*16777215).toString(16);
console.log(colorRandom); // #40b553

Você pode ver uma demonstração aqui randomcolour e aqui codepen/Suriteka/pen/dXmBXM

3. Regra da Pontuação (regra da maior parte dos jogos de aposta) Existem fases do jogo positivas e negativas. Quer dizer, pontuação com número positivo e pontuação com número negativo.

exemplo 3.1

image

exemplo 3.2

image

Observação: Para que a pontuação seja negativa, você deverá perder alguma pontuação ou está numa fase que as peças são de cores diferentes ao que você possui(isso serve para dificultar o jogo em vez de ganhar a pontuação com o tiro, a ideia é escapar dos tiros adversários). Para que a pontuação seja positiva, você deverá ganhar alguma pontuação ou está numa fase que as peças são de cores iguais ao que você possui. Outra forma de ter uma pontuação negativa é quando você atira de forma aleatória sem atingir o alvo no jogo. Uma curiosidade seria que é possível apostar nesse jogo. Por exemplo, caso você atire de forma aleatória e acerte o alvo ganha ponto extra e caso erre, perde o ponto extra.

4. Regra da lógica do jogo 1 (regra baseada no jogo tetris) Caso a pessoa seja atingida pela cor azul ou vermelha - e caso não seja esta cor, tem que aguardar uma nova sequencia de cor para jogar novamente.

image

descrição da imagem: Como podemos ver nesta fase, a cor do tiro é vermelha, mas o jogador é azul, o que não dá para jogar caso seu tiro seja azul, mas o tiro do adversário seja vermelho. A única forma de ter o tiro vermelho seria perder parte da pontuação do jogo. Se for atingindo pela cor vermelha sem ter feito algum tiro, terá que espera a próxima fase com quadrados vermelhos.

5. Regra da lógica do jogo 2 (regra é baseada no Sudoku, Jogo da Memória e no teste de lógica de Einstein, Genius, Jogo das Cores) A cor e a pontuação não possuem nenhuma relação lógica, isso é feito de forma aleatória. A ideia geral é que as cores não repitam na próxima fase do jogo. Por exemplo, não deve ser possível jogar duas fases do jogo com a cor vermelha ou a cor azul. Por exemplo:

obs: Você pode decidir mudar a cor da fase perdendo parte de sua pontuação adquirida ou quando atingindo por outra cor que não seja aquela que você possui ou está no jogo. Mas ao fazer isso, pode ocorrer que você seja impedido brevemente no próxima fase do jogo. Uma informação relevante é que a cor do jogo e da pontuação podem repetir caso não haja alguma cor disponível no jogo ou quando o jogo entende que isso deve ser feito para dificultar o próprio jogo.

6. Decisão As pessoas podem jogar o jogo com o algoritmo clássico ou algoritmo novo. No algoritmo clássico, jogam como é jogado antigamente e no jogo novo jogam baseado neste algoritmo que escrevo aqui.

as razões

porque isso é importante? porque essas regras conceituais?

  1. Gostaria de ajudar a enviar um pull-request sobre essa ideia, seria uma forma de colaboração.
  2. Gostei desse projeto e procuro com isso ideias para tornar ainda mais atraente o jogo em nível conceitual.
  3. Recentemente, ando estudando arte moderna. Sobre a arte moderna, um dos maiores expoentes para alguns é Piet Mondrian. Uma característica de suas obras e que acho relevante aqui é a ideia de uma arte abstrata e geométrica. Dito isso, acredito que podemos elaborar conceitos ou ideias mais profundas de arte moderna no jogo m-attack com a visão de Piet Mondrian. Em parte, porque acredito que isso vai contribuir com o que estou pesquisando que é a arte moderna e em parte vai contribuir com o jogo. Nesse sentido e contexto, arte moderna e o jogo possuem características comuns.
  4. A maior parte de outros períodos artísticos e de jogos tenho certa admiração e respeito. Por exemplo, gosto bastante de jogos do tipo rpg. Assim como, mais recentes. Talvez parte disso, tenha haver com o meu gosto por arte e jogo terem sentido de completude. Quer dizer, penso na ideia de que os "bons jogos ou jogos clássicos" terem certa "narrativa literária(boa história, conceito, ideia)" e uma certa "beleza e estética(é visualmente bonito e atraente)".
  5. No caso das artes, gosto da arte clássica e moderna. Pois, acredito que tudo na vida é harmonia e equilíbrio. E talvez parte, do meu gosto tenha haver com esse sentido e experiência em algo clássico e moderno. Deixa-me explicar, "a vida moderna é muito complexa" e isso pode ser visto nos "conceitos de arte moderna". Por outro lado, vê uma arte clássica ou jogo clássico deixa-me alegre no sentido de tentar enxergar a solução para algum problema. Mas talvez parte dessa visão esteja certa ou errada em alguma medida. Mas é a razão para a qual pensei em elaborar esse ranking, pontuação, fase ou modo do jogo "novo" ou "clássico".
  6. Existem vários conceitos e ideias de jogos anteriores, gostaria de oferecer maior experiência para os usuários ao jogar m-attack.

O que pensa dessa ideia?

MarkusLuan commented 1 year ago

Opa mano, desculpa a demora em dar um feedback, essa semana está bem corrida..... Estou apertado com os estudos e outros projetos que estou fazendo para alguns clientes. Mas cheguei a dar uma olhada rápida nos issues e a principio gostei das ideias, só vou precisar analisar depois com mais calma.

Aí deixa só eu resolver o outro projeto e finalizar umas provas, que já analiso. Um abraço meu amigo e muito obrigado por esse apoio e dedicação.

ghost commented 1 year ago

Oi MarkusLuan.

Opa mano, desculpa a demora em dar um feedback, essa semana está bem corrida..... Estou apertado com os estudos e outros projetos que estou fazendo para alguns clientes. Mas cheguei a dar uma olhada rápida nos issues e a principio gostei das ideias, só vou precisar analisar depois com mais calma. Aí deixa só eu resolver o outro projeto e finalizar umas provas, que já analiso. Um abraço meu amigo e muito obrigado por esse apoio e dedicação.

aguardo teu feedback, tenha um ótimo dia.

MarkusLuan commented 1 year ago

Opa, mano. Desculpa a demora mais uma vez... Dei uma olhada, achei bacana demais as ideias, e surgiu outras aqui.

código para gerar cor do jogo de forma automática e aleatória

const colorRandom = "#"+Math.floor(Math.random()*16777215).toString(16);
console.log(colorRandom); // #40b553

Gostei desse código, achei bem enxuto e muito funcional para gerar as cores randomicamente.

Sobre a questão da pontuação negativa, não tinha pensado nisso.... Na verdade, só está acontecendo porque na hora que eu ia começar a fazer a tela de Gameover, voltaram minhas aulas. Mas achei essa ideia bem interessante. E em relação a isso tive outra ideia: Quando a pontuação ficar negativa inverter o lado, ou seja, o jogador controla as naves que estão atacando.

E quanto a questão do jogo ficar trocando as cores, me veio uma ideia de meio que as cores irem evoluindo aos poucos, conforme vai ganhando pontos e colocar uma musica por trás que vai evoluindo também, juntamente com a velocidade do jogo. A ideia foi meio que uma mistura do que você comentou com o jogo de Android chamado "Geometry Dash". Talvez a questão da música em si seja um pouco mais complicado, então melhor deixar a música por último, sei lá.

E talvez dê para colocar todos esses modos no jogo, de forma que o jogador consiga escolher.

E mais uma vez, muito obrigado por todo esse apoio, mano. Suas contribuições e a de outros sempre serão bem-vindas.

ghost commented 1 year ago

Oi MarkusLuan.

a de outros sempre serão bem-vindas.

Sou novo nesse repositório e no github. Não sei nada de git ainda. Nisso, quero contribuir aqui. Achei teu jogo daora, vi essa issue então pensei nessa fase aqui (chamo isso de fases de figuras planas):

fase do círculo fase1Sem título

fase do quadrado image

fase do triângulo image

tú já pensou nisso, em fazer ou criar fases de figuras planas?