İyi Lua varlık oluşturma / yönetimine sahip oyun motoru [kapalı]


11

Lua veya diğer kodlama dillerini kullanarak varlıklarını inşa eden bir motor arıyorum. İlham bulmak ve bunu kendi motorumda yapmak için.

CryEngine'ın varlıklarını yapmak için Lua kullandığını biliyorum, ancak bakabileceğim başka alternatifler olup olmadığını bilmek istedim.

Teşekkürler!

Yanıtlar:


7

Ben bir göz alarak öneriyoruz Aşk "bir korku Eğer Lua 2D oyun yapmak için kullanabilirsiniz çerçeve. Ücretsiz, açık kaynak, ve Windows, Mac OS X ve Linux üzerinde çalışır." Bu var açıkça CryEngine bir alternatif değildir, ama kesinlikle etkili bir varlık oluşturma ve oyun mantığı için Lua potansiyelini kullanmak nasıl göstermelidir. Bu bilgiyi Cryengine / diğer AAA motorlarının komut dosyası arka uçlarını nasıl kullandığı ile birleştirin ve güçlü komut dosyası oluşturma yeteneklerine sahip kendi motorunuzu oluşturmak için ihtiyacınız olan tüm ilhamı almalısınız. :)


4

Bildiğim kadarıyla Relic Essence Engine Serisi ( Company of Heroes and Dawn of War II'de kullanıldığı gibi ) birim istatistikleri ve görev senaryoları için Lua veya bir lehçesini kullanıyor. Bunun için gerçek bir web kaynağı yoktur, ancak her zaman RelicNews.com'daki bazı modları kontrol ederek ilgilenip ilgilenmediğinizi sorabilirsiniz.

Kıvılcım Motor onların yaklaşan oyunda kullanılan Bilinmeyen Worlds tarafından Natural Selection 2 oyunu kodunun en olarak bildiğim kadarıyla Lua olmasını sağlar. SDK, oyun ön siparişi ile birlikte gelir ve şu anda oyundaki beta sürümündedir.

Bir zamanlar Lua'ya dayanarak tanıtılan bir başka oyun da Eufloria (eski adıyla Dyson ). Forumlarında da bir Lua modding referansı var.

Valve'in ücretsiz kooperatif oyunu Alien Swarm , Lua'dan etkilenen "Sincap" adlı bir betik dili kullanıyor. Alien Swarm SDK'sinin Steam'de indirilebilmesi gerekir. ( Dev wiki )

EDIT: Çatışmada Dünya hakkında nasıl unutmuş olabilirim ! Oyun, tamamen yeni mekanikleri uygulayan Modern Warfare Mod gibi modlara bakıldığında açıkça görüldüğü gibi Python'da bir sürü şey yapıyor.


Bağlantılarınızı sizin için ekledik.
Komünist Ördek

Teşekkür ederim! // Biçimlendirilmemiş bağlantılar içeren yorumu
silindi

Harika bir cevap, umarım daha fazla insan bu soruya ekleyebilir çünkü gelecekte daha fazla cevap olacağından kesinlikle eminim. Çok teşekkür ederim Koarl (Ben büyük bir Relic Fan btw)
Mr.Gando

2

Varlık davranışını uygulamak için komut dosyası kullanan (açık kaynak) oyunlara bazı örnekler:

Frogato, varlıkları özel bir betik dili kullanarak uygular. Wesnoth Savaşı, Lua komut dosyalarının gömülebileceği özel bir açıklama dili kullanarak varlıkları uygular. KQ , Lua komut dosyalarını kullanarak varlık davranışını uygular.

Düzenleme: Şimdi izin verildi yayınlanmış bağlantılar ...


Frogato aradığım şeye çok yakın görünüyor, ama biraz ayrıntılı, ama yine de çok ilginç.
Lua'da

2

Bunu motorumda yapıyorum ( kaynak mevcut , ancak muhtemelen deşifre etmeye değmez).

Benim durumumda, bir "varlık" tamamen Lua içinde var olan bir kavramdır. "Varlıklar" için C ++ desteği yoktur. Bu nedenle, belirli bir oyunun ihtiyacı olan şey "varlık" tır. Bazen sadece küçük bir veri eklenmiş bir tablo, bazen 2d Çerçeve öğesi (Çerçevelerin tamamen Lua yapıları olduğunu, sadece standart bir UI kütüphanem olduğunu unutmayın), bazen AI ve render ile karmaşık bir şey ve daha sonra hala sadece Lua'da yaratılmış bir şey.

Birçok kişi, C ++ desteğine sahip nesne sistemlerini kodlamak için Lua'yı kullanır, böylece varlık C ++ 'da "yaşar" ve Lua'yı komut dosyası olarak çağırır. Eskiden yapardım, ama kodu C ++ dışına ve Lua'ya taşırken kendimi daha mutlu ve daha mutlu buldum. Bu noktada, yalnızca OS API çağrılarını işlemek için C ++ kullanıyorum ve tüm düzen / işleme / AI / oyun mantığı% 100 saf Lua'da.

Önerilen.

Soru sormaktan çekinmeyin, cevap vermeye hazırım :)


Glorp love2d ile nasıl karşılaştırılır?
deft_code

Anladığım kadarıyla, love2d önemli ölçüde ayarlanmış bir taş işleme yoluna sahip. glorp yok - OpenGL bağlamaları var ve istediğiniz her şeyi oluşturuyorsunuz (standart şeyler için yardımcı işlevlere sahip olmasına rağmen.) glorp yerleşik bir "ana menü / duraklatma / menüye dön" sistemine sahip, uzaktan çökmelerle ilgili hata bildirimi yaparsanız ve otomatik olarak yüklediğiniz işletim sistemi için yükleyiciler oluşturur. glorp gerçekten bir API olarak tasarlanmamıştır - buna ihtiyacım olan şey için sürekli olarak değiştirilen bir çerçeve. Hiç de ters uyumlu değil :)
ZorbaTHut
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.