none
Jogos e .NET Framework

    Question

  • E ai pessoal!

    Bom...É simples, eu só queria saber porque os melhores jogos que existem atualmente, são todos programados em C++, e nunca em C#? Já que li que o C# "consegue" criar jogos 3D.

    E porque todos esses jogos não usam o .NET Framework?

    Eu estou perguntando isso, pois pretendo estudar sobre criação de jogos, é meu sonho trabalhar nesse ramo (criar jogos). E atualmente estou aprendendo C#, então, C# não me ajudaria em nada para o que pretendo ser quando "crescer" mais um pouquinho, eu teria era que partir para o C++?

    obs: Eu já quero desde de agora começar a estudar programação para jogos, para quando for fazer um curso, faculdade etc... Me sair MUITO bem.

    Abraço!
    Wednesday, August 05, 2009 8:50 PM

Answers

  • GuhMP,

    Não trabalho com desenvolvimento de jogos mas acredito que a maioria deles são programados em C/C++ por que esse tipo de aplicação demanda um controle rígido de memória, que no .NET é realizado pela CLR (Common Language Runtime).

    Além do controle da memória, em alguns casos é necessário uma integração com placas de vídeo e som, que normalmente em C++ é feito por meio de DirectX. Existe uma API do DirectX gerenciada para .NET mas desconheço a sua performance.

    Em relação ao .NET, existe o ambiente de desenvolvimento Microsoft XNA Game Studio que contém bibliotecas para desenvolvimento de jogos para Windows e XBox. Também nunca trabalhei com isso e nunca tive curiosidade em aprender.

    Minha sugestão para quem quer começar a desenvolver jogos seria:

    1 - Aprender as linguagens C e C++.
    2 - Entender bastante de assuntos relacionados a Cálculo, Cálculo Numérico, Geometria Analítica, Geometria Computacional, Computação Gráfica/Processamento de Imagens.
    3- Conhecer o Visual C++ (não gerenciado) e suas respectivas bibliotecas (MFC, ATL e outras).
    4 - Conhecer bem a fundo o DirectX SDK.

    Em relação à faculdade acho que seria interessante você partir para Ciência da Computação e depois fazer uma pós-graduação em Desenvolvimento de Jogos. Se bem que a faculdade é uma enrolação completa.

    Espero ter ajudado. Desculpe o tamanho do post.

    Att.

    Ari C. Raimundo


    • Marked as answer by GuhMP Thursday, August 06, 2009 1:38 AM
    Thursday, August 06, 2009 1:34 AM
    Moderator
  • GuhMP,

    No .NET Framework qualquer código que não é gerenciado pela CLR é denominado código não gerenciado (Ex: componentes COM, componentes ActiveX, funções da API do Windows e outros).

    An Overview of Managed/Unmanaged Code Interoperability
    http://msdn.microsoft.com/en-us/library/ms973872.aspx

    Sobre sua dúvida com os cursos segue link abaixo.

    Ciência da Computação, Engenharia da Computação ou Sistemas de Informação?
    http://www.infowester.com/col290804.php

    Sou formado em Engenharia da Computação e a maioria (eu diria mais de 90%) dos assuntos que conheço de Computação eu não aprendi na faculdade.

    Att.

    Ari C. Raimundo
    • Marked as answer by GuhMP Thursday, August 06, 2009 2:28 AM
    Thursday, August 06, 2009 2:22 AM
    Moderator
  • Oi GuhMP. faço faculdade de Sistemas de Informação e 90% das coisas que eu aprendi foi na marra mesmo, nos livros e na internet, porém se a faculdade não tivesse contribuído com os outros 10% eu não chegaria a tal ponto, pois a faculdade trilha um caminho, mas é você quem o percorre, a faculdade também te proporciona outras visões que talvez sozinho você não veria, além de abrir as portas para o mercado de trabalho.

    O desenvolvimento de jogos com C# e XNA é mais indicado se você estiver querendo desenvolver jogos independentemente, jogos mais casuais por exemplo para serem baixados pela Live do Xbox, e é um bom caminho para depois entrar no C++ de cabeça, pois é muito mais difícil, e vai por mim, é difícil pra caramba, demora muito mais tempo também tanto para aprender como para desenvolver. Porém depende do caso.

    Espero ter ajudado.

    abraços ;)
    • Marked as answer by GuhMP Saturday, August 08, 2009 1:19 AM
    Saturday, August 08, 2009 1:15 AM

