Archive

Posts Tagged ‘Engines’

Unreal Engine 3 em versão gratuita

Unreal EngineDepois do Unity, agora é a vez da Unreal ganhar uma versão gratuita. A ferramenta, chamada Unreal Development Kit (UDK) é a versão completa da Unreal Engine 3, porém só pode ser usada em projetos não-comerciais ou educacionais (ao contrário do Unity, que vem em uma versão mais limitada mas que permite uso comercial).

Para uso comercial, há dois tipos diferentes de licenciamento: projetos internos devem pagar $2,500 por cópia do UDK usada no desenvolvimento; e para produtos que são comercializados externamente há um pagamento de $99 pela licença mais 25% do lucro obtido com o produto (há uma isenção desta taxa sobre os primeiros $5,000 de lucro do produto). Pensando bem, apesar da alta taxa de royalties, ainda é uma boa pedida visto que não será preciso investir centenas de milhares de dólares na ferramenta.

Eu fico bastante feliz com a abertura destas ferramentas, pois fica cada vez mais fácil não só desenvolver um jogo indie mas também aprender as ferramentas que realmente são utilizadas nas grandes desenvolvedoras de jogos. Como disse o Bruno no Twitter, nessa briga das grandes engine a gente é que sai ganhando. 

Inicialmente, esta versão gratuita suporta o desenvolvimento para PCs, mas parece que a Epic está considerando a possibilidade de abrir para consoles também.

O download do UDK (563 MB) está diponível em vários mirrors nesta página. Há ainda a documentação que parece ser boa e exemplos de jogos completos, para quem quiser estudar.

Via: Develop e Campo Minado (vídeo).

Diego Barboza Engines, Indie Games, Unreal Development Kit , ,

Develop lista o Top 10 das engines para desenvolvimento de jogos

enginesO portal Develop fez uma série de matérias sobre as dez engines mais importantes do momento. A cada semana, um post apresentou uma nova posição no Top 10, até chegar à conclusão que o Unreal Engine 3 é a melhor opção disponível no mercado.

A lista inclui, além de uma descrição sobre cada engine, detalhes como as plataformas compatíveis, jogos em que foi usada (já lançados e em desenvolvimento), preço (disponível só em alguns casos) e compatibilidade com outras ferramentas.

Para o desenvolvedor independente e pequenas empresas as opções ficam um pouco limitadas, mas engines como o Torque 3D ($1000) e o Unity ($199) são bons investimentos. Destaque para o Unity que ficou em quarto lugar na lista encarando os gigantes de frente. Segundo a matéria, o suporte ao Xbox 360 e PS3 será oferecido em breve (em adição às plataformas atuais PC, Mac, iPhone, Wii e Web).  

Segue a lista completa (clique nos links para ver os detalhes da engine):

1 – Unreal Engine 3
2 – Gamebryo Lightspeed
3 – CryENGINE 3
4 – Unity 3D
5 – BlitzTech
6 – Infernal Engine
7 – Vision Engine 7.5
8 – Bigworld Technology Suite
9 – Vicious Engine
10 – Torque 3D

Fiquei sabendo da reportagem em um comentário neste post no PDJ.

Diego Barboza Engines, Geral, Indústria , , , ,

A técnica de Tesselation e a evolução gráfica de Forza Motorsport 3

Mesmo torcendo um pouco o nariz pro Forza Motorsport 2 (que não joguei muito, frisa-se), não quer dizer que eu não fique admirado com a proeza da Turn 10 (desenvolvedora do jogo) em conseguir melhorar os gráficos e o gameplay pra concorrer diretamente com o Gran Turismo 5 (sendo que eu testei o Prologue alguns dias atrás). Então, lendo um tópico do Gran Turismo 5 no UOL Jogos, encontrei 2 exemplos da evolução gráfica do jogo, mostrando diferenças brutais na modelagem dos carros do jogo. As imagens, pelo que eu descobri depois, devem ter sido originadas deste fórum:

Forza 2

forza2_01

Forza 3

forza3_01

Forza 2

forza2_02

Forza 3

forza3_02

O mais interessante é, segundo um usuário do fórum do UOL Jogos, no Forza 2 cada carro tem de 50 a 100 mil polígonos. Em Gran Turismo 5 Prologue tem entre 150 a 200 mil e no Forza Motorsport 3 aumentaram: entre 500  mil e 1 milhão de polígonos em cada carro! Um número bastante alto para um jogo desse porte, e isso eles conseguiram usando uma técnica chamada de Tesselation (segundo um usuário de lá). Um usuário do fórum do UOL Jogos postou o seguinte:

A resposta pra essa evolução absurda de quantidade de polígonos pro Forza 2 pro Forza 3 é Tesselation, uma técnica da Xenos que permite um aumento de 10x no número de polígonos com o mesmo nível de processamento. Ela exige ferramentas diferenciadas, por isso partiram para uma nova engine.

Pra quem quer entender um pouco sobre tessellation segue uma imagem, imaginem que a primeira cabeça é o que os artistas fazem normalmente hoje em dia, o resto dos polígonos é calculado pela VGA/Engine, quero ver quando começarem a usar isso em todo jogo de Xbox.

Read more…

Rodrigo Flausino Modelagem 3D, Tecnologia , ,

Conheça o Unity Engine

Para quem deseja desenvolver jogos 3D sem maiores complicações, o Unity 3D é uma boa escolha.

Ao contrário de ferramentas como o XNA, o Unity fornece um editor visual, o que facilita e muito a distribuição dos elementos dentro do jogo. Esse editor também possibilita configurar todos os objetos, inicializar valores de atributos e editar scripts. A ferramenta lembra outras engines de alto nível, como o 3D Game Studio, mas possui uma interface bem mais amigável e as linguagens de script oferecidas também são mais poderosas.

O Unity oferece componentes para trabalhar com física, partículas, audio, iluminação, redes, animações, terrenos, câmeras e muito mais. A lógica do jogo pode ser programada nas linguagens JavaScript, C# ou Boo (Python), e scripts escritos em uma linguagem interagem com scripts escritos em outra linguagem sem problemas.

Um grande diferencial ao meu ver é a importação de recursos para os jogos. O Unity é capaz de importar diretamente arquivos .blend, .max e .psd, por exemplo. Em alguns casos, pode ser necessário ter a ferramenta (como o 3D Studio Max) instalada, mas de qualquer forma há a possibilidade de importar formatos padrão, como .3ds ou .jpg.

Componentes criados no Unity também podem ser exportados e reutilizados em outros projetos, através do recurso de criação de prefabs, que cria um arquivo binário que passa a ser tratado pelo Unity como um outro recurso qualquer.

Até pouco tempo atrás o Unity estava disponível apenas para os sistema operacional MacOS, mas no mês passado uma versão do editor foi lançada para o Windows. O mais interessante é que, independente da plataforma usada para desenvolver, o Unity pode gerar executáveis tanto para Mac quanto para Windows. E ainda há a possibilidade de se criar jogos para a web, necessitando que o usuário instale um plugin no navegador para jogar. O Unity também permite desenvolver jogos para iPhone e Wii, mas nestes casos os custos de licenciamento  são diferentes.

Falando em custos, a versão Indie da ferramenta custa US$ 199,00, o que, diante das facilidades oferecidas pelo editor é uma pechincha. A versão Pro sai por US$ 1499,00, que também não é nenhuma fortuna se comparado aos preços da CryEngine e da Unreal Engine. Os preços e maiores detalhes estão aqui.

Na página do Unity estão listados diversos jogos feitos com ele. Nada muito conhecido, mas vale a olhada. Interessante notar que o jogo T-Racer, mostrado dentro do último Big Brother Brasil, foi feito com o Unity.

Jogo T-Racer utilizado em uma das provas do BBB9.

