[C] NeoEdit! & NeoCore SDK!

Sub-fórum especial para usuários que querem discutir/aprender programação, como as linguagens C/C++/C#, Java, HTML, e por aí vai...

Você testou?

 
Total de votos: 0

Avatar do usuário
Oplelo
Mensagens: 146
Registrado em: Sáb Jan 02, 2010 2:26 pm
Answers: 0
14

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por Oplelo »

Rico escreveu:Por algum motivo desconhecido o NeoEdit não abre aqui.

Mas o NeoCore funcionou muito bem. (:

Sugestões:

- Comece a ler sobre OpenGL Fabio, vc vai ver que ele não uma coisa tão horrível assim de se aprender.
- Caso queira, olhe sobre o DirectX (DirectDraw para ser exatado)... é bom também, mas acho OpenGL mais bonito...
- Allegro acho que está lagando o jogo... você tá criando um mundo 3D numa engine 2D... por isso aqui em resoluções altas ele chegava a lagar (5 fps). É mudar para os acimas... mas isso vai demorar sim, mas é bom saber mexer neles Fabio, (:
- Aumentar o Delay da pistola que é uma metralhadora :D
- Só, eu vou tentar entender porque o NeoEdit não rodou aqui.
aqui rodou de boassa no full com tudo no full e ainda com som :bigode:
ta na merda ein(BRINKS)

ae fabio tem como atirar pelo teclado ou mudar de arma?

porque tipo assim

é tenso jogar atirando pelo mouse e perder a munição no meio da porrada rs

fiz um mapa aqui (abc.map) mas n é nada demais
Dark LOS É o melhor Wad que já criaram...provem-me o contrário.
Rico
Mensagens: 2354
Registrado em: Dom Set 10, 2006 11:49 am
Answers: 0
17
Localização: Atrás do DU0
Contato:

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por Rico »

Bom, CMake é como um Makefile mesmo...
é tanto para Linux quanto WIndows, só que ele está substituindo o antigo Makefile por colocar outras opições, vemos isso no ZDOOM e GZDOOm, os dois usam CMAKE para compilar...
que nem...
junto com o código vem o FMOD e o ZLIB, assim não precisa baixar separado, pois o código fonte do ZDOOM já vem junto... ae é só falar pro CMAKE onde está essas libs, o mesmo poderia fazer você... recomendo que dê uma lida sim!

(Eu uso mais o Codeblocks como IDE, nem mais para compilar uso, baixei mesmo o MinGW e configurei ele certo só que a diferença é que ele está sempre atualizado (: )
Dá uma olhada sim no CMAKE

www.cmake.org

é fácil.
Sobre o DX e OGL é só para você ir lendo quando ter vontade, mas é gostoso te garanto (me empolguei todo quando fiz um quadrado o.O )...

NeoEdit não me mostra erro nenhum, ele só abre e fecha.
Sem avisos... pior que eu não sei como abrir em Debug para ver o que está errado.
[xfire]p0br3[/xfire]
Futuro PC:

CPU: AMD Athlon x2 64Bits 7750 2.7GHz Black Edition
MoBo: Asus M2 ou M3.
VGA: XFX Geforce 9800 GTX 512MB ou 1GB/256Bits
HD: Seagate 1TB
PSU: ATX 600w REAIS
RAM: 4GB Ram DDR2 Kingstone @800MHz [2x2Gb]
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
17
Localização: Sampa/Sanca
Contato:

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por Fabio914 »

Oplelo escreveu: ae fabio tem como atirar pelo teclado ou mudar de arma?

porque tipo assim

é tenso jogar atirando pelo mouse e perder a munição no meio da porrada rs

fiz um mapa aqui (abc.map) mas n é nada demais
Cara, a pistola é a única arma, eu não fiz nenhuma outra... E da pra você jogar só pelo teclado sim, os controles são semelhantes ao do Doom oldschool, da uma olhada lá no leia-me pra você ver.

Manda teu mapa ai pra agente ver! :wink:
Rico escreveu:Bom, CMake é como um Makefile mesmo...
é tanto para Linux quanto WIndows, só que ele está substituindo o antigo Makefile por colocar outras opições, vemos isso no ZDOOM e GZDOOm, os dois usam CMAKE para compilar...
que nem...
junto com o código vem o FMOD e o ZLIB, assim não precisa baixar separado, pois o código fonte do ZDOOM já vem junto... ae é só falar pro CMAKE onde está essas libs, o mesmo poderia fazer você... recomendo que dê uma lida sim!

(Eu uso mais o Codeblocks como IDE, nem mais para compilar uso, baixei mesmo o MinGW e configurei ele certo só que a diferença é que ele está sempre atualizado (: )
Dá uma olhada sim no CMAKE

http://www.cmake.org

é fácil.
Sobre o DX e OGL é só para você ir lendo quando ter vontade, mas é gostoso te garanto (me empolguei todo quando fiz um quadrado o.O )...

NeoEdit não me mostra erro nenhum, ele só abre e fecha.
Sem avisos... pior que eu não sei como abrir em Debug para ver o que está errado.
Humm, vo da uma olhada nesse CMake, obrigado pela dica!

Sobre o NeoEdit não funcionar, muito estranho, pois no começo ele abre uma janela do console perguntando o tamanho do mapa, depois inicializa o Allegro com modo gráfico. Exatamente da mesma forma como ocorre com o NeoCore. Talvez alguma configuração do seu sistema operacional esteja impedindo a execução dele (o seu sistema é o Windows 7 ou o Vista?).
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
Rico
Mensagens: 2354
Registrado em: Dom Set 10, 2006 11:49 am
Answers: 0
17
Localização: Atrás do DU0
Contato:

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por Rico »

Meu é XP, se fosse Vista ou Win7 eu já desconfiaria, então, tipo, ele pergunta sim, esqueci de falar...
só que quando é pra começar o Allegro ele simplesmente abre e fecha, porém o NeoCore funfa.

Win7 SUCKS WITH GEFORCE SERIE 6 ):
Todos estão recebendo tela azul da morte quando vão jogar... ):
[xfire]p0br3[/xfire]
Futuro PC:

CPU: AMD Athlon x2 64Bits 7750 2.7GHz Black Edition
MoBo: Asus M2 ou M3.
VGA: XFX Geforce 9800 GTX 512MB ou 1GB/256Bits
HD: Seagate 1TB
PSU: ATX 600w REAIS
RAM: 4GB Ram DDR2 Kingstone @800MHz [2x2Gb]
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
17
Localização: Sampa/Sanca
Contato:

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por Fabio914 »

NOVA VERSÃO!

Changelog!

+ Adicionado programa NeoLauncher, para poder rodar mapas sem precisar abri-los no NeoEdit.
+ Adicionado "Fast Switch" ao NeoEdit, agora você pode trocar de camada de edição pelas teclas 1, 2 e 3 do teclado, sem necessitar clicar nos botões.
+ Adicionadas novas texturas.
+ NeoEdit agora é 100% modo gráfico, não tem mais nenhuma parte no terminal!
+ Adicionado mapa Caverns (rode ele pelo NeoLauncher).

DOWNLOAD! (~800kb)
Rico escreveu:Meu é XP, se fosse Vista ou Win7 eu já desconfiaria, então, tipo, ele pergunta sim, esqueci de falar...
só que quando é pra começar o Allegro ele simplesmente abre e fecha, porém o NeoCore funfa.

Win7 SUCKS WITH GEFORCE SERIE 6 ):
Todos estão recebendo tela azul da morte quando vão jogar... ):
O mais estranho é que eu to desenvolvendo esse programa no Windows XP também (mas o x64). Alias, minha placa também é da nVidia... Talvez o teu driver de vídeo não esteje deixando o programa rodar em resoluções de vídeo diferentes das padrões (como é o caso do NeoEdit). Tenta rodar o programa com modo de compatibilidade do Windows 2000...
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
Rico
Mensagens: 2354
Registrado em: Dom Set 10, 2006 11:49 am
Answers: 0
17
Localização: Atrás do DU0
Contato:

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por Rico »

