A Escolha do Engine
Existe uma grande quantidade de engines. Em Isacovic [ISA 05] há uma excelente lista de referências sobre os principais e mais completos. Como escolher o engine adequado para desenvolver um jogo? Existem diversos fatores que devem ser considerados:
– Orçamento disponível: Existem engines que custam U$ 100,00 e outros que ultrapassam U$ 1 milhão. Os mais caros, além de possuírem todos recursos que um engine é capaz de ter, normalmente são programas que possuem uma excelente equipe de apoio, que irá acompanhar a empresa desenvolvedora do início ao fim da sua produção. Este acompanhamento consistirá em desenvolver plug-ins específicos, adaptar funcionalidades do engine para as necessidades específicas e até dar treinamento para os programadores;
– Tipo de jogo a ser desenvolvido: Apesar de existirem engines que são capazes de construir tipos bastante diferente de jogos, a maioria terá uma série de características que favorecem para o desenvolvimento de um tipo específico de jogo. Por exemplo, o Quake Engine permite desenvolver jogos no estilo FPS (First Person Shooter).
– Milestones: O tempo que se possui para produzir um jogo influencia muito na escolha do engine. Alguns engines permitem que um jogo seja feito em poucos dias, mas implicará numa série de soluções padrões, que o tornam semelhante a muitos outros jogos produzidos com aquele mesmo engine;
– Plataforma: Um jogo pode ser desenvolvido para diversas plataformas, tais como PC, X-Box, GameCube, PlayStation, MacOS, entre outras. É fundamental que o engine escolhido suporte a plataforma para a qual se está desenvolvendo. Os engines mais caros normalmente são capazes de produzir jogos para diversas plataformas;
– Documentação oferecida: O desenvolvedor de jogos deverá, antes de adotar um engine, verificar como é a documentação do mesmo. Sem uma documentação eficiente, dificilmente o programador será capaz de utilizar adequadamente os recursos oferecidos pelo engine;
– Ferramentas disponíveis: Cada engine possuirá conversores e exportadores, que permitirão que sejam utilizados outros programas para programar seu SDK ou para modelar os objetos 3D. É fundamental que o desenvolvedor analise quais as ferramentas com as quais se pode produzir os para o engine em questão (se a equipe de modeladores conhece apenas o MAYA, é conveniente que o engine a ser adotado suporte o MAYA para os modelos 3D).
Outro ponto que precisa ser destacado é que percebe-se na maioria dos desenvolvedores a preocupação em centralizar todo o processo de criação do engine dentro das organizações. Tal atitude acaba ocasionando uma grande quantidade de reescrita de código [ROL 04]. Certamente que este comportamento é indesejado porque representa um maior custo de desenvolvimento e preocupação com características que já foram amplamente implementadas. Ao invés das soluções serem recriadas constantemente, seria mais interessante efetuar um reaproveitamento de componentes já previamente desenvolvidos. Para Rollings & Morris [ROL 04], à medida que a complexidade dos jogos incrementa não será possível que o time interno de desenvolvedores produza toda a codificação de todos os componentes dentro de um prazo hábil. Portanto, a partir desta constatação é possível afirmar que gradativamente a componentização começará a tornar-se mais comum entre os desenvolvedores. Além do setor industrial percebe-se esta cultura no meio acadêmico. Perde-se tempo e incrementa-se custos em conseqüência do não reaproveitamento de soluções existentes.
Comentários
Postar um comentário