GOD OF WAR e jogos desse tipo são feitos em que linguagem?

43 respostas
P

Galera,

GOD OF WAR e jogos desse tipo são feitos em que linguagem?

Acho mto da hora esse jogo!

Vlw!!

43 Respostas

Marky.Vasconcelos

C++

E se voce reparar bem, vai ver que varios jogos nesse estilo usam uma engine parecida, voce pode ver que varios jogos parecem god of war mas com modelos bem diferentes.

E para aprender mais sobre desenvolvimento de games: PontoV!

maxmustang

serio cara?!! C++??!!

P

Vlw kra…

Acho mto da hora o jogo…fora q os desenvolvedores do jogo tiveram q imergir na mitologia grega…d+!!

Flw!

luiz.portnoy

Pelo pouco que vi, o C++ é a maioria na produção de jogos. Mas também tem jogos em Java e outras linguagens. Mas o C++ é bem flexivel nesse ponto. Existe também o XNA, que é a plataforma da Microsoft para desenvolvimento de jogos para XBox e Pc baseado em C#.

Felagund

Muitos deles combinam LUA e C/C++ para ter fazer os jogos como é o caso do World Of Warcraft

pintofree

uhauah Alguem Sabe em que Tibia é feito??

Pelo estilo acho q é pascal

O

pintofree:
uhauah Alguem Sabe em que Tibia é feito??
Pelo estilo acho q é pascal

Eu ouvi falar que era feito em Paintbrush com macros.

bestlinux

pintofree:
uhauah Alguem Sabe em que Tibia é feito??

Pelo estilo acho q é pascal

Acho que fizeram em VBA :lol:

L

pintofree:
uhauah Alguem Sabe em que Tibia é feito??

Pelo estilo acho q é pascal

suspeito que o programa seja feito em C ou C++ (Orientado a objetos)

não sei bem!! :shock:

Marky.Vasconcelos

pintofree:
uhauah Alguem Sabe em que Tibia é feito??

Pelo estilo acho q é pascal

O Client não sei, suspeito ser C++ também, mas o servidor eu tenho certeza que é C++, a muito tempo (uns 5 anos atras) eu lembro de brincar com os codigos de servidores de OTserver.

J

pintofree:
uhauah Alguem Sabe em que Tibia é feito??

Pelo estilo acho q é pascal

grafico não tem nada haver com linguagem. Normalmente as boas engines usam um linguagem de script para criar a lógica do jogo, e já te dão o recurso gráfico como opengl ou direct3d.

Tem uma engine muito boa que usa c# como script e mono. Boa parte dos jogos do wii estão sendo feitas nela.

ViniGodoy

Pelo pouco que vi, o C++ é a maioria na produção de jogos. Mas também tem jogos em Java e outras linguagens. Mas o C++ é bem flexivel nesse ponto. Existe também o XNA, que é a plataforma da Microsoft para desenvolvimento de jogos para XBox e Pc baseado em C#.

Se quiserem ler um comparativo do C++ e do Java para desenvolvimento de jogos:
http://www.pontov.com.br/site/index.php/java/47-javageral/87-java-no-desenvolvimento-de-jogos

O C e o C++ são as únicas linguagens que tem suporte a todos os consoles e plataformas. Existem diversas bibliotecas para essas linguagens, como a SpeedTree (para desenhar árvores), Havok (física) e a CryEngine (jogos no geral).

São linguagens que também dão pouca (ou melhor nenhuma) limitação quanto a uso de recursos do hardware. Lembrem-se que no mercado de console, diferenciação de hardware é um ponto muito importante da indústria, e essa diferenciação vai totalmente contra o conceito de uma máquina virtual. Por isso, linguagens virtualizadas como Java e C# tem pouca penetração. (A própria EA, quando sugeriu alguma coisa nesse sentido, foi duramente retalhada).

A biblioteca de Collections do C++, chamada de STL, é portável. Para se ter uma idéia do quanto o C++ é importante para a indústria de jogos, vejam uma das empresas que fez um port específico para ela:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html

