Ir para conteúdo
Fórum Script Brasil
  • 0

Programar Jogos Em C ++


beherit

Pergunta

Posts Recomendados

  • 0

Olá,

Uma das principais recomendaçõese que os americanos dão para quem quer iniciar na programação em jogos, é fazer MODs (modificações) em jogos existentes. Por exemplo, os criados do jogo Unreal Tournament criaram uma ENGINE chamada Unreal, que serviu de base para outros jogos (Raven Shield, Splinter Cell, e muitos outros). Esta Engine possui um Editor (UnrealEd) e uma linguagem (UnrealScript), a qual é uma mesclagem de C++ com Java.

Logo, aí vão as minhas dicas:

1) Aprenda Java (já vai ser suficiente para lidar com UnrealScript);

2) Compre o jogo UT2004 (Unreal Tournament) e comece a criar seus próprios MODS na linguagem UnrealScript (isto vai te dar uma bagagem incrível);

3) Assim que vc. se sentir familiarizado com o ambiente, caso você queira (um dia) desenvolver uma ENGINE (cara, fazer isso é F*), comece a estudar linguagem de programação voltada para o desenvolvimento de programas que utilizem gráficos 3D (aqui você precisar aprender C++, e o bicho vai pegar smile.gif).

É isto...

Abs...

Link para o comentário
Compartilhar em outros sites

  • 0

ph34r.gif Cara!!!,isso é coisa de louco!!!!

voce tocou num assunto que eu tinha me esquecido,mas muito me interessa ''mods".

primeiramente,oque vem a ser um editor?

Eu to querendo aprender C++ mesmo,e já ta meio complicado de dar um inicio,então eu acho que não vai ter como aprender c++ e java ao mesmo tempo,apesar desse programa Java ser tambem muito comentado,mas se tiver como fazer esse "mods"em c++,eu to nessa cool.gif

uma "engine" seria um programa já mais direcionado a fazer jogo?

essa engine,no caso "Unreal",so faria jogos em 1ªpessoa?

tem como fazer isso com um "NFS UNDERGROUND"?

tem como baixar essa engine de algum site?

Caro Capablanca! valeu pela dica.

Link para o comentário
Compartilhar em outros sites

  • 0

ph34r.gif Cara!!!,isso é coisa de louco!!!!

voce tocou num assunto que eu tinha me esquecido,mas muito me interessa ''mods".

primeiramente,oque vem a ser um editor?

Eu to querendo aprender C++ mesmo,e já ta meio complicado de dar um inicio,então eu acho que não vai ter como aprender c++ e java ao mesmo tempo,apesar desse programa Java ser tambem muito comentado,mas se tiver como fazer esse "mods"em c++,eu to nessa cool.gif

uma "engine" seria um programa já mais direcionado a fazer jogo?

essa engine,no caso "Unreal",so faria jogos em 1ªpessoa?

tem como fazer isso com um "NFS UNDERGROUND"?

tem como baixar essa engine de algum site?

   Caro Capablanca!  valeu pela dica.

primeiramente,oque vem a ser um editor?

===============================

Um editor (no contexto em que estamos tratando) é um programa que acompanha grande parte dos jogos atuais. Ele permite que você crie mapas (entenda-se, cenários, fases), bem como importe modelos criados em softwares 3d (tipo 3DS Max, Maya, etc.) e os coloque no seu mapa. Vamos a um exemplo: o jogo UT2004 é um jogo de luta, com cenários mais no estilo futurista. O que o pessoal faz? Pega o Editor (no caso, o UnrealEd) e cria uma cenário totalmente diferente (tipo 2ª Guerra Mundial), muda os uniformes e os modelos dos mutantes para soldados, de modo que fica parecendo um outro jogo. Teve um cara que pegou e fez do UT2004 um jogo de futebol (heheh)... Eu tenho o UT2004, Special Edition que vem com dois DVDs, um deles com diversos tutoriais. Estes tutoriais ensinam: 1) a fazer um mapa completo (no UnrealEd); 2) criar personagens no Maya (software 3d) e exportá-lo para o UnrealEd; 3) criar uma animação no Maya e, através de UnrealScript, executá-la durante o jogo (neste caso o Script faz o seguinte: assim que o personagem entrar em um veículo RODE a animação tal).

Tudo isto eu falei apenas para te dar uma idéia de como agente trabalha com MOD. Estou citando muito o UnrealEd pois é o Editor mais usado. Por que? Porque muitos jogos atuais foram feitos com base na Unreal Engine (os caras que criaram o UT2004, paralelamente vendem a ENGINE do próprio deles que, diga-se de passagem, é uma das melhores). Desta forma, o jogo RavenShield usa o UnrealEd (visto funcionar com a Unreal Engine), e muitos outros jogos. Dê uma olhada nesta lista:

