Terrenos procedimentais em 3D: o que foi feito? Existem algo e / ou teorias comuns sobre isso? [fechadas]

10

Além da programação, modelar um ambiente leva muito tempo.

Eu não sei sobre o tempo de trabalho envolvido, por exemplo, no nível de uma masmorra de WoW, ou em outro belo ambiente futuro da cidade, selvas, fantasia, etc., mas esse tipo de trabalho é feito do zero pelos artistas.

Quais são as técnicas envolvidas no randomizador de nível TorchLight e outros títulos têm semelhanças com isso? Existe um nome de família para essas técnicas?

jokoon
fonte
Eu acho que os mapas do Torchlight são 2D, com gráficos 3D. Não me lembro de ter áreas de mapas em 3D como o Blackrock Spire do WoW, onde os túneis ficam acima ou abaixo um do outro. Você provavelmente pode usar qualquer um dos geradores de masmorra 2D da Roguelikes ( pcg.wikidot.com/pcg-algorithm:dungeon-generation ).
Amitp
Referência divertida, esta demonstração de 4 KB: youtube.com/watch?v=_YWMGuh15nE
Oskar Duveborn
A geração de masmorras 2D já foi abordada em gamedev.stackexchange.com/questions/2663/… .

Respostas:

8

Os Roguelikes fazem esse tipo de coisa desde que foram inventados, e eles são a "semente" da Torchlight (e Diablo) de onde tiraram suas idéias.

Eu não sei especificamente sobre o Torchlight, mas em geral, o que você está procurando é chamado de "Geração de nível processual".

Processualmente, o Fuel gera uma zona tão ruim que não caberia no DVD em que o jogo entra. Gostei particularmente de ler a série de Shamus Young .

Outro exemplo interessante de conteúdo gerado processualmente é o jogo ainda não lançado do Introversion, chamado Subversion . Veja a Parte 12 nessa página; é especialmente suculento.

Falando sobre cidades geradas proceduralmente, também há algum middleware disponível - visite http://www.procedural.com/ .

Para mais jogos / middleware, consulte a página Wikipedia de geração de procedimentos e o Wiki de geração de procedimentos .

egarcia
fonte
2

(Links citados no link pastebin: http://pastebin.com/PpJknMuT )

Bem, você poderia dizer que existem 2 tipos diferentes. Depende do que você quer. Por exemplo, se pegarmos um jogo recente do GTA, centenas de artistas foram usados ​​para fazer a cidade e personalizá-la. A geração de procedimentos poderia ser usada aqui, mas seria usada como uma ferramenta de artistas, e não como algo rodando no mecanismo de jogo, pois não queremos um layout de cidade diferente para cada jogo.

Então, minha dissertação de graduação foi sobre geração processual de cidades com zoneamento de cidades: [1]

Essa ferramenta é usada pelo artista para criar uma cidade, permitindo o controle sobre diferentes aspectos, se necessário. A geração da cidade é semelhante aos sistemas L, como visto pelo trabalho de Pascal Mueller: [2] O zoneamento da cidade funciona como um mapa de imagem, obtendo probabilidades de zonas (comerciais, residenciais, industriais) a partir dos dados de pixel rgb. Seria possível automatizar a geração, se você quisesse, mas para tornar as cidades confiáveis, o algoritmo teria que ser muito mais complexo usando a mecânica da IA ​​da população do que os algoritmos do L-System e do ruído.

Em tempo real, a geração pode ser vista em [3] ou acho que o exemplo mais simples seria o helicóptero: [4]

Algo semelhante ao Torchlight seria Infinity: Quest for Earth [5]

No Infinito, a galáxia e tudo dentro dela são gerados com um valor de semente que cria todas as outras variáveis ​​usadas para gerar tudo o que está contido na galáxia (planetas, sóis etc.) O link fala sobre como isso funciona com mais detalhes.

Sycren
fonte
Sim, entendi: nem sempre se deseja ter níveis aleatórios com a geração a partir de uma semente. O que queremos é que a geração de nível faça apenas para facilitar o trabalho de um projetista de níveis, para que ele não precise fazer tudo com maya ou max. A geração de nível nem sempre é projetada para gerar apenas níveis, mas também pode fazer com que o software gere pedaços de geometria em tempo real, em vez de liderar um grande arquivo contendo toda a geometria, como um mapa de altura, mas para conjuntos específicos de níveis, como um selva, um escritório, ou uma cidade: Nós apenas pedir ao artista para fazer as texturas e alguns
jokoon
e algumas peças comuns de geometria que queremos repetir. Não estou falando de níveis apenas procedimentais, mas para o grande mundo, isso é essencial para economizar memória.
Jokoon
Que tipo de ambiente de jogo você quer? Quero dizer, se você tem uma cidade, apenas os edifícios seriam repetidos em diferentes orientações. As paisagens são muito mais fáceis de gerar em tempo real. Isso realmente depende do jogo que você deseja criar, então seria algo como Morrowind / Oblivion ou GTA ou algo mais?
Sycren
1

O Minecraft usa o ruído 2D Perlin para gerar terrenos ao ar livre. Pode ter níveis praticamente infinitos (você morreria de velhice antes de chegar ao limite) que são gerados à medida que os jogadores exploram. (Provavelmente) também usa ruído 3D Perlin para gerar cavernas subterrâneas.

user253751
fonte
Tecnicamente, a borda do mundo Minecraft é inacessível - à medida que você chega a um terço (IIRC) do caminho, o jogo começa a ganhar força e salva a cada segundo e é impossível de jogar. ;-)
O pato comunista
-1

Quais são as técnicas envolvidas no aleatorizador de nível TorchLight.

Eles serão apenas números aleatórios que serão colocados nos algoritmos de nível.

e outros títulos têm semelhanças com isso?

Wikipedia .

Embora o discutível Left 4 Dead tenha usado técnicas semelhantes no AI Director.

Existe um nome de família para essas técnicas?

Fractais, recursões, sistemas L e algoritmos antigos simples. Cada um combinado com números aleatórios.

PhilCK
fonte