Detalhe: Estamos falando de jogos hardcore. O mercado de jogos web é dominado pelo flash (quem sabe no futuro será o HTML 5). Enquanto o mercado de jogos para celular está se dividindo entre o Java (celulares Nokia, Motorola e Android) e o Objective-C (i-Phone).

J

Depois do xbox e xna comecei a ter uma idéia diferente de jogos e linguagens de programação. Acho que a plataforma está pesando mais que a linguagem hoje.

Creio que o uso do c++ seja mais pelo fato de uma gama enorme de compiladores e não estar sujeito a patentes, como é o caso das máquinas virtuais.

ViniGodoy

De qualquer forma,o XNA é uma tecnologia que só roda em uma única plataforma. Um estúdio grande, que queira investir em várias, jamais vai utilizá-lo.

O C++ também tem força pelo legado. É como eu falei, já existem muitas soluções completas e bem testadas para ele. As empresas já tem ótimo know-how.
Por que investir em outra plataforma?

E acho que o último motivo que eu citaria é o fato de que no C e no C++ é possível absorver rapidamente os últimos recursos de hardware, sem esperar ou ter que construir bindings ou coisas do tipo. Os fabricantes do próprio hardware geralmente já se preocupam em fornecer uma lib para essas linguagens, até por sua proximidade com o que eles mesmos usam.

pintofree

Ja que estamos falando no assunto, o Tibia Será refeito em flash, o projeto ja esta em andamento, vcs podem conferir nos fansites oficiais.

Que vcs acham disso? vai ficar bom ou não?

ViniGodoy

Deve ficar bom sim. Jogos em rede tem tanto lag da própria internet, que a linguagem é o menor dos problemas.

Sem falar que tíbia não tem um client pesado.

luistiagos

90% dos games são feitos em C++… tirando os de celular q são feitos em java… primeiro fazem a engine e depois fazem o game em cima da engine… se vc for ver diversos games usam a engine do Unreal… Wheelman, Alien vs Predator e até Crysis se não estou enganado usam esta engine… outra engine bem famosa é a engine Source que é usada em todos ou quase todos os jogos da Valve… é a engine feita inicialmente para o Half Life… foi usada nos Counter Strikes e as versões mais atuais dela são usadas para varios games atuais como: Left for Death 2, Team Fortress 2, Portal… entre varios outros da Valve… a engine Source é bem susse de mecher… e tem varios apps que utilizam ela para criação de mapas por exemplo…

ViniGodoy

O Crysis usa a CryEngine. Na verdade, inicialmente ele seria só o “demo” da engine, assim como os Wolfstein e Dooms eram demos da engine da ID-Software.

luistiagos

pintofree:
Ja que estamos falando no assunto, o Tibia Será refeito em flash, o projeto ja esta em andamento, vcs podem conferir nos fansites oficiais.

Que vcs acham disso? vai ficar bom ou não?

creio que vai ficar bem melhor… existe um mmorpg bem famoso ja em flash… estilo Final Fantasy Tatics que agora me fujiu o nome…
mas até a Level Up aqui do brasil tem server para ele…

ViniGodoy

luistiagos:
creio que vai ficar bem melhor… existe um mmorpg bem famoso ja em flash… estilo Final Fantasy Tatics que agora me fujiu o nome…
mas até a Level Up aqui do brasil tem server para ele…

O HelloKitOnline é em flash. E os gráficos são ótimos.

luistiagos

Valeu pela correção… mal posso esperar para lançarem o Crysis 2 em 2011… pelo trailer vai ser animal…

luistiagos

ViniGodoy:
luistiagos:
creio que vai ficar bem melhor… existe um mmorpg bem famoso ja em flash… estilo Final Fantasy Tatics que agora me fujiu o nome…
mas até a Level Up aqui do brasil tem server para ele…

O HelloKitOnline é em flash. E os gráficos são ótimos.

Lembrei agora o nome… é Dofus online… feito em Flash com graficos e jogabilidade otimas…

deniswsrosa

Até onde eu saiba LUA é usado “apenas” nos addons e na parte de macros do wow.

J

De qualquer forma,o XNA é uma tecnologia que só roda em uma única plataforma. Um estúdio grande, que queira investir em várias, jamais vai utilizá-lo.