O problema é esse... se ele roda perfeito com o NeoCore, o neoedit que usa quase o mesmo código não deveria fechar...
se fosse compatibilidade nem o NeoCore iniciaria...
Tanto que joguei a 640x480 fullscreen e window, tanto quanto 320x240 window...
só acho esrtanho ainda não rodar...
o driver é o mais atual 195.84


Compile de forma Win32 fabio, assim ele não abrirá o DOS atrás.

Project>Properties>Build Targets

No lado esquerdo temos Debug e Release.
(SEMPRE QUANDO FOR COMPILAR PRA LANÇAR NÃO ESQUCE DE COMPILAR COMO RELEASE ASSIM ELE PESARÁ MENOS POIS O DEBUG GERA MAIS INFORMAÇÕES ONDE SERVE PARA VOCÊ VER QUANDO O PROGRAMA DA ERRO E ONDE).

Nos dois, temos a opição do lado direito "Type:"
No ComboBox (lista) mude para GUI Application. :3
Pronto :D
[xfire]p0br3[/xfire]
Futuro PC:

CPU: AMD Athlon x2 64Bits 7750 2.7GHz Black Edition
MoBo: Asus M2 ou M3.
VGA: XFX Geforce 9800 GTX 512MB ou 1GB/256Bits
HD: Seagate 1TB
PSU: ATX 600w REAIS
RAM: 4GB Ram DDR2 Kingstone @800MHz [2x2Gb]
xducke
Mensagens: 87
Registrado em: Sex Jan 15, 2010 4:29 am
Answers: 0
14

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por xducke »

