bir bina dengeleme oyunu


10

Bir bina oyunu üzerinde çalışıyorum (kaynak A üretmek için her zamanki gibi X yapısını inşa ediyorum, bu da Y yapısını inşa etmenizi sağlar ...) ve şimdi çeşitli kaynak ihtiyaçlarını ve üretimlerini dengeleme aşamasındayım.

Ben bunu yapan ilk kişi değilim, ama aslında nasıl yapılacağı hakkında çok pratik tavsiye bulamadım, soruyorum: Dengeleme matematik nasıl yapılır?

Bir elektronik tablo kullanmayı düşündüm, ancak asıl mesele saf sayılarda değil, bağımlılıklarda - A sonra B ise. Y'nin kullanılabilir olması için kaç X gereklidir ve oyunun sahnesine sığdırmak istiyorum gerçekleşmesi için?

Saatlerce oynamaktan ve sayıları düzeltmekten daha iyi hangi yollar var? Ekonomi oyunlarınızı dengelemek için hangi yaklaşımları kullanıyorsunuz?


Ek detaylar:

Oyun statik bir köy inşa oyunudur. "statik" zamanın bir faktör olmadığı anlamına gelir - binalar "dakika başına x" değil sabit miktarda kaynak sağlar. Yani bir ev, bazı köylüler için konut sağlar ve bir çiftlik, çalışmak için bazı köylülere ihtiyaç duyar.

Yani birbirlerine karşı dengeleyecek şeyler kaynaklar. Önemsiz bir örnek: Çiftliklerin çiftlikte çalışan köylülerden daha fazla yiyecek sağlaması ve çiftlik yemeğini inşa etmek için odun sağlamak için gerekli oduncuların sağlanması gerekir.

Oyunun amacı kaynak optimizasyonu. Haritada mevcut kaynaklardan en iyi şekilde yararlanma. Bir bulmaca oyunu bir tıkırtı oyun daha yakındır.

Önemsiz erken oyun öğeleri (bkz. Çiftlik örneği) dengelenmesi kolaydır. Ama bağımlılık ağaçlarına girdiğinizde (örneğin X ve Y tarafından sağlanan, X2 ve Y2'de yaratılan kaynaklara ihtiyaç duyan 3. seviye bir evin A ve B'ye ihtiyacı vardır) sezgim başarısız olur. X2 ve Y2 doğru bir şekilde dengelenmiş mi yoksa daha az üretmeli mi? Daha?

Belirli cevaplar aramıyorum, ancak genel olarak bu soruna yaklaşım yöntemleri için.


2
Denge, hangi girdilerin istenen çıktıları verdiğidir. Oyununuzu dengelemek için bir yöntem / iş akışı önermek için, istediğiniz çıktıların ne olduğunu bilmemiz gerekir. Oyununuzun "iyi dengelenmiş" bir versiyonunu karakterize eden veya hangi "zayıf denge" belirtilerini tespit etmeye ve çözmeye çalışıyorsunuz?
DMGregory

Şu anda asıl amaç, hiçbir kaynağa ulaşmak için çok kolay veya zor olmadığından emin olmaktır. #
Tom

1
Ve nasıl "çok kolay" veya "çok zor" ölçmeliyiz? Bu terimlerin standart bir matematiksel tanımı olmadığından, oluşturmak istediğiniz oyun deneyimi için bunun ne anlama geldiğini çözmeniz gerekir.
DMGregory

Belirli bir ölçekte değil, genel tavsiye istiyorum. Kesin sayılar test sırasında yine de değişecektir. Bu yüzden, bu noktada kesin bir "çok kolay" tanımım yok.
Tom

1
@Tom da bu konuyla ilgili harika bir GDC konuşması youtube.com/watch?v=tR-9oXiytsk
Candid Moon _Max_

Yanıtlar:


7

EDIT: Kaynakların statik olduğunu sorunuza eklediğiniz için, özellikle bu konuda biraz konuşacağım. Önceki yanıtı diğer insanlar için yararlı olabileceğinden satırın altında bırakacağım.

Kaynaklarınız durağansa, bunlar üzerinde bazı sınırlayıcı faktörler olacaktır. Bu, kaç jeneratörü koruyabileceğinizi belirleyen başlangıç ​​kaynaklarınız veya işçi sayınız olabilir. Bunlar, onları çoğaltacak ve hedefinize ulaşacak kadar verimli bir şekilde diğer kaynaklara yatırım yapacak şekilde dağıtılmalıdır. Böyle bir oyunda gerçekten “büyüme” yoktur, sadece farklı konfigürasyonlar ve kombinasyonlar vardır. Dediğiniz gibi, bir yönetim oyunundan çok bir bulmacayı andırıyor.