O C++ também tem força pelo legado. É como eu falei, já existem muitas soluções completas e bem testadas para ele. As empresas já tem ótimo know-how.
Por que investir em outra plataforma?

E acho que o último motivo que eu citaria é o fato de que no C e no C++ é possível absorver rapidamente os últimos recursos de hardware, sem esperar ou ter que construir bindings ou coisas do tipo. Os fabricantes do próprio hardware geralmente já se preocupam em fornecer uma lib para essas linguagens, até por sua proximidade com o que eles mesmos usam.

Sim. O custo e o trabalho é muito maior. Com c++ você roda a aplicação em praticamente qualquer hardware com a quantidade de toolchains que existem. Já com c# e java precisa-se criar uma plataforma compatível para isso.

pintofree

luistiagos:
ViniGodoy:
luistiagos:
creio que vai ficar bem melhor… existe um mmorpg bem famoso ja em flash… estilo Final Fantasy Tatics que agora me fujiu o nome…
mas até a Level Up aqui do brasil tem server para ele…

O HelloKitOnline é em flash. E os gráficos são ótimos.

Lembrei agora o nome… é Dofus online… feito em Flash com graficos e jogabilidade otimas…

Ja joguei muito o Dofus, ele tem um sistema de turnos bem interresante, mais o cliente dele é muito pessado. nao jogava em navegar e sim baixava ele mesmo.

Tibia pretender fazer um cliente leve para jogar no navegador mesmo.

J

pintofree:
luistiagos:
ViniGodoy:
luistiagos:
creio que vai ficar bem melhor… existe um mmorpg bem famoso ja em flash… estilo Final Fantasy Tatics que agora me fujiu o nome…
mas até a Level Up aqui do brasil tem server para ele…

O HelloKitOnline é em flash. E os gráficos são ótimos.

Lembrei agora o nome… é Dofus online… feito em Flash com graficos e jogabilidade otimas…

Ja joguei muito o Dofus, ele tem um sistema de turnos bem interresante, mais o cliente dele é muito pessado. nao jogava em navegar e sim baixava ele mesmo.

Tibia pretender fazer um cliente leve para jogar no navegador mesmo.

Isso acontece porque o flash pinta os recursos na gdi, e não usa aceleração de hardware. Mas ouvi dizer que a próxima versão do plugin seria.

Marky.Vasconcelos

Também joguei Dofus, e ele é bem legal.

E já que estamos falando de games, nunca podemos esquecer de Runescape, totalmente Java3D que roda no browser.

ViniGodoy

Verdade. Mas outros jogos, como The Secret of Monkey Island 3, usaram Lua em praticamente todo o roteiro. Civilization IV, Oblivion e Dragon Age também tem boa parte da implementação de unidades em linguagens de script (não necessariamente o lua, nesses casos).

luistiagos

outra linguagem bastante usada alem do C++ e Lua nos games e o python… ragnarok usa um pouco de python principalmente na sua engine de IA…

von.juliano

luistiagos:
outra linguagem bastante usada alem do C++ e Lua nos games e o python… ragnarok usa um pouco de python principalmente na sua engine de IA…

Se não me engano, o Eve Online usa bastante python.

J

luistiagos:
outra linguagem bastante usada alem do C++ e Lua nos games e o python… ragnarok usa um pouco de python principalmente na sua engine de IA…

Essas linguagens não são usadas no desenvolvimento do sistema, e sim como motor de lógica do jogo.

Felagund

Marky.Vasconcelos:
pintofree:
uhauah Alguem Sabe em que Tibia é feito??

Pelo estilo acho q é pascal

O Client não sei, suspeito ser C++ também, mas o servidor eu tenho certeza que é C++, a muito tempo (uns 5 anos atras) eu lembro de brincar com os codigos de servidores de OTserver.

O server pelo menos em OT é baseado em C++ Lua e XML

caiodorn

luistiagos:
pintofree:
Ja que estamos falando no assunto, o Tibia Será refeito em flash, o projeto ja esta em andamento, vcs podem conferir nos fansites oficiais.

Que vcs acham disso? vai ficar bom ou não?

