Atualmente, estou estudando desenvolvimento de jogos e praticando fazer jogos.
Eu uso muita OOP nos meus jogos. Por exemplo, cada míssil disparado é uma instância de um Missile
objeto e adicionado a uma lista de Missile
objetos. Cada tanque no jogo é um Tank
objeto. Etc.
Todo o design do programa é baseado nisso. Por exemplo, ter uma lista de Missile
objetos permite que todos os quadros movam os mísseis, desenhe-os Tank
, etc.
É difícil para mim imaginar como um jogo (que é mais complexo que o Pac-Man) poderia ser programado em uma linguagem não OO. (Sem desrespeito aos programadores não OO, é claro). Não apenas em termos de quanto tempo levará, mas principalmente em termos de como um jogo pode ser projetado dessa maneira.
Não consigo imaginar projetar um jogo sem usar a programação orientada a objetos, porque todo o meu entendimento de como projetar um programa de jogo é baseado em OOP.
Gostaria de perguntar: Hoje, existem jogos que não são programados usando OOP, de maneira semelhante ao que descrevi acima? Existem jogos 'profissionais' que não usam OOP como um fator importante no processo de desenvolvimento?
Se sim, você poderia me dar uma idéia de como, por exemplo, a detecção de colisão entre um tanque e um número N de mísseis poderia ser implementada, sem OOP?