Ola a todos, primeiramente. Este eh o meu primeiro post neste forum =D

Sou muito fa de DooM e Quake, e claro, tambem do mestre John Carmack!

Fabio, te mandei um e-mail com umas duvidas no codigo de render da sua engine.
Estou gostando muito do projeto, e eu gostaria de ajudar com o que puder, mas sei apenas C e Allegro mesmo.
Eu sei como eh fazer um jogo desse nivel e ninguem sequer ficar curioso, ou nada, soh porque os graficos nao sao dos niveis de hoje... :S

Eu tenho uma engine de Ray-Cast tambem, e estava analisando seu codigo, ficou muito bom ate!
Bom, espero que continue no projeto, assim como eu, nao vou desistir do meu tambem.

ps. A minha engine eh para um possivel Half-Life (1) piorado:

Imagem
Imagem

Vi que sua engine esta com problemas de desempenho, a minha eu consigo rodar a 30 FPS constantes (ja fica bem jogavel assim). Mas nao estou dizendo isso para me gabar, eh para te explicar:

Voce faz o ray cast raio por raio em toda a resolucao da tela, certo?
Eu divido por 2 a resolucao, e a cada dois raios eu faco apenas uma medicao de distancia. A diferenca final eh quase imperceptivel e fica bem mais leve! A mesma coisa para o chao e teto.

Creio que isso nao seja dificil de se colocar... e eu nao faco apenas para "2" no numero de divisao da resolucao, faco para "n", mas limito o n de 1 a 4, por exemplo, se nao a qualidade apartir de 3 ja vai sendo comprometida.

As outras mudancas para desempenho creio que fique inviavel para adicionar no seu codigo, mas caso queira saber mais sobre elas me de um toque!

