piton

İyi 3D Python Oyun Motorları

İyi 3D Python Oyun Motorları

Giriş

Python için ve Python ile yapılmış 3D oyun motorları için bir çerçeve bulmak çok zor olabilir. Bunun nedeni, karmaşıklık arttığında Python'un hızla performans sorunlarıyla karşılaşmasıdır. Hızlı grafik oluşturma, Python'un en iyi yaptığı şey değildir. Ancak, Python mantığı oluşturmak için çok iyi ve oldukça popüler olduğundan, C ile yazılmış çerçeveleri çalıştırmak için birçok seçeneğiniz var++.

Bunun 3B oyun motorlarında çalışması için Python'da genellikle yaptığınız gibi her şeyi yapamazsınız. Çoğu çerçeve, C++ kitaplıkları için bir sarmalayıcı oluşturur. Python'un bu sarmalayıcıyı geri çağırabilmesi için nasıl derleyeceğinizi bulmanız gerekecek. Python sarmalayıcı ile nasıl derleneceklerini belgelerde ele alırlar.

Oyun Stili ve Dil Seçimi

Başlamadan önce oyununuzun bir platform oyunu mu, birinci şahıs nişancı oyunu mu yoksa diyalog tabanlı bir oyun mu olduğunu düşünün. Belki entelektüel becerilere meydan okuyan bir oyun yaratacaksınız. Bu, yüksek performanslı grafiklere ihtiyaç duymaz. Mesele şu ki, başlamadan önce neyi başarmaya çalıştığınızı bilmeniz gerekecek. Programlama için Python'a alışmış olabilirsiniz. Ancak çok efektli oyunlar oluşturmak istiyorsanız, diğer programlama dillerini de göz önünde bulundurmalısınız. Yeni bir dil öğrenmek büyük bir çabadır, ancak temel bilgilerin bu ilk engelini geçtikten sonra son derece tatmin edicidir. Hızlı bir bakışta bile normal belgelerin anlamlı olduğu zaman.

Bağlamalar, Dikkate Alınması Gereken Kitaplıklar

Oyun yapmak için grafikler, menüler ve ses oluşturmanız gerekir. Bu vakaları işlemek için birkaç kitaplık ve Python bağlaması vardır. Bu kitaplıkların en yaygın olanlarından biri, programcılara video çerçeve arabelleğine, ses çıkışına, fareye ve klavyeye doğrudan erişim sağlayan SDL2'dir. Bunlar olmadan, oyununuz bazen yavaş olabilen düzenli rutinler kullanmak zorunda kalacaktır. İlk sürüm hala piyasada, ancak SDL2 gerekli tüm araçlara sahip.

SFML2 çoğu multimedya işlevine benzer bir rol oynar ve tüm işlevleri bir araya getirir. Buna karşılık, SDL2, kodunuza birer birer çekmeniz gereken birçok küçük parça içerir.

Python için sırasıyla PySDL2 ve PySFML2 paketlerine ihtiyacınız olacak.

PyOgre

PyOgre'nin tasarımcıları, Ogre çerçevesini Python için bir sarmalayıcı ile C++'da yazdı. Sarıcı yerleşik bir sarıcıdır. Eski proje hala web'de mevcut. Öğreticileri takip etmek faydalı olabilir ancak dikkatli olun, çünkü çevrimiçi olarak mevcut olan her şey doğru olmayacaktır. Ogre'nin birçok dünya nesnesi için sınıfları vardır ve size OpenGL ve Direct3D'nin üzerinde bir katman sunar.

Ogre, sahnelerle çalışır ve oyununuz için ihtiyaç duyabileceğiniz tüm grafikleri oluşturabilir. PyOgre modülleri, Ogre sürüm v1'den önceki sürümler için çalışır.05. Bundan sonra, mevcut diğer modüller var. Ogre yazılımı, Blender'dan Ogre'ye veri aktarmak için Python betiklerini içerir. Bu, oyununuz için kaynaklarınızı Blender'da oluşturmanızı mümkün kılar. Diğer ihracatçılar da mevcuttur.

http://wiki.dev3d.kuruluş/

Allegro

Allegro, pencere oluşturma, kullanıcı girdisini kabul etme, resim çizme ve ses çalma gibi tüm ağır işlerin üstesinden gelir - video oyunu ve multimedya programlama için yararlı olan tüm özellikler. Allegro'nun tasarımcıları bu programın bir oyun motoru olduğunu iddia etmiyorlar, ancak oyun yapmak için kullanışlıdır.

Allegro, C++ ile oluşturulduğundan, bu programı Python'da kullanmak için sarmalayıcıyı oluşturmanız gerekecektir. Bu adımı kaynaktan derleyerek gerçekleştirebilirsiniz. İşlem, allegro adlı bir dosyada sınıfları oluşturur.p. Bu adımı tamamladıktan sonra, o dosyadan sınıfları seçebilirsiniz, ancak bu programın nasıl çalıştığına dair normal belgeleri de okumanız önerilir. Bu, süreci karmaşıklaştırabilir, ancak C++ öğrenmek de bir angaryadır.

