[phpBB Debug] PHP Warning: in file [ROOT]/viewtopic.php on line 1091: Undefined array key 0
[phpBB Debug] PHP Warning: in file [ROOT]/viewtopic.php on line 1091: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/viewtopic.php on line 1098: Undefined array key 0
[phpBB Debug] PHP Warning: in file [ROOT]/viewtopic.php on line 1098: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/viewtopic.php on line 1098: Undefined array key 0
[phpBB Debug] PHP Warning: in file [ROOT]/viewtopic.php on line 1098: Trying to access array offset on value of type null
BrDoom Fórum • Convocação [+ projeto][+ FPS] - Página 4
Página 4 de 8

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 12:10 am
por Space Marine
Arrá! Sabia que nao era tudo tao bonito quanto parecia...... :|

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 1:36 am
por Fabio914
Space Marine escreveu:Arrá! Sabia que nao era tudo tao bonito quanto parecia......
Na verdade o Ray-casting para esse esquema de "grid" é o mesmo do esquema de "lines" (semelhante ao do Doom). No esquema de lines é até mais fácil calcular a distância do raio pois você tem a equação das linhas, e ai é possível fazer linhas livres (em qualquer direção). Se eu for mudar agora, vai dar uma trabalheira grande, seria mais fácil começar outra engine do zero usando esse outro sistema... E fazer um editor para esse outro esquema é que não seria fácil (teriamos que ter um esquema de linhas para paredes e setores para chãos e tetos, então teríamos que ter um editor semelhante ao Doom Builder).

EDIT

IDÉIA!!!!

Da pra montar um mapa numa BITMAP (e editar no Paint mesmo)! As colunas das paredes podem ser representadas por pixels pretos e o chão por pixels brancos, ai poderia fazer linhas em qualquer sentido e seria fácil calcular a distância do jogador às colunas das paredes (e assim fazer o ray-casting!). Alias, poderíamos assim ter paredes curvas e inclinadas!

Com a função int _getpixel(BITMAP *bmp, int x, int y); podemos saber se na posição X Y há uma coluna e então podemos calcular a distância do jogador à esta coluna e imprimir essa coluna na posição certa da tela e do tamanho certo! :D

Obs.: O problema seria colocar texturas nas paredes, uma vez que se perde a referência do grid... Teriamos que ter paredes de cores sólidas...

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 6:17 am
por DU0
Tem um editor de mapas do Doom inclusive que é assim xD

Não paredes inclinadas, mas sim em qualquer direção, tipo, fazer um círculo "perfeito" como no Doom :3

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 8:20 am
por Pyrö
Nãããããoooo, O Fabio é muuuuuuuuuuuuiiiiiitoooo ocupaaaaddoooo.... :mrgreen:

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 10:46 am
por Pedro Vc
Jeeze, aquela pistola é uma pistola ou uma metralhadora? :lol:

Você poderia levar esse projeto para aquelas comunidades do Orkut sobre desenvolvedores de jogos, aposto que c vai encontrar algumas pessoas dispostas a ajudar.

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 12:24 pm
por Fabio914
DU0 escreveu:Tem um editor de mapas do Doom inclusive que é assim xD

Não paredes inclinadas, mas sim em qualquer direção, tipo, fazer um círculo "perfeito" como no Doom :3
Sim , é exatamente disso que eu to falando... Mas mesmo no Doom não é possível fazer um circulo perfeito, o que você vai ter é uma aproximação pelo numero de retas tangentes ao circulo.
Pedro Vc escreveu:Jeeze, aquela pistola é uma pistola ou uma metralhadora? :lol:
Pô, é uma semi-automática né xD
Pedro Vc escreveu: Você poderia levar esse projeto para aquelas comunidades do Orkut sobre desenvolvedores de jogos, aposto que c vai encontrar algumas pessoas dispostas a ajudar.
Cara, teria gente disposta a ajudar sim, mas eu prefiro fazer um projeto com vocês da BrDoom (que eu já tenho contato a 3 anos) do que com outras pessoas que eu não conheça...
Pyro escreveu:Nãããããoooo, O Fabio é muuuuuuuuuuuuiiiiiitoooo ocupaaaaddoooo.... :mrgreen:
E não é que agora eu to com tempo livre...