Espero que voce continue mesmo nesse projeto, eu gostei bastante! E vou repetir, eu tambem sei como eh voce se dedicar a alguma coisa e nao ter quase retorno pelo publico... =(
Eu olhei os seus outros topicos sobre a engine aqui no forum.

Bom, valeu ai, abracos! E bom ano para todos! :D
Desk:
Intel Core i7 980X @ 4.25GHz
EVGA X58 SLi Classified
12 GB OCZ 1800 MHz
2x XFX HD 5870 @ 1000/1300
Dell 24WFP 24"

Note:
Alienware M15X // Core i7 740 QM 2.93 GHz // 4 GB DDR3 // 500 GB // GTX 460M // 15.6"
Rico
Mensagens: 2354
Registrado em: Dom Set 10, 2006 11:49 am
Answers: 0
17
Localização: Atrás do DU0
Contato:

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por Rico »

Sim, fabio continua o projeto dele, e não, são apenas os mais cabeças ocas q não enxergam o projeto dele!
Eu por exemplo vou entendendo os códigos dele para então colocar numa coisa mais aberta, opengl por exemplo sem necessidade do bendito Allegro, sem ofensas ao mesmo, é bom, só que fica preso a engine caso ele queira mudar...
(:
[xfire]p0br3[/xfire]
Futuro PC:

CPU: AMD Athlon x2 64Bits 7750 2.7GHz Black Edition
MoBo: Asus M2 ou M3.
VGA: XFX Geforce 9800 GTX 512MB ou 1GB/256Bits
HD: Seagate 1TB
PSU: ATX 600w REAIS
RAM: 4GB Ram DDR2 Kingstone @800MHz [2x2Gb]
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
17
Localização: Sampa/Sanca
Contato:

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por Fabio914 »

xducke, bem vindo a comunidade!

Primeiramente obrigado pelo reconhecimento, as vezes fica meio complicado mesmo das pessoas verem a dificuldade de se fazer um projeto como esse (mesmo sendo de gráficos "simples").

Alias, gostei muito das screens do teu raycaster, tá muito bom! :wink:

Você disse que diminuiu o número de raios (não cobrindo toda a resolução da tela), isso realmente aumenta a performace pois estamos diminuindo o 'n' da entrada, mas mesmo assim as minhas funções de rendering estão O(n^3) pra mais [você entende de complexidade de algoritmos?], eu teria que deixar ela pelo menos O(n). Imagino que no teu raycaster você deve ter um número menor de loops aninhados, assim tendo uma função mais próxima do O(n) e de desempenho melhor.

Se teu projeto for Open Source me manda o código pra eu dar uma olhada. Alias, você já implementou sprites?

Off:
xducke escreveu:Sou muito fa de DooM e Quake, e claro, tambem do mestre John Carmack!
Hehe, mais um fã do Carmack ai!
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
xducke
Mensagens: 87
Registrado em: Sex Jan 15, 2010 4:29 am
Answers: 0
14

Re: [C] NeoEdit! & NeoCore SDK!

Mensagem por xducke »

Hehe obrigado...

Bom, eu ainda nao implementei sprites na minha, estou terminando de por o sombreamento (vode deve ter reparado pelas SS que o chao ja possui, mas as paredes ainda nao) e assim que terminar vou comecar os sprites pra poder por inimigos e itens.

Pelo que eu vi no seu codigo ele usa o sistema classico de ray-casting... o problema eh a parte trigonometrica, que fica sendo chamada inumeras vezes quando na verdade nao eh necessario mais que 2x.

Eu desenvolvi meu proprio metodo de identificar as distancias aa parede, que eh muito mais simples e otimizavel, vamos assim dizer.

O codigo nao eh aberto do meu (por enquanto - preciso organizar algumas coisas antes de realmente publicar), mas eu posso te explicar.

Digamos que para cada distancia eu va fazer assim:

Código: Selecionar todos

double dist, dx, dy,angulo,x,y;
for (int i = 0; i < RESX; i++ )
{
// calcular o angulo de inclinacao do raio
angulo =( player_angulo - fov/2 )+(( fov/RESX)*i);

// decompondo o raio
dx = sin(angulo);
dy = cos(angulo);

// o raio parte do player
x = player_x;
y = player_y;

// enquanto nao colidir em uma parede do mapa
while ( mapa[(int)(x/64)][(int)(y/64)] == 0) // no meu caso 0 eh chao
{
x += dx;
y += dy;
} // while

// por um pitagoras basico: (achar a distancia entre 2 pontos de coord. conhecidas)
dist = sqrt(pow(x-player_x,2)+pow(y-player_y,2));
}// for
Esse esquema ai resulta na distancia ai voce remove o efeito de olho de peixe normalmente.
As coordenadas x e y lhe dao tambem as coordenadas da textura.

Bom, eh assim que eu faco aqui, com a alteracao seguinte:

Código: Selecionar todos

... // antes eh igual
for (int i = 0; i < RESX/n; i++ ) // note o n aqui
{
// calcular o angulo de inclinacao do raio
angulo =( player_angulo - fov/2 )+(( fov/RESX)*i*n); // note o n aqui

... // o resto eh igual
E depois eh soh esticar o slice da parede pelo valor de n

Espero ter ajudado, nao eh tao dificil implementar esse sistema, e na minha opiniao fica muito mais otimizado.

Qualquer duvida, estamos ai.
Desk:
Intel Core i7 980X @ 4.25GHz
EVGA X58 SLi Classified
12 GB OCZ 1800 MHz
2x XFX HD 5870 @ 1000/1300
Dell 24WFP 24"

Note:
Alienware M15X // Core i7 740 QM 2.93 GHz // 4 GB DDR3 // 500 GB // GTX 460M // 15.6"