Jogo C ou C++  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
gqferreira
Virtual Machine Man
[Avatar]

Membro desde: 29/11/2008 17:38:10
Mensagens: 572
Localização: Indaiatuba/SP
Offline

Boa noite senhores.
Na faculdade escutei boatos de que o professor nos pedirá para fazer um jogo em C no proximo semestre, mas não sabem se é C ou C++. Qual é melhor para desenvolver jogos? Ou só uma delas é viável (ou possível)?

Para quem já usou a linguagem (acredito que muitos pela popularidade da linguagem):
Alguém sabe como montar um bom ambiente de desenvolvimento? Quais as melhores ferramentas? Quero montar as coisas direitinho antes de ir para o código de vez, em relação ao código eu me viro, afinal, java não é a primeira linguagem que aprendi e nem vai ser a última.


Obs.: Prefiro desenvolver em Linux, afinal, nem tenho windows na minha máquina. Particularmente uso Ubuntu, mas acho que se tratando de Linux não deve ter diferenças entre as distros.

Obrigado pela atenção.

"Se eu tiver uma maçã e você também tiver uma maçã, e trocarmos de maçãs, cada um ficará com uma maçã. Se eu tiver uma ideia e você também tiver uma ideia, e trocarmos ideias, cada um ficará com duas ideias."
George Bernard Shaw

Gustavo Quirino Ferreira
[WWW] [MSN]
Adelar
GUJ Master
[Avatar]

Membro desde: 31/10/2008 10:07:36
Mensagens: 1237
Localização: Cascavel
Offline

Qualquer uma delas é viável, mas C++ pode ser um pouco mais fácil (devido à Orientação a Objetos).

Att.

"Errando e aprendendo com os bugs"
http://www.cajuscript.org
[WWW] [MSN]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Adelar wrote:Qualquer uma delas é viável, mas C++ pode ser um pouco mais fácil (devido à Orientação a Objetos).


Ou mais difícil, se o pessoal não tiver domínio sobre OO, e por C++ ter uma sintaxe mais complexa que C.

Acho melhor se preocupar com isso no semestre que vem, e ver que regras que esse professor vai dar. Capaz que nem ele tenha pensado nisso ainda.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

Sendo em c++ ou c, de qualquer maneira você vai desenvolver sem problemas.
Em termos de ferramentas, se você já trabalha com linux, aconselho usar o qt creator e o framework qt, tanto para plataforma móvel quanto para desktop. O desenho dele é completamente OO.

Muitas empresas hoje o estão empregando devido ao quesito multiplataforma, e dentre alguns softwares escritos usando-o estão o próprio kde e o virtualbox.

http://qt.nokia.com/
http://www.forum.nokia.com/Develop/Qt/

Existem muitos exemplos e a documentação é a melhor dos frameworks que eu conheço.

Para jogos, existem dezenas de engines opensource e free, no qual você pode aproveitar para acelerar o desenvolvimento do seu projeto.
Essa lista cita os engines e e as linguagens que elas trabalham:
http://en.wikipedia.org/wiki/List_of_game_engines

destaque para essas
http://en.wikipedia.org/wiki/Irrlicht_Engine (c++)
http://www.openscenegraph.org/projects/osg (c++)

www.citrox.com.br
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Primeiro de tudo você precisará saber qual é a API gráfica que seu jogo irá usar. Vai ser 2D em SDL? 3D em OpenGL? Ou será que vai usar o Allegro? Sem isso, fica difícil te orientar sobre como montar o ambiente.

Numa dessas, o tal jogo é no console, seco, como um jogo da velha ou mancala. Tudo vai depender do que seu professor exigir.

Quanto à linguagem, eu acho o C++ mais fácil de desenvolver jogos que o C.

bruno laturner wrote:Ou mais difícil, se o pessoal não tiver domínio sobre OO, e por C++ ter uma sintaxe mais complexa que C.


O argumento do Bruno não é válido. Se você ainda não souber OO, não programe com OO, mas ainda assim use C++. Você terá acesso a classes utilitárias como o vector, map e string e poderá usar operadores como new e delete. Diferentemente do Java, a orientação à objetos não é obrigatória na linguagem.


Aqui no meu portal há alguns artigos que talvez você se interesse:
Ponto V! - Roadmap C++: Dicas de livros de C++, do básico até o avançado.
Um ambiente para criar jogos com a SDL e a OpenGL: Mostra como configurar um ambiente com a SDL e a OpenGL. Ainda que você não use essas APIs, o artigo da dicas de como organizar as pastas e arquivos no geral;
Ponto V! - Java no desenvolvimento de jogos: Apresenta um comparativo entre as linguagens java e C++ para essa área.

Outros artigos técnicos sobre jogos:
Ponto V! - Funcionamento de um jogo
Ponto V! - Os softwares de um jogo
Ponto V! - Gerenciando recursos
Ponto V! - Animação baseada em tempo

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
gqferreira
Virtual Machine Man
[Avatar]

Membro desde: 29/11/2008 17:38:10
Mensagens: 572
Localização: Indaiatuba/SP
Offline

Muito obrigado pessoal!

Todos os links são muito úteis, estou olhando todos os materiais que vocês me mostraram. Sobre OO, eu vou tentar usar, gosto muito de Java por causa disso, vou tentar adaptar à C++ na medida do possível. Sobre a biblioteca QT, não posso fazer usando o GTK? Acho que a popularização dela é maior. Acho que para isso precisarei de outros Frameworks, IDEs, etc... mas se eu não encontrar um meio de usar GTK, eu coloco as bibliotecas do QT no meu Ubuntu, sem problemas.