http://www4.usp.br/index.php/institucio ... o-de-aulas

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 5:09 pm
por Fabio914
Post duplo...

Imagem

Versão 0.0.4
+ - Adicionado floor e ceiling.
! - Queda de desempenho.
! - O jogo trava quando se aproxima muito das paredes (quando as paredes sumiriam por causa da imperfeição do sistema de colisão).

Assim que eu arrumar mais algumas coisas eu posto o download aqui.

EDIT

Imagem

Screenshot mostrando multiplos tipos de teto e de chão. 8)

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 7:37 pm
por Space Marine
Very good.

Keep doing a nice work
Fabio914 escreveu: IDÉIA!!!!

Da pra montar um mapa numa BITMAP (e editar no Paint mesmo)! As colunas das paredes podem ser representadas por pixels pretos e o chão por pixels brancos, ai poderia fazer linhas em qualquer sentido e seria fácil calcular a distância do jogador às colunas das paredes (e assim fazer o ray-casting!). Alias, poderíamos assim ter paredes curvas e inclinadas!

Com a função int _getpixel(BITMAP *bmp, int x, int y); podemos saber se na posição X Y há uma coluna e então podemos calcular a distância do jogador à esta coluna e imprimir essa coluna na posição certa da tela e do tamanho certo! :D

Obs.: O problema seria colocar texturas nas paredes, uma vez que se perde a referência do grid... Teriamos que ter paredes de cores sólidas...
Ja conhecia esta tecnica apesar de nunca ter usado :roll:

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 8:18 pm
por DU0
Sim, sim, como eu disse, um círculo "perfeito" ^^

Re: Convocação [+ projeto][+ FPS]

Enviado: Qua Jul 29, 2009 9:55 pm
por Fabio914
Bom pessoal, é o seguinte... Se eu continuar desenvolvendo deste modo o máximo que teremos de gráficos e paredes será algo semelhante ao mostrado nas últimas screenshots (porém, eu espero, bem mais otimizado). Mas se vocês realmente quiserem eu posso começar (quase) tudo de novo e fazer pelo modo do mapa Bitmap, ai teríamos paredes livres, embora não ser possível determinar as texturas da paredes (as do teto e chão será possível pois podemos "fechar setores" com paredes de cor preta e pintar dentro desses setores com outra cor, ai eu defino cada cor dessas para um tipo teto e de chão diferente), mas já aviso que a chance de buguear tudo e o jogo ficar ainda menos otimizado neste modo novo é maior.

Mas antes de decidir por favor vejam a versão 0.0.4...

Screenshot
Imagem

Changelog

Código: Selecionar todos

 - Seleção de modo de resolução, qualidade e som.
 - Paredes e chãos (embora algoritmo não seje nada otimizado).


Observações
1 - Nesta versão é possível escolher a resolução de jogo e a qualidade dele. Na qualidade baixa não haverá Ray-Casting para chãos e tetos mas apenas para paredes, na qualidade alta haverá (eu fiz essa seleção de qualidade pois a qualidade alta, devido ao chão e teto, não está nada otimizada e pode rodar, dependendo da resolução, de modo extremamente lento).

2 - Se você for jogar na qualidade Alta, favor não se aproximar muito das paredes, devido a um bug (no sistema de colisão, que permite uma aproximação acima do normal), o jogo pode acabar travando (pois isso causaria um loop infinito no loop do ray-casting do chão e do teto).

Download
NeoCore v.0.0.4 (~390kb)

@All: O feedback de vocês é muito importante pra eu avaliar como o programa está rodando em outros computadores e o que vocês estão achando dele, então por favor baixem, leiam o arquivo "leia-me", rodem, postem suas impressões sobre o programa e depois (se quiserem) apaguem...