https://github.com/liballeg/allegro5

Armory 3D - Blender Uzantısı

Bu paket, geliştirme platformu olarak Blender'ı ve programlama dili olarak HAXE'yi kullanır. Evet, Haxe'ye geçmeniz gerekecek, ancak mevcut bazı oyun mantığını Python'dan dönüştürebilirsiniz. Armory3D, oyun için tüm kaynaklarınızı oluşturabileceğiniz bir uzantı olarak Blender'ın içinde çalışır.

Armory 3D Python'da çalışmasa da, bu araçla çok hızlı bir şekilde başlayabileceğiniz için bu programı dikkatli bir şekilde düşünün. https://armory3d.kuruluş/

Urho3D

Bu paket, geliştirme platformu olarak Blender'ı ve programlama dili olarak HAXE'yi kullanır. Yine, Haxe'ye geçmeniz gerekecek, ancak mevcut bazı oyun mantığını Python'dan dönüştürebilirsiniz. Armory3D, oyun için tüm kaynaklarınızı oluşturabileceğiniz bir uzantı olarak Blender'ın içinde çalışır.

Urho3D Python'da çalışmasa da, bu araçla çok hızlı bir şekilde başlayabileceğiniz için bu programı da dikkatli bir şekilde düşünün. https://armory3d.kuruluş/

Ursina

Ursina Python ile yazılmıştır ve Panda3D üzerine kurulmuştur. Bu araç, küp, küre vb. gibi birçok ilkel sağlamak için tasarlanmıştır., mümkün olan en kısa sürede oyunun kendisine geçebilmeniz için. Panda3D derin işi yapar ve Ursina size hazır program işlevleri sunar. Bir oyuncu sınıfı size basılan tuşları ve fare hareketlerini kaydetme seçenekleri sunar.

İşlevlerin çoğu, net adlarla ve kolay anlaşılır işlevlerle kullanımı sezgiseldir. Bu oyun oluşturma aracını kullanırsanız, oyununuza hızlı bir şekilde başlayabileceksiniz. Ursina ayrıca hem blend hem de psd dosyalarını dönüştürmek için araçlara sahiptir.

https://github.com/pokepetter/ursina

Blender Oyun Motoru (?)

sürüm 2'den önce.79, Blender'da yerleşik bir oyun motoru vardı. Ancak sonraki sürümlerde, tasarımcılar oyun motorunu standart yapıdan çıkarmayı ve animasyonlara odaklanmayı seçtiler. Böylece, UPBGE'deki insanlar Blender'ın içinde çalışan kendi uzantılarını oluşturmaya karar verdiler. Bu nedenle tüm oyunu oluşturmak için Blender'ı kullanabilirsiniz. Bu, Python oyun geliştirmeye nasıl bağlanır??

BPGE, Blender içinde çalışırken oluşturduğunuz tüm verilere erişmenizi sağlayan bir API'ye sahiptir. API'ye erişmek ve test etmek için Blender içindeki konsolu kullanabilirsiniz. Aslında, tüm programı bu şekilde yazabilirsiniz, ancak bu ihtiyaçlarınız için en iyi seçim olmayabilir. En azından, oluşturduğunuz andan itibaren tüm kaynaklara ve istediğiniz şekilde hazır olacaksınız.

GODOT - GDscript, Python DEĞİL

Bir oyun yazmak istiyorsanız ve Python ile rahatsanız, GODOT'u da kullanabilirsiniz. Bu dil Python'a çok benzer, ancak özellikle oyun yazmak içindir.

Sonuç

Python'da oyun yazmak için birçok çerçeve vardır. Yüksek performanslı 3D oyunlar oluşturmak istiyorsanız, bu oyunlar için başka diller öğrenmeyi ciddi olarak düşünmelisiniz. Program seçiminizin orijinal oyun fikrinizi takip etmenize izin verdiğinden emin olun. Gerekirse programlama dilinizi kişisel vizyonunuza göre uyarlayın.

Wesnoth 1 Savaşı.13.6 Geliştirme Yayınlandı
Wesnoth 1 Savaşı.13.Geçen ay yayınlanan 6. sürüm, 1. sürümdeki altıncı geliştirme sürümüdür.13.x serisi ve özellikle kullanıcı arayüzü için bir dizi i...
Ubuntu 14'te League Of Legends Nasıl Kurulur.04
League of Legends hayranıysanız, bu, League of Legends koşusunu test etmeniz için bir fırsattır. Linux kullanıcısıysanız LOL'nin PlayOnLinux'ta destek...
En son OpenRA Strateji Oyununu Ubuntu Linux'a yükleyin
OpenRA, klasik Command & Conquer: Red Alert gibi erken Westwood oyunlarını yeniden yaratan bir Libre/Free Gerçek Zamanlı Strateji oyun motorudur. Dağı...