Games Using Unreal Engine

===================

***** UnrealEngine1 *****

Realesed Games

[unreal] - Epic Games and [Digital Extremes] (uses build 220-226) May 25, 1998

Star Trek : The Next Generation : Klingon Honor Guard - [Microprose] November 1, 1998

TNN Outdoor Pro Hunter - [DreamForge Entertainment] December 1, 1998

Unreal Mission Pack 1 : Return to Na Pali - [Legend Entertainment] (uses build 224-226) June 26, 1999

Dr. Brain's Thinking Games : Action/Reaction - [Knowledge Adventure] August 19, 1999

Nerf Arena Blast - [Visionary Media] October 31, 1999

Wheel of Time - [Legend Entertainment] (uses build 300-333) November 11, 1999

[unreal Tournament] - Epic Games and [Digital Extremes] (uses build 400-436) November 23, 1999

Deus Ex - [iON Storm Austin] (uses build 400-436)June 23, 2000

Star Trek : Deep Space Nine : The Fallen - [simon & Schuster] October 27, 2000

Rune - [Human Head Studios] (uses build 420-436) October 31, 2000

Clive Barker's Undying - [DreamWorks Interactive] (uses build 420) February 21, 2001

Adventure Pinball : Forgotten Island - [Digital Extremes] (uses build 420) March 23, 2001

X-COM : Enforcer - [Microprose] April 19, 2001

Rune : Halls of Valhalla - [Human Head Studios] (uses build 436) April 27, 2001

Harry Potter and the Sorcerer's Stone -[KnowWonder] (uses build 436) November 16, 2001

New Legends - [infinite Machine] February 20, 2002

Tactical Ops : Assault on Terror - [Kamehan Studios] (uses build 436) April 23, 2002

Mobile Forces - [Rage Software] (uses build 436) May 11, 2002

Harry Potter and the Chamber of Secrets - [KnowWonder] (uses build 436) November 8, 2002

Twin Caliber - [Rage Software] November 1, 2003

ETC...

***** UnrealEngine2 *****

Announced

Star Wars : Republic Commando - [LucasArts]

Men of Valor - [2015]

Advent Rising - [GylphX]

The Regiment - [Konami]

Pariah - [Digital Extremes]

Duke Nukem Forever - [3D Realms]

MagnaCarta(2) [Korean Game, PS2] - [soft Max]

[unreal Championship 2 : Liandry Conflict] - Epic Games

Hoop World - [steamline Studios]

SWAT 4 - [irrational Games]

Stargate SG-1™ - [Perception]

Vanguard : Saga of Heroes - [sigil Games]

Tom Clancy's Ghost Recon 2(PS2 Version using the Unreal Engine, XBOX and PC Version using Red Storm Own Tech)

Tom Clancy's Splinter Cell 3 : Chaos Theory - [uBI Montreal]

BioShock - [irrational Games]

Brainbox Games's New Game - [brainbox Games]

Postal 3 - [Running With Scissors] (indefinite)

Brothers in Arms - [Gearbox Software] (indefinite)

ETC...

Released

Sephiroth(Korean MMORPG) - [iMagic Entertainment] (uses build 926); August, 2002