creio que vai ficar bem melhor… existe um mmorpg bem famoso ja em flash… estilo Final Fantasy Tatics que agora me fujiu o nome…
mas até a Level Up aqui do brasil tem server para ele…

Velho, eu sou apaixonado por FFT! Tirando a grande cagada de não ter multiplayer ou modo vs (pelo menos no PSX não tinha, no PSP eu não lembro), esse jogo é uma grande obra-prima. Cheguei a comprar a trilha sonora original no eBay hehe muito bom, bah. Vou dar uma olhada nesse tal de Dofus - fiquei curioso agora, já que sou órfão do FFT faz anos já…

matheuslmota

Ei pessoal, vejam se tem sentido meu raciocionio:
O java não é usado em jogos de grande porte por causa da VM. Ela faz com que o desenvolvedor perca o controle sobre o hardware. Mas tipo, e se suponhamos, a sony, fizesse uma máquina virtual específica para o ps3, não ficaria mais fácil o desenvolvimento?
Eu quero chegar no seguinte ponto: por que a fabricante não faz uma VM específica para seu console, na qual aproveitaria todos os recurso de hardware que seu produto oferece e deixando ao desenvolvedor a tarefa de programar apenas o jogo propriamente dito?
Ai ele poderia usar java o c# por exemplo, para fabricar seus games e ter um desenvolvimento mais ágil.
Alguém poderia opinar sobre o que eu disse?
Perdoem se falei alguma besteira.

D

matheuslmota:
Ei pessoal, vejam se tem sentido meu raciocionio:
O java não é usado em jogos de grande porte por causa da VM. Ela faz com que o desenvolvedor perca o controle sobre o hardware. Mas tipo, e se suponhamos, a sony, fizesse uma máquina virtual específica para o ps3, não ficaria mais fácil o desenvolvimento?
Eu quero chegar no seguinte ponto: por que a fabricante não faz uma VM específica para seu console, na qual aproveitaria todos os recurso de hardware que seu produto oferece e deixando ao desenvolvedor a tarefa de programar apenas o jogo propriamente dito?
Ai ele poderia usar java o c# por exemplo, para fabricar seus games e ter um desenvolvimento mais ágil.
Alguém poderia opinar sobre o que eu disse?
Perdoem se falei alguma besteira.

Acredito que por dois motivos,
ainda sim existiria uma VM fazendo intermédio entre linguagem e hardware, portanto o problema persistiria;
e a exemplo do google que tentou fazer isso com o dalvik, daria merda, patentes e coisa e tal.

ViniGodoy

matheuslmota:
Ei pessoal, vejam se tem sentido meu raciocionio:
O java não é usado em jogos de grande porte por causa da VM. Ela faz com que o desenvolvedor perca o controle sobre o hardware. Mas tipo, e se suponhamos, a sony, fizesse uma máquina virtual específica para o ps3, não ficaria mais fácil o desenvolvimento?
Eu quero chegar no seguinte ponto: por que a fabricante não faz uma VM específica para seu console, na qual aproveitaria todos os recurso de hardware que seu produto oferece e deixando ao desenvolvedor a tarefa de programar apenas o jogo propriamente dito?
Ai ele poderia usar java o c# por exemplo, para fabricar seus games e ter um desenvolvimento mais ágil.
Alguém poderia opinar sobre o que eu disse?
Perdoem se falei alguma besteira.

Se você for fazer uma VM que não tenha portabilidade, qual seria a vantagem de se ter uma VM, em primeiro lugar? Pra que criar uma camada de software que não faça qualquer tipo de trabalho?

A idéia toda de se ter uma virtual machine não é só proibir o acesso ao hardware, mas dar multiplataforma. E isso você faz criando um hardware homogêneo, que roda sobre o hardware real.

E é esse hardware homogêneo que a indústria de consoles, baseada na diferenciação de hardware, abomina.

PS: Talvez exista realmente a possibilidade de fazer uma VM simples para termos gabage collection, por exemplo. Mas isso não permitira que o Java rode na plataforma, e nem dará o benefício de portabilidade que torna o java tão atrativo.

matheuslmota