Read more…

Diego Barboza Artigos, Engines, Notícias, Unity ,

Nova versão da engine Irrlicht (1.5.0)

Saiu ontem no Gamedev.net que foi lançada uma nova versão da engine 3D Irrlicht, com vários recursos, como suporte a COLLADA 1.4 e arquivos LWO, luzes volumétricas e renderizadores mais rápidos de terreno. Mais infos:

Irrlicht Engine 1.5 released

Pra quem está atrás de uma engine Opensource para projetos indie, a Irrlicht é uma ótima pedida, sendo que tem versões para C++ e Java (com a jirr). E com certeza, caso soubesse C++, usaria ou esta engine ou a Ogre3D.

Veja duas imagens do que a engine pode fazer (para mais imagens, vá a página oficial):

Rodrigo Flausino Engines, Notícias , ,

A imensidão das tecnologias gráficas das engines 3D

Half Life Lost Coast – Efeito de HDR (High Dynamic Range Rendering)

Nos últimos dias andei lendo e tentando entender os artigos traduzidos do Loading Time sobre a história do 3D. Na verdade o artigo é mais como um dicionário de termos técnicos comuns, mas focado em tecnologias que são hoje aplicadas em engines técnicas. Você vê explicações (algumas vezes bem difíceis de entender) sobre anti-aliasing, Z-Buffering, Normal Map e tecnologias que você pode nunca ter ouvido falar na vida, como Parallax Mapping, Post Processing e Ambient Occlusion (que eu só sabia que existia o nome). Eu fiquei maravilhado com isso, com esses termos difíceis, com as próprias tecnologias, mas eu estava no mundo da fantasia. Uma hora a ficha cai e você volta para o mundo real: meu, como eu faria um treco desses no meu jogo?

Pegamos o Realtime Shadows (Sombras em Tempo Real), usado em Splinter Cell. Pelo que eu entendi lendo o texto, é necessário ter um mapa de sombra, onde, caso um objeto se mova da fonte de luz, seria necessário atualizar todo o mapa de sombras do objeto e refazer todos os cálculos. Minha mente de programador está até agora sem nenhum tipo de idéia de como que eu poderia fazer um negócio desses.

OK, eu admito que não tenho conhecimento algum em engines. Não saberia, neste momento, criar algum tipo de efeito gráfico ou mesmo explicar, mas isso é algo a se pensar pra quem quer ser programador de games. E eu digo: programador de games. Aquele que vai mexer com códigos-fonte, com linguagens de programação, com engines, com inteligência artificial. Hoje muita gente acha que o termo programador de games se refere a alguém que cria o jogo. OK, ele pode acabar sendo o responsável por dar vida ao jogo, mas temos que dividir as áreas. Temos um modelador que faz os modelos 3D, temos os game designers que projetam as coisas, temos os ilustradores de conceitos para mostrar uma idéia usando um desenho, etc etc etc. Que tentemos colocar cada função e cada um em seu devido lugar.

Mas porquê um programador (ou alguém que queira entrar neste ramo) teria de pensar nisso? Porquê são eles que terão de se preocupar com os efeitos gráficos do jogo. São eles que vão botar a mão na massa e setar. São eles que terão, também, de escolher a engine certa para o projeto.

Hoje eu considero bem difícil escolher uma engine gráfica. Mais difícil seria projetar uma engine, já que o programador teria de estudar matemática em níveis bem avançados para criar cálculos que possam gerar efeitos gráficos. Vento, água, fumaça. Pode não parecer, mas são efeitos que quebram a mente de um programador avançado com uma facilidade tremenda. Mas pode ter alguma engine possa fazer isso. E aí entra os termos citados no começo deste texto.

Quando você joga um game, como jogador, você não pensa na dificuldade que os programadores podem ter tido ao desenvolver o mesmo. Chegar e pensar, por exemplo, em maneiras de poder economizar recursos de memória para o restante ser usado com outras coisas. Pensem numa multidão vista no vídeo abaixo, em Assassin’s Creed:

Impressionante? Então veja o Hydrophobia, game que mostrará uma simulação de água num nível que realmente impressiona:

OK, hoje os consoles atuais e os PCs conseguem facilitar a vida dos programadores, mas mesmo assim pense naqueles programadores que fazem as engines internas das produtoras. Ou mesmo pense naqueles programadores que desenvolvem engines gráficas de ponta, como a Unreal Engine 3. Pense nas pessoas que criaram parte do que você viu acima. Eu tenho um respeito enorme pelos caras, já que eles devem quebrar bem a mente pra poder criar cálculos efeitos gráficos. Um sistema comercial com banco de dados pode ser chato e monótono, mas é mais fácil do que você pensar em desenvolver cálculos complexos para criar efeitos de luzes e que pode ser fascinante ficar testando durante o seu horário de trabalho. Ou mesmo desenvolver uma boa rotina de inteligência artificial ou quebrar a cabeça com um monte de personagens na tela se interagindo de forma realista.

Hoje existem tantos efeitos técnicos numa engine que você acaba ficando maluco. São termos técnicos que até mesmo um modelador não entenderia logo de cara. Um game designer muito menos. Tenho certeza também que muito programador de games também podem não conhecer tudo. Não quer dizer que eles tem de conhecer, mas saber pelo menos o básico pode evitar muita dor de cabeça no futuro. Se uma equipe analisar bem que tipos de efeitos o jogo pode ter, a equipe pode escolher a engine que possa se adequar melhor aquele projeto. E não se preocupe por não saber tanto sobre Ambient Occlusion ou mesmo sobre HDR (High Dynamic Range Rendering). Talvez você nunca possa pensar em utilizar este tipo de tecnologia, dependendo do seu foco atual como desenvolvedor. De todos os termos, só conhecia o Normal Map, mapeamentos de textura e o Anti-Aliasing. Este último por ser algo bastante difundido em revistas de games. O mapeamento de textura por já ter feito algo parecido no Blender. E o Normal map por estar habituado a ver objetos 3D que possuem irregularidades numa superfície.

Rodrigo Flausino Artigos, Engines, Programação , ,

Nova versão da Irrlicht

Segundo uma nota no site da UniDev (que, aliás, agora também tem RSS. Vale a pena acompanhar também), saiu uma nova versão da engine Irrlicht. Para mais informações:

Irrlicht 1.4.1 Released

Como a Ogre3D, a Irrlicht é uma das engines mais usadas pelos desenvolvedores indie, por ser opensource e por ter um bom poder de fogo. Com certeza essas duas engines eu poderia usar caso conhecesse bem o C++ (que, aliás, tenho de começar a estudar para não ficar para trás na corrida de conseguir entrar na área de gamedev).

Rodrigo Flausino Notícias, Programação , , , ,

Engine Unity avaliada para Wii

Para aqueles que querem aprender a desenvolver para o Nintendo Wii, uma boa alternativa é a Unity , uma engine com custo muito baixo (de 400 a 2 mil dólares) e capaz de criar tanto jogos baseados em web (jogar na internet) quanto jogos para PC e Mac.

Segundo o Develop , a engine agora está autorizada como ferramenta third-party (ferramenta de terceiros) para o console. Ainda segundo a matéria, ela "tem uma classe simples de scripting para o WiiRemote e uma expansão da ShaderLab, conseguindo vantagens do chip gráfico do console" (tradução livre)

Conheci a engine durante a entrevista que fiz com o Israel Mendes , da Aquiris, que falou um pouco sobra e engine e a mesma demonstra ter um bom poder gráfico. Caso queira conhecer, jogue o game O Formato é Só um Detalhe .

Rodrigo Flausino Indústria, Notícias, Programação , , , ,

Mais sobre engines

