Quais são os melhores recursos no design e desenvolvimento de jogos ou mecanismos de jogos multithreaded? Como é obviamente para onde os computadores estão indo, pretendo estudar esse tópico e gostaria de saber quais recursos e exemplos estão disponíveis.
44
Respostas:
Alguns recursos intel.
http://software.intel.com/en-us/articles/designing-the-framework-of-a-parallel-game-engine/
http://software.intel.com/en-us/videos/dont-dread-threads-part-1/
fonte
A série Don't Dread Threads da Intel é bastante boa. Ele tem 3 partes, o básico é abordado nos primeiros 1,5 deles.
Resumo do que foi abordado na primeira 1.5:
Evitar a decomposição funcional
Antes de tudo, eles desencorajam usando a Decomposição Funcional. A decomposição funcional é apenas "coloque a IA em um segmento, coloque o áudio em outro segmento, coloque os gráficos no terceiro segmento"
Então esse tipo de aparência se parece com isso
Então isso é ruim . Em vez disso, você deseja usar a decomposição de dados .
Usar decomposição de dados
A decomposição de dados significa que você divide tudo em seu jogo em pequenas tarefas realizáveis. Você gera x threads, digamos 4, e, em seguida, para cada um desses 4 threads, eles pegam uma tarefa continuamente da pilha de tarefas e trabalham nela até terminar.
É como um monte de gente comendo uma pizza. Todo mundo toma uma fatia até a pizza terminar.
Claro, agora estou com fome.
fonte
Uma breve visão geral das abordagens do mecanismo multithread. Gamasutra para o resgate.
fonte
Aqui está uma postagem de blog que fornece um exemplo prático de gerenciamento de tarefas . Ele pressupõe algum conhecimento sobre o projeto de mecanismo paralelo de sua parte, mas você ainda pode achar útil como 'leitura avançada'.
fonte
Eu acho que você deve procurar uma abordagem baseada em tarefas ou trabalhos.
O Game Engine Gems possui 2 ou 3 artigos sobre o assunto.
Houve algumas apresentações sobre o assunto em diferentes conferências, etc.
Por exemplo "Futuros Paralelos de um Mecanismo de Jogo", de Johan Andersson
Também dê uma olhada no GDC Vault. Existem várias apresentações e vídeos completos sobre o assunto na seção gratuita. http://www.gdcvault.com/
ps. Não foi possível postar mais links diretos por ser um novo usuário. ds.
fonte
O livro Game Engine Architecture também possui algumas informações sobre como projetar um mecanismo de jogo com suporte a multiencadeamento.
fonte