ViniGodoy , a máquina virtual não precisa ser a mesma para cada sistema computacional. O que torna o java portável é justamente a maquina virtual, que possui uma implementação diferente para cada OS. O que eu queria dizer, é que cada fabricante poderia fazer uma implementação da VM específica para seu console, específica para rodar jogos e que fizesse todo o controle do hardware. Toda parte de que do sistema em, por exemplo java, que necessitasse chamar alguma função do hardware, deixaria isso a controle da maquina virtual.
O que acha a respeito?

ViniGodoy

matheuslmota:
ViniGodoy , a máquina virtual não precisa ser a mesma para cada sistema computacional. O que torna o java portável é justamente a maquina virtual, que possui uma implementação diferente para cada OS. O que eu queria dizer, é que cada fabricante poderia fazer uma implementação da VM específica para seu console, específica para rodar jogos e que fizesse todo o controle do hardware. Toda parte de que do sistema em, por exemplo java, que necessitasse chamar alguma função do hardware, deixaria isso a controle da maquina virtual.
O que acha a respeito?

Não é bem assim. A implementação da máquina virtual é diferente em cada sistema, mas a máquina virtual gerada é igual. O nome “máquina virtual” vem justamente daí. É um software que emula um computador. E para que haja portabilidade, deve emular um computador padrão. É claro que em cada plataforma desejada, esse software será diferente, mas quem opera sobre ele (no caso, o bytecode Java) enxerga o mesmo computador.

É por isso que em java, um int sempre tem 32 bits, não importando se o computador tem um arquitetura de 32 bits ou não.

Agora, quando eu falo em diferenciação dos consoles, estou falando em ambientes realmente diferentes. Por exemplo, veja o anúncio do playstation 3, o poderoso processador cell. O que dá poder ao console é um monstrinho, que exige um tipo de programação paralela bem diferente do que a indústria já estava acostumada. Seria difícil fazer uma VM que contemplasse coisas tão distintas, sem incluir comandos específicos.

E se vc vai fazer comandos específicos e abrir mão de um software portável, qual a vantagem de se ter uma VM?

Outra coisa, a indústria é uma das pouca que investe valores vultuosos em otimização e performance, para extrair o máximo da máquina. Engines são extremamente otimizadas, e nenhum implementador de engine gostaria de ter uma camada entre ele e o hardware. Claro, sobre as engines, pode haver jogo portável. Não é à toa que a EA tem jogos em tantas plataformas difernetes, e posso garantir que não é com várias implementações partindo do zero.

matheuslmota

Blza ViniGodoy , agora tá tudo entendido e finalmente posso dormir em paz sem pensar por que a indústria de jogos pesados nao usa java…
Obrigado pela explicação.
:slight_smile:

Marky.Vasconcelos

Bem, talvez a unica vantagem de criar uma JVM especifica para a plataforma mesmo com comandos nativos, seria continuar programando em Java.

J

Marky.Vasconcelos:
Bem, talvez a unica vantagem de criar uma JVM especifica para a plataforma mesmo com comandos nativos, seria continuar programando em Java.

A vantagem que eu vejo é uma camada transparente do hardware e produtividade. Mas como as empresas de jogos não precisam se preocupar com um framework para várias outras ela se torna inútil mesmo. O foco é o hardware do próprio console.

B

apesar de toda particularidade de engines e consoles, suponho q os projetos de jogos encapsulem essas dependencias para reaproveitar o máximo de código possível nas outras plataformas. afinal, existem jogos que rodam em mais de um console. qual a forma mais comum de isolar essas dependencias? seria via wrappers mesmo?

[]s,
bob

ViniGodoy

Wrappers e compilação condicional.

É importante diferenciar as fases. Existe a produção das engines do game, que são de empresas de computação gráfica, física, etc. Essas precisam conhecer cada centímetro do hardware que atuam.

Não é raro uma engine gráfica ter 2 ou 3 implementações diferentes, para suportar hardwares diferentes.

E empresas que produzem games, usando essas engines. Essas engines dão o suporte multiplataforma e atuam como uma espécie de VM.

Criado 9 de setembro de 2010
Ultima resposta 10 de set. de 2010
Respostas 43
Participantes 18