Geleneksel Berzerk oyunu için labirentler nasıl üretildi

Bu, Geleneksel Oyun Berserk’in Atari 5200 versiyonundan bir ekran görüntüsüdür. Ancak inceleme, gerçekten orijinal jeton-op sürümüne bakar. Her seviye için labirent, ilkel bir algoritmaya beslenen bir tohum numarası kullanan sineğin üzerinde kurulmuştur. İşte labirent yapı kodunun gerçekten nasıl çalıştığını tam olarak yakın bir bakış.

Son zamanlarda, Retrotechtagular serimizin bir parçası olarak Pitfall Creator [David Crane] tarafından bir konuşma gördük. Bu, programlama tarihinin gerçek bir mücevher olduğu ve tercih edilen paketlerimizden biri, düzeylerin sert olmayan bir tohumla birlikte rastgele bir sayı jeneratör algoritması kullanılmasıdır (oyunun her seferinde tam olmasıydı) oynadın). Bu, benzer bir tekniği kullanır, ancak biraz rastgele bir tohumla.

Labirent binası, oyunu bir mame emülatöründe gözlemleyerek ve ayrıca demonte kodlarla kazarak tersine çevrildi. Kodun “soğuk başlamasına” her seferinde, tohum sıfırdan başlar, ancak oradan boşluk numarası bir sonraki tohum olarak kullanılır. Bu, son derece basit bir algoritma ile beslenir. Odaların içindeki sütunları eklemek için birkaç bit bilge operasyonunu kullanan duvarlar için yön üretir.

Katıştırılmış projeleriniz için oyun oluşturursanız, araştırma çalışmalarına mükemmel bir şey. Odayı üreterek programlı olarak, program hafızası kadar kullanmazsınız. Programın bu günlerde basit eğlence denetleyicileri bile, [Alan McNeil] ile çalışmak için daha fazla depolama yöntemi var. Berserk tasarladı.

[Reddit üzerinden]

[Görüntü kaynağı]