Continuando o post de ontem, decidi procurar mais referências sobre engines, mas neste post o foco são as engines freewares/opensource/gratuitas e artigos relacionados. Bom, muitas equipes tem dúvidas sobre qual a engine que eles podem utilizar em seus projetos. Cada linguagem possui engines próprias e é recomendado escolher uma engine de uma linguagem que os programadores já conhecem. Se eles conhecem C++ a fundo, obviamente podem usar uma engine desta linguagem, como o Ogre 3D. Ou, se sabem Java, podem tentar se aventurar pelos celulares ou mesmo usar o jMonkeyEngine, que está se tornando uma alternativa interessante sobre isso.

O primeiro lugar que a equipe deve procurar informações é no site Devmaster. Lá tem muita informação sobre engines/ferramentas e muitos detalhes de cada uma. Ou então acompanhar os fóruns de discussão e ver quais as engines mais usadas. Hoje, Ogre 3D, Irrlicht e Crystal Space são as mais usadas. Tem também o 3D Game Studio, que não é necessariamente uma engine (considero como uma ferramenta completa) e em Java tem-se a jMonkeyEngine, o Java 3D e o JME (Java Mobile, que também é conhecida como J2ME), por exemplo. Além dessas, tem também o Dark Basic e o Blitz Basic, que não posso afirmar muito sobre isso, em virtude do meu desconhecimento atual nestas ferramentas.

Continuando as minhas pesquisas, existem alguns artigos interessantes que os desenvolvedores tem de analisarem antes de escolher uma engine. A escolha de uma é crucial para o desenvolvimento e deve ser pensada com muito carinho. Afinal, se você ver depois que a engine que você está usando não tem aquele recurso que você planejou (se você planejou primeiro antes de sair desenvolvendo) e outra tem, trocar de engine no meio do projeto pode ser inviável, já que o jogo terá de ser refeito.

Bom, chega de textos e vamos aos artigos:

Desenvolvimento de Jogos 3D: Concepção, Design e Programação

Motores para Criação de Jogos Digitais: Gráficos, Áudio, Interação, Rede, Inteligência Artificial e Física

Dois artigos extensos, que fala de praticamente tudo: engines gráficas, áudio, física (citando a Havok e a ODE), IA, etc.

Arquiteturas para Jogos Massive Multiplayer

Bom, apesar de não falar muito sobre engines, mas sobre arquiteturas usando jogos multi-player. Recomendado pra quem quer fazer MMO (aliás, se você for tentar, leia isto antes de seguir num projeto desses!)

Plataformas para Desenvolvimento de Jogos para Celulares

Aqui mostra um comparativo entre as ferramentas para games de celulares. Recomendo usar o Java, que parece ser a alternativa que mais está crescendo atualmente no mundo.

Por fim, se mais alguém quiser complementar este post com informações, fique a vontade!

Rodrigo Flausino Engines

Um pouco sobre engines

Bom, uma das ferramentas essenciais na criação de games são as engines. Elas que são responsáveis pela geração dos gráficos do jogo além de ligar os modelos e cenários a rotinas de programação (caso a equipe tenha usado uma linguagem externa) como lógicas de inteligência artificial e scripts do roteiro. Então o Develop montou um artigo sobre as principais engines do mercado:

Horsepower for courses

Vale a pena conferir apenas como curiosidade, já que estas engines estão inacessíveis para nós, desenvolvedores indie, por causa do custo de cada uma (que, aliás, nem estão precificadas no artigo. Tem que consultar as empresas). Dizem que a Unreal Engine 3 custa pelo menos 1 milhão de dólares só para licenciá-la.

Outro artigo, que deve ser levado em consideração (também do Develop) é este:

Gentlemen, Start Your Engines

Mostra as diferenças entre adquirir/usar ume engine pronta e desenvolver internamente (in-house).

Vou procurar depois sobre engines mais baratas (e freeware/opensource) e postar aqui no GamedevBR.

[Via Develop 1 e 2]

Rodrigo Flausino Indústria, Programação ,