Como fazer um roguelike in Unity
A grande coisa que eu tiro do "rougelike" é o mundo processual. Se você tem uma conta Lynda, ou LinkedIn Premium, você pode ver meu curso de criação de mundos de procedimentos, cidades de procedimentos, biomas de procedimentos, tudo em tempo real, embora focado em 2D. Era o Unity 5.5, então um pouco mais antigo, mas a maior parte dele ainda é relevante. Lynda.com Unity 5 2D Procedural Terrain
Se você não tem acesso a isso, ou quer conteúdo 3D, ou algo diferente, aqui estão algumas dicas gerais.
- Você precisa de geração de procedimentos. É muito fácil de considerar o código. Por exemplo, comece com um pedaço de código que repete um tile 10 vezes em direções X/Z para criar uma linha de 100. Isto cria a sua área base.
- Modifique a área base aleatoriamente. Ou seja, você tem uma grade de 10x10, escolhe um ponto aleatório e aumenta a altura aleatória. Depois faça-o novamente várias vezes. Então selecione 2 desses pontos aleatoriamente, e coloque todos os tiles entre eles, e levante-os para criar uma colina. Depois para cada peça (excluindo algumas, novamente ao acaso) olhe para as alturas das peças ao redor e corresponda à média, mas com mais prioridade sobre a peça que você selecionou. Isto vai suavizar o terreno, enquanto ainda deixa lombas e colinas.
- Repetir passo 2, mas para outras coisas, como onde colocar uma árvore, ou grupo de árvores. Em muitos casos é aleatório, em outros casos, antes de colocar uma árvore você pode procurar se o tipo de terreno é grama, e não rocha ou água.
Its realmente sobre experimentar pequenas coisas que vão fazer o trabalho para você, e uma vez que cria algo que você gosta regularmente, envie-o.
Obviamente há muito mais que você precisa fazer, pois você pode estar falando sobre batalhas, inventário, saúde, feitiços, etc. Você provavelmente precisará de algumas perguntas mais específicas.
Mas vá procurar na loja de bens da unidade por velhacos como, ou divida-a e procure por procedimentos, ou inventário, ou luta. Eles podem já ter todos os recursos que você precisa para fazer isso sem mesmo programar.