Dengeleme yöntemi de benzerdir. İlk olarak, kazanma koşulunu siz belirlersiniz (daha önce üretim hedefi dediğim şey). Bu belirli bir miktarda kaynak ve / veya bina olabilir (örneğin, kralı devirmek için X serbest işçisine ve X kılıçına sahip olmalarını sağlayın). Daha sonra, mevcut sayılarınızla bu hedefe ulaşmak için ideal yapılandırmayı hesaplayın (örneğin, X kılıçlarının Z işçilerine, Q kömürüne ve V demirine ihtiyaç duyan Y demircilere ihtiyacı vardır, bu da tekrar kaynak ve işçi gerektiren W madenlerine ve R kömür brülörlerine ihtiyacınız olduğu anlamına gelir ve en temel kaynaklara kadar). Manuel olarak eklediğiniz her şey için otomatik olarak minimum destek oluşturucu miktarını ekleyen bir komut dosyası veya e-tablo kullanarak bunu kısmen otomatikleştirebilirsiniz. Döngülere dikkat edin (işçiler evlerden gelir, evlerin yiyeceklere ihtiyacı vardır, yemek işçilerden gelir), matematiği biraz karmaşıklaştırırlar.

Sonra ve bu adım biraz daha zor, bu yapılandırmanın ileriye doğru oyunda gerçekten ulaşılıp ulaşılamayacağına bakın, yani başlangıç ​​kaynaklarınızdan oraya gidebilir misiniz? Pratikte ulaşılamayan teorik bir son yapılandırmaya sahip olmak mümkündür, çünkü bir noktada birkaç şey birbirini gerektirir ve zaten diğerine sahip olmadan her ikisini de inşa edemezsiniz. Bunu sadece test oyunlarıyla öğrenebilirsiniz. Başka bir deyişle, bir şeyleri satın aldığınız sipariş alakalı olduğundan, çözümü sonuçtan mükemmel bir şekilde çıkaramazsınız. Yine de, kendi kaynak yönetimi yöntemlerinizi anlayacağınız için en uygun stratejileri kullanabilmeniz gerekir (örneğin 1. seviye evler inşa edin, bu çalışanları daha verimli olan 2. seviye evlerin kilidini açmak için kullanın, daha sonra tüm seviye 1 evlerin yerini değiştirin (ya da başka hiçbir yerde kullanamayacağınız kaynaklar için bıraktığınız kadar çok sayıda alan bırakın). Gerektiğinde bina ekleyin veya kaldırın. Artık çalıştığını bildiğiniz yeni bir çözüm yazınız var.

Optimal veya neredeyse optimal bir çözüm bulduktan sonra, sayıları değiştirmeyi düşünmeye başlayabilirsiniz. E-tablolarınızı inceleyin ve aşağıdakileri arayın:

  • Göze çarpan veya mantıklı olmayan sayılar, çünkü bunlar çözümleri sezgisel ve bulmayı zorlaştırır (örneğin, bir fırını desteklemek için sadece 200 maden ancak bir kömür brülörüne ihtiyacınız vardır).
  • Doğrudan orantılı olan ancak garip oranlardaki sayılar (örneğin bir değirmen, her biri 2.1452 ev için yeterli üretim yapan tam olarak 3.791002 fırını destekler), çünkü bunlar her şeyi tam olarak çalışmak için sıralamak isteyen oyuncuları tahriş edecektir. Birden fazla kaynak aynı kaynağı gerektiriyorsa veya tam tersi istiyorsanız, bu oranlar kaçınılmaz olabilir, çünkü kesin sayılar kaç taneye ihtiyacınız olduğunu görmeyi kolaylaştırır.
  • Ters yön: çok basit sayılar. Her şeyin 1 veya 2'sini satın alabilir ve sayılar sıralanırsa, çok kolaydır. Basit sayılarla küçük çıkıntılar getirin (bir bina 5, sonraki ihtiyaç 4 veya tersi) ve birden fazla şeyin aynı kaynağı farklı miktarlarda gerektirmesini sağlayın.
  • Aşırı büyük sayılar. Sadece yüksek rakamlara sahip olmalısınız, eğer bu kadar çok bina tarafından kullanılan temel kaynaklardan biri ise, yüksek üretimin bu kadarını gerektirir. Tüm üretim hattını doğal bir sayıya bölebiliyorsanız, muhtemelen bunu yapın.

Ardından oyuncularınızın çözümünüzü ne kadar sıkı takip etmesini istediğinizi düşünün. Buraya biraz esneklik eklemeniz önerilir, yani başlangıç ​​kaynaklarınız (sınırlayıcı faktörler) mükemmel bir çözüm için olması gerekenden biraz daha cömert olmalıdır. Ayrıca oyununuzun meydan okumasının tam olarak ne olması gerektiğini düşünün. Doğru kombinasyonları bulmakla ilgili ise, çok kolay olabilir, çünkü sadece teknoloji ağacına doğru ilerlemek ve sayıları hafifçe dengelemek zorunda kalabilirler. Küçük hilelerle ilgili ise (daha düşük kademeli binaları daha verimli yüksek kademeli binalarla değiştirmek gibi) o zaman bu tamamen açık olmayabilir ve öte yandan bunu yapabileceğinizi öğrendikten sonra önemsizdir - böyle hilelerden birkaçına ihtiyacınız olacak keşfetmek.


Genel yaklaşımım, dengelenecek tek bir birim bulmaya çalışmaktır, çünkü bu, ilgili matematiği büyük ölçüde basitleştirir. Sizin durumunuzda bu zaman harcanabilir.

Değişkenleriniz her bir kaynağın miktarı, kaynak üreteci sayısı, jeneratör başına zaman kazancı, jeneratör başına zaman başına kaynak kullanımı (bu ikisi negatif sayılar kullanılarak birleştirilebilir), jeneratör başına kaynak maliyeti ve harcanan zaman gibi bir şey olacaktır. Oyununuz jeneratör verimliliği gibi bir şey içeriyorsa (örneğin, çiftlikler sulama / boşluğa bağlı olarak daha fazla / daha az üretir) ortalama bir değer alır ve mantıklı olduğu her yerde ortalama bir jeneratör değeri alır. İkincisi, en yüksek dereceli kaynağın istikrarlı bir çıktısını üretmek için minimum jeneratör sayısını hesaplayarak elde edilebilir (örneğin, cevhere ihtiyaç duyan demire ve köpüğe ihtiyaç duyan kılıçları hesaplıyorsanız, minimum mayın sayısını hesaplayabilirsiniz,

Minimumda kalıp kalamayacağınız, jeneratörlerin amortisman oranına bağlıdır, ancak o tavşan deliğinden aşağı inmekten kaçınırım. Belki daha sonra iki kat daha fazla olan ikinci bir hesaplama yapın ve zamanlamanın nasıl ölçeklendiğini görün. Oyununuzda araştırma kilidini açmak gibi bir şey varsa, bunların tek seferlik maliyetini de anlayabilirsiniz, ancak bunu sadece maliyet, oyun zamanında algılanabilir bir fark yaratacak kadar yüksekse yapın. Şimdilik üretim oranlarını arttıran yükseltmeleri hesaba katmayın - oyununuzda varsa, daha yüksek bir ortalama üretim oranı olarak hesaba katın. Sadece büyük bir fark yaratan yükseltmelerin denklemlerinizde bir yeri olmalıdır. Bir oyunu dengelemek istiyorsunuz, matematikte tez yazmak değil. Mümkün olan her yerde tüm değişkenleri sabitlerle değiştirin.

Şimdi oyuncunun başarısını temsil eden bir üretim hedefi belirleyin ve oraya ulaşmanın ne kadar sürdüğünü hesaplayın. Eğer aslında bunların hepsi için sayılarınız yoksa, yukarı doğru çalışarak zaman zaman ters mühendis. Oyuncunun istikrarlı seviye 1 üretim hatları elde etmek için ne kadar çalışması gerekir, seviye 2 için tam bir teknoloji ağacına kadar ne kadar süre kalması gerekir. Yukarı doğru çalışarak daha yüksek seviyelerin önkoşulları için numaralara zaten sahipsiniz.

İşiniz bittiğinde, alan ve arazi gibi dış faktörleri deneyebilir ve deneyebilirsiniz. Bunlar genellikle göreve özgüdür, bu nedenle sistem tasarımı kadar seviye tasarımının bir parçasıdır.

Şimdi, bir oyuncunun oyunun ilgi çekici olması için ne kadar süre bir şey elde etmesi gerektiği, bu oyun için test etmeniz gereken bir şeydir ve büyük ölçüde oyuncunun oyun süresi boyunca ne kadar yapması gerektiğine ve aldığı kararların ne kadar ilginç olduğuna bağlıdır. Hissedecek. Bu, sayılarınızı değiştirmeyi düşünebilirsiniz, örneğin, oyuncu başına zamandaki eylemleri artırmak için bazı jeneratörlerin üretimini azaltarak (çünkü şimdi daha fazla inşa etmek zorunda oldukları için) veya sayıların kusurlu bir şekilde sıralanmasını sağlayarak, kaç tane binalar idealdir.

Çok fazla ve farklı insanlarla oyun testine giremezsiniz, ancak önce elektronik tabloları yapmak size neyin mantıklı olabileceğine dair bir başlangıç ​​yapabilir.


Güzel, böyle bir oyun yayınladın mı yoksa bir oyun üzerinde mi çalışıyorsun?

@JimmySmith Hayır, ben sadece sistem tasarımına özel ilgi duyan bir oyun tasarımı hobisiyim. Sanırım yanımda çalıştığım küçük artım böyle bir oyun olarak sayılıyor? Aslında masa üstü rol yapma oyunları tasarlıyorum.
Pehlevan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.