Acho que vou precisar ler bastante ainda para entender as perguntas que o Vini me fez, ainda bem que no site dele tem uns livros para download. Obrigado Vinicius.

"Se eu tiver uma maçã e você também tiver uma maçã, e trocarmos de maçãs, cada um ficará com uma maçã. Se eu tiver uma ideia e você também tiver uma ideia, e trocarmos ideias, cada um ficará com duas ideias."
George Bernard Shaw

Gustavo Quirino Ferreira
[WWW] [MSN]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

gqferreira wrote:Muito obrigado pessoal!

Todos os links são muito úteis, estou olhando todos os materiais que vocês me mostraram. Sobre OO, eu vou tentar usar, gosto muito de Java por causa disso, vou tentar adaptar à C++ na medida do possível. Sobre a biblioteca QT, não posso fazer usando o GTK? Acho que a popularização dela é maior. Acho que para isso precisarei de outros Frameworks, IDEs, etc... mas se eu não encontrar um meio de usar GTK, eu coloco as bibliotecas do QT no meu Ubuntu, sem problemas.

Acho que vou precisar ler bastante ainda para entender as perguntas que o Vini me fez, ainda bem que no site dele tem uns livros para download. Obrigado Vinicius.


as bibliotecas do qt já estão inclusas na maioria dos gerenciadores de janelas linux, assim como as do gtk. Mas enfim, se for usar gtk use o anjuta, porque ele se entegra com o glade.
Detalhe que gtk+ não possui um desenho muito bom, mas ela é ótima, se você não se preocupar com OO.
http://www.anjuta.org/

This message was edited 1 time. Last update was at 10/08/2010 10:19:03


www.citrox.com.br
Grinvon
GUJ Master
[Avatar]

Membro desde: 18/08/2003 22:10:49
Mensagens: 1899
Localização: Em qualquer lugar
Offline

Queria aproveitar o tópico para perguntar uma coisa, se não for incômodo:

Vinícius, o que você está achando do Canvas do HTML5 para programação de jogos?

Eu achei bem interessante. Renderização rápida e bom desempenho. Mas ainda estou começando a dar uma estudada nela.

>> Inocêncio.
[MSN] [ICQ]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Grinvon wrote:Vinícius, o que você está achando do Canvas do HTML5 para programação de jogos?


Ela me parece muito interessante. Só torço para os navegadores fazerem uma implementação realmente precisa e com boa performance.


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
gqferreira
Virtual Machine Man
[Avatar]

Membro desde: 29/11/2008 17:38:10
Mensagens: 572
Localização: Indaiatuba/SP
Offline

juliocbq wrote:
Detalhe que gtk+ não possui um desenho muito bom, mas ela é ótima, se você não se preocupar com OO.
http://www.anjuta.org/


Como assim? GTK não fica bom com orientação a objetos?

Acho que vou fazer em QT mesmo então....

Pegando o caminho das pedras...

"Se eu tiver uma maçã e você também tiver uma maçã, e trocarmos de maçãs, cada um ficará com uma maçã. Se eu tiver uma ideia e você também tiver uma ideia, e trocarmos ideias, cada um ficará com duas ideias."
George Bernard Shaw

Gustavo Quirino Ferreira
[WWW] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Se for fazer um jogo, você pode simplesmente usar a SDL diretamente (se for 2D) ou a SDL com o OpenGL. A vantagem é que a aplicação fica extremamente portável. Além disso, a SDL é específica para trabalhar com aplicações de mídia e extremamente simples.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Grinvon
GUJ Master
[Avatar]

Membro desde: 18/08/2003 22:10:49
Mensagens: 1899
Localização: Em qualquer lugar
Offline

Tem a Allegro também, se bem que essa, acho que não está mais em em produção.

>> Inocêncio.
[MSN] [ICQ]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

gqferreira wrote:
juliocbq wrote:
Detalhe que gtk+ não possui um desenho muito bom, mas ela é ótima, se você não se preocupar com OO.
http://www.anjuta.org/


Como assim? GTK não fica bom com orientação a objetos?

Acho que vou fazer em QT mesmo então....

Pegando o caminho das pedras...


Como o vini citou acima não é necessário sequer usar um framework robusto para criar um jogo, podendo codificar apenas com a biblioteca padrão e usando directx ou opengl.

A idéia do qt é que grande parte das estruturas de dados dele é type safe, e você não vai ter que se preocupar "muito" com overflows e memory leaks. E levando em conta que os widgets(componentes) e dispositivos como QPaint são acelerados no hardware, porque já usam opengl ou directx dependendo da plataforma. Pode facilitar o desenvolvimento

www.citrox.com.br
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

Grinvon wrote:Tem a Allegro também, se bem que essa, acho que não está mais em em produção.


está ativa sim e é muito boa.
http://www.allegro.cc/

www.citrox.com.br
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Grinvon wrote:Tem a Allegro também, se bem que essa, acho que não está mais em em produção.


A Allegro é a concorrente direta da SDL. A diferença entre as duas é a mesma do Netbeans e do Eclipse. Enquanto a Allegro é um pacotão com os recursos mais comuns em um único "bundle", a SDL é totalmente modular.

Claro que se você juntar todos os pacotes padrão da SDL, acabará com algo muito parecido com a Allegro nas mãos.


Gosto da SDL porque você pode só pegar o núcleo dela e utilizar junto com OpenGL e OpenAL na hora de fazer aplicações 3D.


Mas se você quer fazer só um jogo 2D, use qualquer API dessas e estará muito bem servido.

This message was edited 1 time. Last update was at 10/08/2010 14:03:40


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team