All replies

  • GuhMP,

    Não trabalho com desenvolvimento de jogos mas acredito que a maioria deles são programados em C/C++ por que esse tipo de aplicação demanda um controle rígido de memória, que no .NET é realizado pela CLR (Common Language Runtime).

    Além do controle da memória, em alguns casos é necessário uma integração com placas de vídeo e som, que normalmente em C++ é feito por meio de DirectX. Existe uma API do DirectX gerenciada para .NET mas desconheço a sua performance.

    Em relação ao .NET, existe o ambiente de desenvolvimento Microsoft XNA Game Studio que contém bibliotecas para desenvolvimento de jogos para Windows e XBox. Também nunca trabalhei com isso e nunca tive curiosidade em aprender.

    Minha sugestão para quem quer começar a desenvolver jogos seria:

    1 - Aprender as linguagens C e C++.
    2 - Entender bastante de assuntos relacionados a Cálculo, Cálculo Numérico, Geometria Analítica, Geometria Computacional, Computação Gráfica/Processamento de Imagens.
    3- Conhecer o Visual C++ (não gerenciado) e suas respectivas bibliotecas (MFC, ATL e outras).
    4 - Conhecer bem a fundo o DirectX SDK.

    Em relação à faculdade acho que seria interessante você partir para Ciência da Computação e depois fazer uma pós-graduação em Desenvolvimento de Jogos. Se bem que a faculdade é uma enrolação completa.

    Espero ter ajudado. Desculpe o tamanho do post.

    Att.

    Ari C. Raimundo


    • Marked as answer by GuhMP Thursday, August 06, 2009 1:38 AM
    Thursday, August 06, 2009 1:34 AM
    Moderator
  • GuhMP,

    Não trabalho com desenvolvimento de jogos mas acredito que a maioria deles são programados em C/C++ por que esse tipo de aplicação demanda um controle rígido de memória, que no .NET é realizado pela CLR (Common Language Runtime).

    Além do controle da memória, em alguns casos é necessário uma integração com placas de vídeo e som, que normalmente em C++ é feito por meio de DirectX. Existe uma API do DirectX gerenciada para .NET mas desconheço a sua performance.

    Em relação ao .NET, existe o ambiente de desenvolvimento Microsoft XNA Game Studio que contém bibliotecas para desenvolvimento de jogos para Windows e XBox. Também nunca trabalhei com isso e nunca tive curiosidade em aprender.

    Minha sugestão para quem quer começar a desenvolver jogos seria:

    1 - Aprender as linguagens C e C++.
    2 - Entender bastante de assuntos relacionados a Cálculo, Cálculo Numérico, Geometria Analítica, Geometria Computacional, Computação Gráfica/Processamento de Imagens.
    3- Conhecer o Visual C++ (não gerenciado) e suas respectivas bibliotecas (MFC, ATL e outras).
    4 - Conhecer bem a fundo o DirectX SDK.

    Em relação à faculdade acho que seria interessante você partir para Ciência da Computação e depois fazer uma pós-graduação em Desenvolvimento de Jogos. Se bem que a faculdade é uma enrolação completa.

    Espero ter ajudado. Desculpe o tamanho do post.

    Att.

    Ari C. Raimundo



    Quando você disse: "Conhecer o Visual C++ (não gerenciado)".

    O que  quer dizer "não gerenciado"?

    Sobre a faculdade de ciencia da computação, eu estou com a cabeça girando aqui, pois existe tecnologia da informação, sistema de informação, ciencia da computação e assim vai... E agora? Qual a diferença entre elas?

    Obrigado por sempre estar me ajudando nos tópicos que eu vivo abrindo huahua.

    Abraço!
    Thursday, August 06, 2009 1:43 AM
  • GuhMP,

    No .NET Framework qualquer código que não é gerenciado pela CLR é denominado código não gerenciado (Ex: componentes COM, componentes ActiveX, funções da API do Windows e outros).

    An Overview of Managed/Unmanaged Code Interoperability
    http://msdn.microsoft.com/en-us/library/ms973872.aspx

    Sobre sua dúvida com os cursos segue link abaixo.

    Ciência da Computação, Engenharia da Computação ou Sistemas de Informação?
    http://www.infowester.com/col290804.php

    Sou formado em Engenharia da Computação e a maioria (eu diria mais de 90%) dos assuntos que conheço de Computação eu não aprendi na faculdade.

    Att.

    Ari C. Raimundo
    • Marked as answer by GuhMP Thursday, August 06, 2009 2:28 AM
    Thursday, August 06, 2009 2:22 AM
    Moderator
  • Desanimei agora, é tão caro uma faculdade desse porte, eu espera que a faculdade iria me ensinar MUITA coisa sobre programação...

    Se a faculdade não ensina, eu faço ensinar na marra, porque eu sou bem chato quando não entendo algo ou tenho alguma duvida, eu vou e pergunto e encho o saco do professor huahua.

    Abraço.

    Thursday, August 06, 2009 2:30 AM
  • Oi GuhMP. faço faculdade de Sistemas de Informação e 90% das coisas que eu aprendi foi na marra mesmo, nos livros e na internet, porém se a faculdade não tivesse contribuído com os outros 10% eu não chegaria a tal ponto, pois a faculdade trilha um caminho, mas é você quem o percorre, a faculdade também te proporciona outras visões que talvez sozinho você não veria, além de abrir as portas para o mercado de trabalho.

    O desenvolvimento de jogos com C# e XNA é mais indicado se você estiver querendo desenvolver jogos independentemente, jogos mais casuais por exemplo para serem baixados pela Live do Xbox, e é um bom caminho para depois entrar no C++ de cabeça, pois é muito mais difícil, e vai por mim, é difícil pra caramba, demora muito mais tempo também tanto para aprender como para desenvolver. Porém depende do caso.

    Espero ter ajudado.

    abraços ;)
    • Marked as answer by GuhMP Saturday, August 08, 2009 1:19 AM
    Saturday, August 08, 2009 1:15 AM
  • Oi GuhMP. faço faculdade de Sistemas de Informação e 90% das coisas que eu aprendi foi na marra mesmo, nos livros e na internet, porém se a faculdade não tivesse contribuído com os outros 10% eu não chegaria a tal ponto, pois a faculdade trilha um caminho, mas é você quem o percorre, a faculdade também te proporciona outras visões que talvez sozinho você não veria, além de abrir as portas para o mercado de trabalho.

    O desenvolvimento de jogos com C# e XNA é mais indicado se você estiver querendo desenvolver jogos independentemente, jogos mais casuais por exemplo para serem baixados pela Live do Xbox, e é um bom caminho para depois entrar no C++ de cabeça, pois é muito mais difícil, e vai por mim, é difícil pra caramba, demora muito mais tempo também tanto para aprender como para desenvolver. Porém depende do caso.

    Espero ter ajudado.

    abraços ;)


    Obrigado por responder.

    Bom... Ainda tenho 16 anos, e estou lendo uma apostila de C++, e "fuçando" no C# para criar algumas aplicações que preciso no dia-a-dia, mas essa apostila de C++ ensina o basico do basico, eu queria saber qual caminho tomar agora que estou novo ainda e posso aprender muita coisa pra quando chegar na faculdade, chegar arrebentando! huahua

    Abraço.

    Saturday, August 08, 2009 1:21 AM
  • Dedique-se a aprender Inglês, pelo menos leitura.

    Procure aprender Programação Orientada a Objetos.

    Leia muito, mas filtre o que lê.

    Procure fazer amizades com quem já entende do negócio.

    Mas não avance muito, vá com calma, senão quando vc entrar na facul vc vai dar aulas para seus professores... apesar que eu não sei se isto é bom ou ruim, no meu caso eu aprendo ainda muita coisa na faculdade, mas muita coisa eu já sei, então muitas aulas ficam muito sem graça, aí eu tento fazer outras coisas no horário, aí alguns colegas meus acham que eu sou o cara. Mas a verdade é que a maioria dos alunos são muito desleixados mesmo.

    Acho que o mais importante também para você que não quer investir muito dinheiro em uma faculdade cara é estudar bastante para conseguir uma bolsa, há programas de incentivo do governo federal, também talvez tentar uma federal.

    Abraços.
    Saturday, August 08, 2009 1:29 AM
  • Uma coisa que era pra mim ter perguntado no tópico, mas esqueci é:

    Tem um jogo que tem uma DLL feita em C#, e eu desinstalei o  framework pra ver se ia rodar, e não é que rodou?

    Mas como isso é possivel já que C# só roda com framework???!!!

    Abraço
    Saturday, August 08, 2009 2:24 AM