[America's Army : Operations] - [uS Army] (v2.0 uses build 2226); August 28, 2002

[unreal Tournament 2003] - Epic Games and [Digital Extremes] (builds: base - 2107, 2136, 2166, 2199, latest - 2225); September 30, 2002

[Tom Clancy's Splinter Cell] - [ubi Montreal] (uses build 829); November 7, 2002

[unreal 2 : The Awakening] - [Legend Entertainment] (after final patch uses build 926, out of the box: 829); February 3, 2003

Devastation - [Arush Entertainment] (uses build 2110, Seventeen months from announcement to release, including an engine upgrade from build 436 and corresponding content overhaul in late 2002); March 28, 2003

[Tom Clancy's Rainbow Six 3 : Raven Shield] - (Ubi Soft] (uses build 927); March 17, 2003

[Postal 2] - [Running with Scissors] (uses builds base - 926, 927, 1000, 1337, 1407, 1408); April 14, 2003

[unreal Championship] (XBOX ONLY) - [Digital Extremes]; 2003

[Lineage 2 : Chaotic Cronicle] (MMORPG) - [NC Soft]; October 1, 2003

[unreal Engine 2 Runtime Edition] - Epic Games (uses build 2226); October 31, 2003

[XIII] - [ubi Soft] (uses build 829); November 18, 2003

Magic The Gathering : BattleGrounds - [secret Levels] (uses build 829); November 18, 2003

Desert Thunder - [brainbox Games]; November 18, 2003

Deus Ex 2 : Invisible War - [ion Storm Austin] (uses build 777); December 2, 2003

Unreal 2 XMP - [Legend Entertainment] (uses build 2226); December, 2003

[Tom Clancy's Rainbow Six 3 : Athena Sword] - [ubi Soft]; March 9, 2004

[unreal Tournament 2004] - Epic Games and [Digital Extremes] (builds: base - 3186, 3204, 3236,3270 demo - 3120); March 16, 2004

Dead Man's Hand - [Human Head Studios] (uses build 2110); March 18, 2004

Tom Clancy's Splinter Cell 2 : Pandora Tommorow - [ubi Shanghai] (uses build 829), (Multiplay Version uses build 2110); March 23, 2004

Thief 3 : Deadly Shadow - [ion Storm Austin]; May 25, 2004

Harry Potter and the Prisoners of Azkarban - [Electronic Arts]; May 25, 2004

Shadow Ops : Red Mercury - [Zombie Studios] (uses build 2110); XBOX Version Released June 15, 2004, PC Version Released September 21, 2004

Marine Heavy Gunner : Vietnam - [brainbox Games]; August 22, 2004

Tribes 3 : Vengeance - [irrational Games] (uses build 2500); October 5, 2004

ETC...

uma "engine" seria um programa já mais direcionado a fazer jogo?

===========================================

Não é bem assim... A Engine é o motor do jogo (é ocoração dele). Ela é responsável por como o jogo RODA, como os gráficos são exibidos na tela.

A engine ajuda você na parte de programação. Faz com que você programe menos. Ela permite que você não se preocupe com o funcionamento interno do DirectX e fornece muitas funcionalidades adicionais. Uma engine é a parte básica dos games, o coração deles. Implementa a estrutura básica de imagem, som e movimentação dos jogos.

O editor permite que você "monte" o game, ou seja, desenvolva a parte extra-programação dele, que são as fases, a definição de que imagens, sons e músicas usar, e a forma que estes dados serão usados.

essa engine,no caso "Unreal",so faria jogos em 1ªpessoa?

===========================================

Sim e não... Sim porque no caso do UT2004, você pode pilotar naves bem como dirigir automóveis (de modo que você conseguiria até mesmo fazer um jogo de corrida smile.gif). Não, porque o UT2004, muito embora tenha estes recursos para pilotar veículos e naves, é mais um jogo de primeira pessoa mesmo. No caso, você poderia ir atrás de um jogo específico de corrida, e verificar se o jogo acompanha um Editor (provavelmente o NFS Underground vem junto com algum editor). No entanto, é importante observar que você não consegue fazer um MOD e rodá-lo soiznho (tipo como se fosse um jogo separado). É necessário que a pessoa que tenha o jogo no qual você se baseou para criar o MOD. Desta forma, exemplificando, se eu criei um MOD para UT2004, os jogadores, para poder rodar meu MOD, precisarão ter o UT2004 (acho que o 2003 também funciona) instalado em suas máquinas.

tem como baixar essa engine de algum site?

===========================================

hehehehe... É o que todo mundo pergunta... Não, não tem... Você quer a ENGINE? Entre no site da Epics (criadora da Unreal Engine) e pergunte para eles quanto custa (já ouvi dizer que custa mais de US$ 500.000,00). porque. você acha que é necessário que o jogador tenha o jogo para executar o seu MOD? Resposta: porque o jogo já vem com a ENGINE acoplada nele tongue.gif . Quando eu disse acima que vários jogos foram baseados na Unreal Engine, quis dizer que quem fez estes outros jogos, adquiriu uma licença para usar a Unreal Engine.

então eu acho que não vai ter como aprender c++ e java ao mesmo tempo,apesar desse programa Java ser tambem muito comentado,mas se tiver como fazer esse "mods"em c++,eu to nessa

===========================================

No guia de referência da UnrealScript, consta que ela é uma mesclagem de C++ com Java. Independentemente de você querer programar para jogos, C++ e Java são linguagens bastante parecidas. No entanto, C++ (digo eu), tem um "poder de fogo" muito maior, principalmente no que diz respeito à programação para jogos, gráficos 3D etc. O próprio guia menciona que, apesar de Java possuir uma linguagem mais clara (entenda-se, fácil de entender), eles precisavam da C++ devido ao poder que ela tem no que diz respeito à programação gráfica. O guia recomenda que os iniciantes em UnrealScript comprem um livro de Java para iniciar. Eu creio que Java seria uma boa escolha a título de início, pois você iria aprender uma linguagem que vem sendo muito utilizado no mercado (o que lhe garantiria uma boa vaga). No entanto, também entendo que você teria que mais cedo ou mais tarde dar uma fuçada em C++ também.

Abs...

Link para o comentário
Compartilhar em outros sites

  • 0

Na minha opinião, Java é uma linguagem totalmente ampla, abrange todos os tipos de desenvolvimento, como c++. Todos dizem que não há um jogo feito em c++ que não possa ser refeito em java. Java não é "A linguagem do mercado" a toa wink.gif . Tudo depende de você. Agora na minha opinião, se você aprender Java, nunca precisará tocar em C++(toda regra tem uma exceção, lembre-se), já que "não há nada que não possa ser feito com Java" segundo os programadores experientes.

Pronto. Opinião dada.

Link para o comentário
Compartilhar em outros sites

  • 0

Vou tentar falar alguma coisa, mas não sei nada nessa assunto....

essa história de que

"não há nada que não possa ser feito com Java" segundo os programadores experientes.

não é muito válida, porque quando um cara gosta de uma linguagem ele sempre vai protege-la com toda a força, acho que até o próprio Macoratti já falou em uma matéria sua que o VB pode fazer de tudo, a diferença que o que você faz em C em duas linhas, você vai fazer me vb em 1000...

quanto a C /C++ e Java, acredito que a maior diferença seja a velocidade, java é centenas de vezes mais lento....

em questão de sintax acho que as duas sào iguais... em portabilidade acho ue o Java atualmente ganha....

esse foi meu adento...

até mais

Link para o comentário
Compartilhar em outros sites

  • 0
quanto a C /C++ e Java, acredito que a maior diferença seja a velocidade, java é centenas de vezes mais lento....

Java é MUITO mais lento quando se trata de GUI. Isso porque a biblioteca padrão, o Swing, é muito pesada. Mas há APIs do OpenGL para Java, que rodam com a mesma velocidade que em C++. Operações matemáticas, em alguns casos, são até mais rapidas, segundo alguns Benchmarks.

Ou seja, desenvolvimento de jogos em Java, só se for programando diretamente em OpenGL. Aí fica igualzinho a C++... Acaba nem compensando muito, já que OpenGL é totalmente procedural. wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0
essa história de que

"não há nada que não possa ser feito com Java" segundo os programadores experientes.

não é muito válida, porque quando um cara gosta de uma linguagem ele sempre vai protege-la com toda a força, acho que até o próprio Macoratti já falou em uma matéria sua que o VB pode fazer de tudo, a diferença que o que você faz em C em duas linhas, você vai fazer me vb em 1000...

Concordo que defendemos nossa linguagem de preferência, só me permita uma observação. Java pode sim fazer tudo, mesmo os que não gostam dela dizem. Assim como VB pode fazer tudo(dispensada a portabilidade) como C++ e outras. A maioria pode sim fazer tudo, portanto a idéia não é inválida. É o que eu acho, mas eu não sei muito disso(porém já ouvi muito que várias linguagens podem fazer tudo, mas umas tem suas especialidades)

Agora, não seria ao contrário? 2 linhas em VB e 1000 em C? Já que VB oculta muitos processos que estamos fazendo sem saber e C deixa tudo explícito? Só curiosidade tongue.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Agora, não seria ao contrário? 2 linhas em VB e 1000 em C? Já que VB oculta muitos processos que estamos fazendo sem saber e C deixa tudo explícito? Só curiosidade  tongue.gif

Tente fazer um programa que use socks nas duas linguagens e você qual q ficou com 2 linhas e qual ficou com as 1000. Aliás, desde quando código pequeno é sinal de linguagem boa?

Link para o comentário
Compartilhar em outros sites

  • 0

blink.gif minha cabeça vai fundir!!!!!!!

acabei de pegar uns tutoriais na unidev a respeito de c++e achei um de mods a proposito editor unreal

salvei tudo ,e vou ler mais tarde

realmente são bastantes jogos,deixa eu ver se eu entendi direito?

eu vou usar o editor em conjunto com o c++(a unreal engine acho que não tem jeito?)?Não esquenta se minhas perguntas são meio idiotas,mas eu ainda não sei nada de c++,e nem programação de jogos,meu colega tem o Unreal,então no cd vai ter o editor?

no caso do NFS Underground,pra saber se tem um editor é só explorar o cd? cool.gif

VALEU!!!!

AINDA VOU FICAR COM O C++ ph34r.gif

Link para o comentário
Compartilhar em outros sites

  • 0

O C++ é a linguagem mais perfeita de todas em relação "Facilidade de uso/Número de recursos". Pra ser sincero, é a linguagem mais poderosa, só perde para Assembly ou para linguagens ainda mais próximas da linguagem binária original que podem ser mais rápidas e igualmente poderosas no entanto centenas de vezes mais difíceis de se aprender e programar e milhares de vezes mais propícia a erros além de dificuldades sérias de adaptação de uma plataforma para outra. Java que é seu fiel concorrente é de certa forma mais fácil, porém é uma linguagem interpretada, ou seja, mais lenta e menos poderosa, bem menos, além disso o programa abre sobre outro diminuindo sua flexibilidade, confiabilidade, personalização e o torna dependente. Eu recomendo o C++ com toda certeza do mundo, ela foi usada para desenvolver o windows, por exemplo. C++ também tem a vantagem de resistir às mudanças do mercado, enquanto outras linguagens tendem a sumir, o C++ tende a continuar por muito tempo ainda.

Se com C++ se fez o Windows imagine então que jogos pode-se fazer com ele... alguns exemplos: Rise of Nations, Age of Mythology, Doom 3 (se não me engano), etc.

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

O C++ é a linguagem mais perfeita de todas em relação "Facilidade de uso/Número de recursos". Pra ser sincero, é a linguagem mais poderosa, só perde para Assembly ou para linguagens ainda mais próximas da linguagem binária original que podem ser mais rápidas e igualmente poderosas

O C++ é perfeito para aplicaçoes Desktop que exigem, antes de mais nada, perfomance. Quanto à facilidade de uso, C++ perde feio para VB. Isso não deve ser visto como uma qualidade, ou ponto fraco, mas como uma caracteristica. Se seu objetivo é produtividade, não é nada agradável escrever 200 linhas para criar uma interface gráfica. Se você estiver fazendo um sistema operacional, é outra historia. Antes de mais nada, você vai querer dominio sobre o hardware. É aí que entram as linguagem de baixo nivel.

obs.: antes que alguém me interprete mal, odeio VB.

Java que é seu fiel concorrente é de certa forma mais fácil, porém é uma linguagem interpretada, ou seja, mais lenta e menos poderosa, bem menos, além disso o programa abre sobre outro diminuindo sua flexibilidade, confiabilidade, personalização e o torna dependente.

Agora não entendi mais nada! Linguagens interpretadas são menos poderosas? Bem, tanto faz, porque java não é interpretado de forma alguma. Não sei se você já ouviu falar "compilaçao dinamica", mas é +- assim: A maquina virtual pega todas as caracteristicas da maquina e COMPILA o código intermediário com muitas otimizaçoes. Assim, se um processador suporta um tipo especial de instruçao, a maquina virtual irá detectar e compilar o codigo aproveitando essa instrução.

Antes de comentar sobre uma linguagem, é preciso conhecê-la. Cada linguagem tem sua aplicação, cada uma tem sua própria área. Seria loucura desenvolver OS em prolog, ou criar um Doom3 em python, assim como seria absurdo desenvolver um forum desses em C++. Daria pra fazer? Talvez sim. Mas do que adianta um código complexo e gigantesco em uma linguagem baixo nivel, quando o mesmo resultado pode ser obtido em poucas linhas de uma linguagem alto nivel?

Voltando ao tópico, C++ é uma ótima linguagem para criação de jogos. Não sei se alguma outra linguagem a supera nesse ramo. Mas é preciso estudar bem e ficar fluente na linguagem antes de desenvolver qualquer coisa mais séria. wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0
O C++ é a linguagem mais perfeita de todas em relação "Facilidade de uso/Número de recursos". Pra ser sincero, é a linguagem mais poderosa, só perde para Assembly ou para linguagens ainda mais próximas da linguagem binária original que podem ser mais rápidas e igualmente poderosas

O C++ é perfeito para aplicaçoes Desktop que exigem, antes de mais nada, perfomance. Quanto à facilidade de uso, C++ perde feio para VB. Isso não deve ser visto como uma qualidade, ou ponto fraco, mas como uma caracteristica. Se seu objetivo é produtividade, não é nada agradável escrever 200 linhas para criar uma interface gráfica. Se você estiver fazendo um sistema operacional, é outra historia. Antes de mais nada, você vai querer dominio sobre o hardware. É aí que entram as linguagem de baixo nivel.

obs.: antes que alguém me interprete mal, odeio VB.

Java que é seu fiel concorrente é de certa forma mais fácil, porém é uma linguagem interpretada, ou seja, mais lenta e menos poderosa, bem menos, além disso o programa abre sobre outro diminuindo sua flexibilidade, confiabilidade, personalização e o torna dependente.

Agora não entendi mais nada! Linguagens interpretadas são menos poderosas? Bem, tanto faz, porque java não é interpretado de forma alguma. Não sei se você já ouviu falar "compilaçao dinamica", mas é +- assim: A maquina virtual pega todas as caracteristicas da maquina e COMPILA o código intermediário com muitas otimizaçoes. Assim, se um processador suporta um tipo especial de instruçao, a maquina virtual irá detectar e compilar o codigo aproveitando essa instrução.

Antes de comentar sobre uma linguagem, é preciso conhecê-la. Cada linguagem tem sua aplicação, cada uma tem sua própria área. Seria loucura desenvolver OS em prolog, ou criar um Doom3 em python, assim como seria absurdo desenvolver um forum desses em C++. Daria pra fazer? Talvez sim. Mas do que adianta um código complexo e gigantesco em uma linguagem baixo nivel, quando o mesmo resultado pode ser obtido em poucas linhas de uma linguagem alto nivel?

Voltando ao tópico, C++ é uma ótima linguagem para criação de jogos. Não sei se alguma outra linguagem a supera nesse ramo. Mas é preciso estudar bem e ficar fluente na linguagem antes de desenvolver qualquer coisa mais séria. wink.gif

Vamos por parte... eu não deixei de falar que as linguagens binárias dependem exclusivamente do hardware e suas especificações e dessa forma tem incompatibilidade de um Pc para outro. Concordo com você que as linguagens binárias são próximas à máquina e é justamente por isso que ela é tão poderosa, já que qualquer instrução possível pode ser usada.

Quando quis dizer que linguagens interpretadas são menos poderosas que linguagens compiladas eu me referi à uma verdade incontestável, ao passo de que um programa em linguagem interpretada depende de outro para funcionar tornando-a "dependente de terceiros", além disso ela é mais lenta por que o sistema vai dar prioridade primeiramente ao programa na qual ela está sendo executada e depois à ela propriamente dita. Entendeu agora?

Sobre o Java meu caro, concorde comigo em um aspecto: C++ é melhor que Java. Inicialmente era para ser uma linguagem interpretada, assim como Python e CGI, mas surgiram compiladores para ela, assim como surgiram compiladores capazes de tornar arquivos Python e CGI programas .EXE, não me leve a mal, mas quando a gente reponde um tópico a gente tenta poupar tempo, por isso lembre-se que para um bom entendedor meia pala-bas biggrin.gif .

Vivendo e aprendendo, não nasci perfeito, se eu estiver errado em algum aspecto me corrijam. smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Sinceramente, eu acho que dizer que C++ é melhor, é fechar os olhos para o mundo atual.

Primeiro,eu acho que você disse uma besteira ao dizer que Java concorre com C++. Errado. Hoje em dia as atualizações do Java não são feitas para que ela seja melhor que o C++, até porque, os que trabalham em cima dela já a consideram melhor que C++. As atualizações são feitas para concorrer com o .NET que é a grande força da Microsoft. O mundo atual é Java x .NET, sem dúvida alguma. (.NET liderado por C#)

Que muitos vão continuar a usar C++, é verdade. Agora cara, esses são os desenvolvedores independentes, porque vai numa empresa, que tenha que montar algo de alta tecnologia, a mais nova, você não vai encontrar UMA que tenha C++ como a base de seus negócios. O mundo hoje é .NET e Java. Caso queira discutir java x .net, muito certo, já que não se chegou a uma conclusão ainda. Mas discutir .net x c++ ou c++ x java é ultrapassado, afinal, os grandes(tenho um dono de empresa na família) já optaram ou por java ou por .net. C++ pode ser usado como base(deu a luz ao java), mas não satisfaz todas as necessidades do mercado atual.

Hoje em dia, nesse mundo, não se pode discutir apenas quanto ao que você acha, mas sim quanto ao que o mercado vem dizendo. Quanto ao mercado de jogos, ótimo, C++ na cabeça! Mas o mercado de jogos não é o mais importante da informáticas e nos outros, c++ fica pra trás.

Mas como eu sou novo nessa área, foi uma opinião que formulei por contato com pessoas que realmente entendem.

Rodrigo

PS: Eu não estou dizendo isso porque estou estudando Java, até porque, resolvi aprender C++, como uma base, primeiro.

Link para o comentário
Compartilhar em outros sites

  • 0
Inicialmente era para ser uma linguagem interpretada, assim como Python e CGI, mas surgiram compiladores para ela, assim como surgiram compiladores capazes de tornar arquivos Python e CGI programas .EXE.

Aí fica um dilema: Python também gera byte-codes assim como Java. E são estes byte-codes que são interpretados. Ou seja, podemos dizer que ambas são compiladas e intepretadas do mesmo jeito. Então, como classificá-las? Compiladas, interpretadas, ou mesmo ambas?

Além disso, para Python não existe um meio de compilá-los para executáveis de verdade. O máximo que se faz é gerar um arquivo .EXE e juntar todas as dependências (a biblioteca do interpretador, bibliotecas externas, etc.) de forma que o programa possa funcionar de forma independente.

Todavia, devo lembrar que não vejo mal algum no fato de não se poder gerar um executável verdadeiro. E que ainda existem certas vantagens nesse modelo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Sobre o Java meu caro, concorde comigo em um aspecto: C++ é melhor que Java. Inicialmente era para ser uma linguagem interpretada, assim como Python e CGI, mas surgiram compiladores para ela, assim como surgiram compiladores capazes de tornar arquivos Python e CGI programas .EXE

Pra começo de história, essa comparação C++ vs Java é impossivel. Java é uma tecnologia, não uma linguagem. Java desktop é só um dos ramos, que, por sinal, nem é o mais importante. Acho que você precisa definir "melhor", pois algo pode ser melhor em muitos aspectos, que talvez não interessem. Java sempre foi compilada, desde os primórdios. Você está confundindo bytecode com script.

Mas tudo bem, reconheço seu amor à linguagem C++! biggrin.gif

Se ela não fosse tão boa, o compilador javac não seria criado em C, ou muitos outros programas por aí. Com a criação do C++, muita gente parou de programar em ASM, mas nem por isso ele morreu. Hoje, é inviável programar alguma coisa digna em ASM. Não estou querendo matar o C++, só estou dizendo que há inguagens melhores, sim, dependendo do seu objetivo.

Link para o comentário
Compartilhar em outros sites

  • 0

iSoron, é claro que temos que nos respeitar, opção é opção. Considero o C++ melhor que o Java, mesmo que essas linguagens sejam muito diferentes mas respeito aqueles que preferem o Java.

Agora... cá entre nós, o Java não é o real concorrente do C++ em diversas situações, porém quando se trata de programação de jogos nada atualmente, pelo menos ao meu ver, é melhor que o C++.

Em diversas situações existem outras linguagens melhores que C++, sem dúvida, ninguém vai querer criar um script para a web em C++, o que só é possível usando-se CGI, pois ele não é próprio para isso, mas para programar jogos e programas de peso como Dreamweaver, Photoshop, Kazaa ou Windows o C++ se mostra como uma ótima opção.

Valeu! Esse tipo de discussão é construtiva para todos nós! biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Estou gostando desse tópico, aprendi algumas coisas bem interessantes, enfim, tenho vontade de aprender C++, me pai mexe no ramo de máquinas de vídeo-bingo, e todos os jogos desenvolvidos para essas máquinas são em C++, não tenho experiência em linguagens de baixo nível (programo em Delphi), mas acho que C++ é o mais indicado para programar jogos.

Link para o comentário
Compartilhar em outros sites

  • 0

Hehe Realmente, esse tópico foi interessante. Questão de gosto não se discute mesmo... Eu prefiro Java, e o mercado de trabalho também, como o aragorn13 falou. Com certeza C++ tem maior experiencia quanto a desktop. Java ainda precisa melhorar nessa parte.

Na duvida, aprenda os dois! biggrin.gif

sem dúvida, ninguém vai querer criar um script para a web em C++, o que só é possível usando-se CGI
Ou então usando J2EE, com sua arquitetura complexa de servlets, JSP, struts, EJB, etc.

Link para o comentário
Compartilhar em outros sites

  • 0

O bom desse tópico é que pelo menos eu, aprendi conceitos que eu não conhecia sobre a linguagem C++ e a tecnologia Java(como disse o iSoron).

Acontece, que eu acho que se a Sun investisse um pouco mais no desktop para java, não levaria tanto tempo assim, para conquistar os desenvolvedores C++. O que prejudica, afinal, é nos jogos, onde a menor velocidade de execução do java faz diferença pra pior.

Agora, o criador do Java, é um mestre em C++. Creio que por isso mesmo, ele deve ter observado erros do C++ e corrigido-os no Java. Podemos dizer então que Java deve ser menos "errada" que C++. C++ deixa você ultrapassar certas regras, o que não deveria acontecer. E a linguagem mais "fresca"(não que seja ruim) quanto a erros que já vi é Java. tongue.gif

Que Java e .NET estão dominando com o "pé nas costas"(só tiram na hora de concorrer um com o outro), ninguém pode negar. Mas C++ não deixa de ser ótima, realmente ótima, eu também ADORO C++ laugh.gif

Então, podemos chegar a conclusão de que o programador faz a diferença. E quanto mais soubermos, melhor. Pois poderemos usar C++ quando formos desenvolver jogos, Java e .NET no geral.

Meus planos não param em C++ e Java, extendem-se para C# e pra outra que eu vou decidir quando acabar de aprender as 3 laugh.gif

Realmente, esse tópico foi muito produtivo. Parabéns pra nós. hehehehe

Link para o comentário
Compartilhar em outros sites

  • 0

bom!!! parece que já finalizaram esse forum,mas eu mesmo que o iniciei ,só consegui ficar ainda mais confuso,então me parece que o futuro pra jogos profissionais é .Net?

e .Net é uma linguagem nada a ver com C++?

então qual é a dica pra quem quer se profissionalizar como programador de jogos um dia?

Um abraço ph34r.gif espero que alguém responda Valeu!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

bom!!! parece que já finalizaram esse forum,mas eu mesmo que o iniciei ,só consegui ficar ainda mais confuso,então  me parece que o futuro pra jogos profissionais é .Net?

e .Net é uma linguagem nada a ver com C++?

então qual é a dica pra quem quer se profissionalizar como programador de jogos um dia?

Um abraço        ph34r.gif espero que alguém responda  Valeu!!!!!

Bom, na verdade o pessoal se enveredou na defesa de suas linguagens e acabou-se esquecendo o objeto da discussão (programação de jogos). A .NET Framework é uma plataforma de desenvolvimento que conta com várias linguagens, incluindo o C++, C# e o VB.NET, por exemplo. No caso, esse C++ pode ser usado tanto com os recursos da plataforma ou não. Ainda não vi algum jogo feito baseado na .NET.

Porém, talvez seja besteira pensar em uma única linguagem para criação de jogos. Indiscutivelmente a linguagem C (e não C++) é que é a mais usada, porém vira e mexe você vê alguma notícia sobre uma linguagem de script que é usada em conjunto para a criação de um determinado jogo (como Lua, uma linguagem nacional, que foi utilizada no jogo Grim Fandango, se não me engano). Além disso, deve-se levar em conta também tecnologias como DirectX e OpenGL, além de bibliotecas como a SDL e a Allegro. O módulo pygame, para Python, aliás, é um ótimo exemplo de integração entre duas linguagens já que utiliza a SDL, criada em C.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, é aqui vão minhas desculpas por me empolgar num sentido que não te ajudaria.

Pelo visto você realmente só quer saber de jogos tongue.gif

Bem, aí vai o meu conselho(não posso dizer muito, pois não sou experiente):

Como você deve ter percebido, você não vai sair por aí fazendo jogos como NFS, GTA. E outra: creio que pelo menos o básico de uma linguagem você vai ter que aprender. Dizer para você, que não tem experiência que podem-se usar várias linguagens não é muito animador, afinal, primeiro você tem que aprender uma. Como já vai pensar em outra? E quando digo aprender uma, não estou dizendo que seja rápido. Você vai ter que aprender conceitos (afinal, a linguagem é a linguagem, não importa para que área você programa, a linguagem é a mesma, mas é claro, recursos seram deixados de lado ou utilizados, dependendo da área), e dependendo da sua facilidade, pode demorar pouco tempo ou muitíssimo tempo.

Eu pensei no que o Graymalkin disse, frisando a utilização de C e não C++ e me lembrei de uma vantagem do C em relação ao seu irmão mais novo: o C cria executáveis muito menores. Em simples programas, isso não vai fazer muita diferença, mas no futuro, pode apostar que sim.

Bem, se você ficou mais embolado que mosca em teia de aranha com isso( tongue.gif ), eu digo o seguinte: aprenda o básico em C, sem pensar muito em jogos. Aprenda os conceitos básicos (compre um livro de repente). Sei que você deve se desanimar pois você vem frisando apenas os jogos, mas na minha opinião, ou é assim, ou você vai cair no mundo dos jogos e vai ficar sem pai nem mãe e aí o bicho pega. E não acho que seja fácil se dar bem assim. Então, pegue uns tutoriais de jogos e leia alguns códigos(se achar)... Eu vi um livro aí que tem o código do PacMan. Leia um código desse tipo. Leia e pense "Bem, eu estou entendendo tudo?" e assim vai se perguntando e caso a resposta seja não, aprenda um pouco mais da linguagen; quando pensar, "ótimo, estou pronto", aí sim, caia fundo aonde eu não posso mais aconselhar wink.gif

Bem, espero que o meu conselho quanto ao início sirva para você.

Link para o comentário
Compartilhar em outros sites

  • 0

ph34r.gif bom!!!!valeu as dicas ,eu realmente tenho a intenção de me aperfeiçoar em programação de jogos,embora ainda não tenha conseguido fazer o "hello World",ainda não me acertei com com o Dev,nem seu compilador,e tantas siglas,mas tudo bem agora já sei que tenho que achar algum livro que ensine o basico do basico,e o que signifca seus comandos,uma hora vai dar ceto biggrin.gif (no dark basic basic era a coisa mais facil e eu pensei que outras linguagens fossem faceis como ele pra se iniciar sozinho,mas tudo bem.)

UM ABRAÇO!!!!!!

Tambem vou dar uma olhadinha em C.

Turbo C e C ,é a mesma coisa?

Link para o comentário
Compartilhar em outros sites

  • 0

O dev é só ir em New, digitar o seguinte código:

#include <iostream>
int main()
{
      std::cout << "Hello world!" << std::endl;
      return 0;
}

Se você usar o dev, você ainda pode chamar o arquivo stdlib no include e usar o comando system("PAUSE") para provocar uma pausa no programa

Rodrigo

E boa sorte com seu aprendizado, e quando sair um jogo quero ver wink.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...