En İyi Python Oyun Motorları

Best Python Game Engines



Bilgisayar oyunları yazmak için (biz eskiler onlara video oyunları deriz!), Merak ediyor olabilirsiniz, Nereden başlamalıyım? Uygun bir zaman diliminde oynanabilir bir oyun yapmak ve aynı zamanda programın nasıl çalıştığını öğrenmek için bir oyun çerçevesine ihtiyacınız olacak. Çerçeve, oyunlarınızın çalışması için ihtiyaç duyacağınız yapıların çoğunu oluşturur. Bunları kendin icat etmek istemezsin. Bunlar ekrana herhangi bir şeyin nasıl çizileceğini, bir çarpışmanın nasıl tespit edileceğini ve skorun nasıl tutulacağını içerir.

Bir şeyleri ekranda hareket ettirmek bile, altta yatan bir kitaplık olmadan karmaşıktır. Bu yazıda, hangi paketlerin ne yaptığını ve oyununuza başlamanın ne kadar kolay olduğunu öğreneceksiniz.







Neden Oyun Motorları?

Oyununuzu programlamaya başladığınızda, sınıflar ve işlevler gibi tüm temel bilgileri hazır bulundurmanın gücünü takdir edeceksiniz. Bu şekilde, başlayabilir ve projenizin ayrıntılarına odaklanabilirsiniz. Bir çerçeve ile bir oyun motoru arasındaki farkın ne olduğunu merak edebilirsiniz. Yüksek düzeyde, oyun motoru tüm hızlı işlemleri - çoğunlukla grafikleri - uygular. Çerçeve mantığı, oyununuza koymak istediğiniz şeyleri – isterseniz hikayeyi – uygular.



PyGame

Bu bir Python Modülleri setidir. Bu modül seti, başlamayı kolaylaştırmak için kasıtlı olarak küçüktür. Tasarımcılar ayrıca kütüphane içinde birçok küçük parça oluşturmaya karar verdiler. Bu tasarım sayesinde, ihtiyaçlarınız değiştiğinde kütüphanenin bölümlerini değiştirebilirsiniz. Örneğin mikser, ayrı bir yazılım parçasıdır; bu nedenle, programlamanızda daha fazla ilerlerseniz, başka bir yazılım parçasına geçebilirsiniz. Grafik işleme makinesi de ayrıdır vb. Aslında, bir oyunun prototipini oluşturmak ve her seferinde bir parçayı daha gelişmiş yazılımlara geçirmek için PyGame'i kullanabilirsiniz. Bununla birlikte, PyGame'in adı altında zaten çok sayıda oyun var.



PyGame'i kullanmaya başlamak kolaydır, ancak bunu daha da kolaylaştırabilirsiniz. pgzero paketi öğretmenlerin programlama göstermesi için yapılmıştır. Paket ile oyununuzun birçok bölümünü ortak kod olmadan kolayca yazabilirsiniz.





Hüsrana uğramış

Kivy'yi Python modülleri olarak da kurabilirsiniz. Python'u herhangi bir çerçeve için kullanmanın en iyi yolu budur. Kivy, PyGame'den daha fazla özelliğe sahiptir ve daha parlak sonuçlar yaratır. Başlamak için Kivy'nin ana sayfasında harika öğreticiler var. Kyvi'nin bir gücü, Kv Tasarım dilidir. Bu tasarım dili, menüler, oyun planı ve tüm grafiklerin oluşturulmasını kolaylaştırır. Bu sistem sayesinde en basit grafikler için görseller oluşturmanıza gerek kalmıyor.

Sayfalarında, Kivy'yi PyCharm ile kullanmaya nasıl başlayacağınızı da detaylandırıyorlar. Android ve iOS'a dağıtmak için uzantılar da vardır. Bu, PyGame kullanmaktan biraz daha kolaydır.



Piglet-3D

