Jump to content
Sign in to follow this  
sent

Criação de jogos em C

Recommended Posts

sent

boa tarde,

Estou a pensar em fazer um jogo em C, o "engine" até faço, mas:

Como é que se estabelece a relação entre o motor e a parte gráfica?

(O jogo que gostava de fazer era estilo MineCraft)

Cumprimentos,

Rui OLiveira

Share this post


Link to post
Share on other sites
KTachyon

Normalmente recorres a toolkits como SDL, GLUT entre outros.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
pikax

Normalmente recorres a toolkits como SDL, GLUT entre outros.

Mas o GLUT não tem umas limitações, em relação ao OpenGL?


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
sent

Eu ando a procurar, mas só encontro coisas que me parecem ja antigas...

E mesmo nesses sites antigos nao sei qual o linke que deve fazer o download, pois so tem Source Code, Runtime Libraries e Development Libraries.

Não existe um executavel do Toolkit? E se houver algo desse género não dá para me enviar o link se faz favor?

Share this post


Link to post
Share on other sites
pikax

tens conhecimento da parte teórica para a parte gráfica?


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
sent

Não, era disso que eu queria saber: como estabelecer a ligação de uma parte à outra. Disso não sei nada...

Share this post


Link to post
Share on other sites
KTachyon

Mas o GLUT não tem umas limitações, em relação ao OpenGL?

Pah, o GLUT é uma framework para trabalhares com o OpenGL. E sim, é bastante limitado, mas para quem começa a querer trabalhar com OpenGL é uma forma fácil de iniciar. Para além disso dá perfeitamente para fazer pequenos jogos 3D que não tenham preocupações em termos de performance.

Quando comecei a trabalhar com OpenGL, utilizando o GLUT, em 3 dias tinha um jogo de Xadrez feito, com as peças desenhadas exclusivamente com funções do OpenGL. Mais algum tempo e adicionei sombras, reflexões, iluminação dinâmica,...

Os únicos problemas, no geral, foram a falta de suporte directo para se conseguir tratar do aliasing e a performance, que se tornava terrível quando aumentava o número de vértices. Mas isto já são questões que se trabalhariam sobre outra framework.

Eu ando a procurar, mas só encontro coisas que me parecem ja antigas...

E mesmo nesses sites antigos nao sei qual o linke que deve fazer o download, pois so tem Source Code, Runtime Libraries e Development Libraries.

Não existe um executavel do Toolkit? E se houver algo desse género não dá para me enviar o link se faz favor?

Eu quando disse Toolkit foi um erro técnico da minha parte. O GLUT é uma framework para trabalhares com OpenGL. E, sim, é bastante antiga e parece que já não é activamente desenvolvida.

Claro que isto é para gráficos 3D, existem outras soluções para desenhar no ecrã. Mas OpenGL é a opção mais compatível com outras plataformas.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
pikax

a parte da ligação faz parte do engine.

Eu só tenho conhecimento teórico de como trabalhar com o DirectX, e tens que saber algumas coisas, como o backbuffer, se o ponto está a frente ou a trás, entre outras coisas.

Se quiseres utilizar a API DirectX ou OpenGL terás que saber +/- bem, como utilizar, a parte de "ligar" a parte gráfica com o resto, verás que não será assim tão difícil.

De qualquer das maneiras aconselho-te a utilizares os toolkits ou ir para o allegro, ou até utilizar engines já feitos


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
KTachyon

Outra questão, é que, provavelmente vais querer trabalhar com C++ em vez de C simples, para isto.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
pikax

Pah, o GLUT é uma framework para trabalhares com o OpenGL. E sim, é bastante limitado, mas para quem começa a querer trabalhar com OpenGL é uma forma fácil de iniciar. Para além disso dá perfeitamente para fazer pequenos jogos 3D que não tenham preocupações em termos de performance.

Bem me parecia, eu ia aprender OpenGL invés de DirectX, mas o livro que eu tenho: "OpenGL Super Bible", quando vi que trabalhava com o GLUT fiquei sem vontade para estudar.

Mas aconselhas a começar com o GLUT?


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
KTachyon

Se já tens bases de computação gráfica, escusas de começar com GLUT, podes passar directamente para frameworks decentes. :)


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
pikax

Continuo sem conseguir sequer fazer o download do GLUT, saquei:

http://www.xmission.com/~nate/glut.html

os dois linkes que lá tem, mas nao encontro execuvel -.-,

Desculpem a minha ignorancia, mas nao tenho nenhum professor que perceba disso :/

É o primeiro, tem lá a dll, a lib e header, agora tens que fazer o include da header no teu programa e linkar a lib no compilador, e depois é programar :)


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
pikax

como devC++ não me lembro muito bem como fazer a linkagem :confused:

Agora vai uma opinião pessoal: Utiliza o code::blocks eu acho que é muito melhor para programar que o DevC++  :)


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
sent

Pronto já instalei o Code::Blocks;

Pos a libraria que saquei à beira das outras, e "linkei" o glut32.lib

agora fiz um programa de teste em que fiz o #include <GLUT.h>

e dá erros no ficheiro do header...

Share this post


Link to post
Share on other sites
pikax

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
sent

Muito obrigado, já consegui (apareceu umas esferas a rodar) :)

agora, não sabes onde arranjar um tutorial sobre isto?  :confused:

Share this post


Link to post
Share on other sites
KTachyon

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.