SORU
25 Mart 2010, PERŞEMBE


İyi bir dünya arıyor algoritma göster

Medeniyet gibi bir oyun üzerinde çalışıyorum ve Toprak gibi dünya haritaları oluşturmak için iyi bir algoritma için arıyorum. Birkaç alternatifleri ile tecrübe ettik, ama gerçek bir kazanan vurmak henüz yok.

Bir seçenek, bir haritası Perlin noise kullanarak oluşturmak ve dünyanın 0 arazi yaklaşık bir seviyede su ekleyin. Süre Perlin gürültü (veya benzer fraktal tabanlı teknikler), sık kullanılan arazi ve makul gerçekçi, değil teklif çok yol kontrolü konusundaki sayısı, boyutu ve konumu ortaya çıkan kıtalar, görmek isterdim bir oyun bakış açısı.

Perlin noise

Bir ikinci seçenek başlangıç için bir rastgele yerleştirilmiş bir çini tohum (üzerinde çalışıyorum bir kılavuz karolar), belirlemek istediğiniz boyutu için kıta ve her bir devre eklemek bir kiremit bu yatay veya dikey olarak bitişik mevcut kıta kadar aradığınız istediğiniz boyutu. Diğer kıtalar için tekrarlayın. Bu tekniği algoritması Medeniyet 4'te kullanılan bir parçasıdır. Bu sorun ilk birkaç kıtada yerleştirdikten sonra, olası bir başka kıtalarda çevrili olan başlangıç konumu seçmek için, ve böylece yeni bir sığmaz. Ayrıca, kıtalar birbirine çok yakın spawn eğilimi, kıtalar daha bir nehir gibi görünen bir şey iner.

Random expansion

Herkes sayı ve göreceli boyutları üzerinde kontrol korurken, grid tabanlı bir harita üzerinde gerçekçi bir kıta oluşturmak için iyi bir algoritma biliyor mu?

CEVAP
25 Mart 2010, PERŞEMBE


nature bir ipucu alın ve ikinci fikrinizi değiştirebilir. Sizin kıtada aynı boyutu hakkında olan) oluşturmak için bir kez, onları rastgele hareket ve döndürmek ve birbirleriyle çarpışır deforme ve ayrılsak da birbirimizden.(Not: bu uygulamak için en kolay şey olmayabilir.)

Düzenleme:İşte bunu yapmanın bir başka yolu, — Polygonal Map Generation for Games bir uygulama ile tamamlandı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • JayzTwoCents

    JayzTwoCents

    26 AĞUSTOS 2012
  • kimaliz

    kimaliz

    18 Temmuz 2006
  • michellefeng's channel

    michellefeng

    26 Kasım 2006