İlk bakışta, pyglet küçük ve sınırlı görünüyor, ancak basitliğin altında saklanan bir derinlik var. Bu program OpenGL'yi destekler, ancak bağımlılıkları yoktur, ancak ffmpeg'i arayarak medya yeteneklerini genişletebilirsiniz. Pyglet ayrıca çift monitör kurulumlarını da yönetir. Sistemi genişleten üçüncü taraf kitaplıkları mevcuttur. Ekledikleri tüm özellikler için bu kütüphaneleri bilmelisiniz. Ayrıca uygulamanız için tutarlı bir GUI oluşturmak için glooey kullanmak isteyebilirsiniz. Oluşturma için PyShaders'ı ve 3B sahneleri işlemek için Ratcave'i kullanın. pyglet3d ile başlarsanız, cocos2d'nin pyglet kullandığını bilmek güzel. Bu program, oyun uygulamaları ve diğer GUI tabanlı uygulamalar için kapsamlı bir çerçeve oluşturur.

Panda3D

Bu, programlama öğrenmek veya kolayca oyun yapmak için kullanabileceğiniz bir paket değildir. Burada elde ettiğiniz şey, animasyonlar ve oyunlar oluşturmak için profesyonel bir araçtır. Panda3D, performansı korumak için C++ ile yazılmıştır. Ancak kılavuzun çoğu Python kullanıcılarına işaret ediyor. Panda3D'nin arkasındaki fikir, oyun geliştiricilerinin oyunlarını Python kullanarak yapmaları olsa da, C++ da kullanabilirsiniz.

Panda3d çok yetenekli bir sistemdir ve hatta kendi SDK'sı ile birlikte gelir. Çaba göstermeye istekliyseniz ve zaten bazı Python programlaması biliyorsanız, bu sistem zaten oluşturmak istediğiniz her şeyin çok ötesindedir. Sonuçta Disney bunu ticari ürünleri için kullanıyor!

Ren'Py

Muhtemelen bu yazıyı okudunuz çünkü oyun yaratmak istiyorsunuz. Bu paket görsel romanlar oluşturmak içindir. Henüz proje fikrinizi düşünmediyseniz, şimdi tam zamanı. Bir anlatı formatı gerektiren hikaye tabanlı bir oyun yapmak isteyebilirsiniz. Ren'Py bunun için var.

Ren'Py'de yazılmış birçok ticari oyun var ve daha fazlası da olacak. Ayrıca görsel bir roman oluşturup oyun haline getirebilirsiniz. Ren'Py ile, çoğunlukla metin editörlerini kullanarak her şeyi oluşturabilirsiniz.

Ursina Panda'yı Geliştirmek için

Panda'yı bir şekilde eksik bulursanız, Ursina'yı kullanmayı deneyin. Bu tek bir geliştirici projesidir, bu nedenle katkıda bulunmak istemiyorsanız daha büyük projeler için bu pakete güvenmeyin. Bununla birlikte Ursina, Panda3D'nin bir geliştirmesidir. Proje aynı zamanda çok aktif ve buna katkıda bulunan birkaç kişi var.

Bu framework ile oyun yapmak çok kolay ve çok az kod satırı ile yapılıyor. Projenizin genişleyebileceğini düşünüyorsanız endişelenmeyin. Bu program Panda üzerine inşa edilmiştir, böylece ihtiyaçlarınız arttığında Panda3D işlevlerinden herhangi birini kullanabilirsiniz. Bu size kurulu bir sistemin gücüyle birlikte hızlı bir kalkış sağlar.

Çözüm

Yeni bir oyun geliştirme çerçevesi öğrenmeye ve kullanmaya başlamak için birkaç öğretici seçin ve bunları gözden geçirin. Çok fazla seçmeyin, sadece zamanınızı boşa harcarsınız. Herhangi bir basit projeye başlayın, çok az özelliğe karar verin ve birlikte çalışmasını sağlamaya çalışın. Bir projeyi bitirdiğinizde, bir sonraki için binlerce fikriniz olacak. Seçiminizi yeterince erken değerlendirdiğiniz sürece oyun motoru seçiminiz o kadar önemli değil. Bu, daha iyi olana nihai geçişi daha az karmaşık ve daha verimli hale getirmek içindir.