Python

Mesin Game Python 3D yang Bagus

Mesin Game Python 3D yang Bagus

pengantar

Menemukan kerangka kerja untuk mesin game 3D yang dibuat untuk dan dengan Python terbukti sangat sulit. Alasannya adalah karena Python dengan cepat mengalami masalah kinerja ketika kompleksitas meningkat. Render grafis cepat bukanlah yang terbaik dari Python. Namun, karena Python sangat bagus untuk membuat logika dan cukup populer, Anda memiliki banyak opsi untuk menjalankan kerangka kerja yang ditulis dalam C++.

Untuk membuat ini berfungsi untuk mesin game 3D, Anda tidak dapat melakukan semuanya seperti yang biasanya Anda lakukan dengan Python. Sebagian besar kerangka kerja membuat pembungkus untuk pustaka C++ mereka. Anda perlu mencari cara untuk mengkompilasi sehingga Python dapat mengingat pembungkus ini. Mereka membahas dalam dokumentasi cara mengkompilasi dengan pembungkus Python.

Gaya Permainan dan Pilihan Bahasa

Pertimbangkan, sebelum Anda mulai, apakah game Anda berbasis platformer, first person shooter, atau dialog. Mungkin, Anda akan membuat game yang menantang keterampilan intelektual. Ini tidak membutuhkan grafik kinerja tinggi. Intinya adalah Anda perlu tahu apa yang ingin Anda capai sebelum memulai. Anda mungkin terbiasa dengan Python untuk pemrograman. Tetapi jika Anda ingin membuat game dengan banyak efek, Anda harus mempertimbangkan bahasa pemrograman lain. Mempelajari bahasa baru merupakan upaya yang luar biasa, tetapi juga sangat memuaskan setelah Anda melewati rintangan awal dari dasar-dasarnya. Waktu ketika dokumentasi biasa masuk akal, bahkan dalam sekejap.

Binding, Perpustakaan untuk Dipertimbangkan

Untuk membuat game, Anda perlu membuat grafik, menu, dan audio. Ada beberapa perpustakaan dan binding Python untuk menangani kasus ini. Salah satu yang paling umum dari perpustakaan ini adalah SDL2, yang memberikan programmer akses langsung ke framebuffer video, output audio, mouse, dan keyboard. Tanpa ini, gim Anda harus menggunakan rutinitas reguler, yang terkadang bisa lambat. Versi pertama masih ada, tetapi SDL2 memiliki semua gadget yang diperlukan.

SFML2 memainkan peran yang mirip dengan sebagian besar fungsi multimedia, dan menyatukan semua fungsi. Sebaliknya, SDL2 berisi banyak potongan kecil yang perlu Anda tarik ke kode Anda satu per satu.

Untuk Python, Anda masing-masing memerlukan paket PySDL2 dan PySFML2.

PyOgre

Perancang PyOgre menulis kerangka kerja Ogre di C++ dengan pembungkus untuk Python. Pembungkusnya adalah pembungkus bawaan. Proyek lama masih tersedia di web. Mengikuti tutorial dapat bermanfaat tetapi hati-hati, karena tidak semua yang tersedia online akan benar. Ogre memiliki kelas untuk banyak objek dunia, memberi Anda lapisan di atas OpenGL dan Direct3D.

Ogre bekerja dengan adegan dan dapat membuat semua grafik yang mungkin Anda perlukan untuk gim Anda. Modul PyOgre berfungsi untuk versi sebelum versi Ogre v1.05. Setelah itu, ada modul lain yang tersedia. Perangkat lunak Ogre menyertakan skrip Python untuk mengimpor data dari Blender ke Ogre. Ini memungkinkan untuk membuat sumber daya Anda di Blender untuk game Anda. Eksportir lain juga tersedia.

http://wiki.raksasa3d.organisasi/

Alegro

Allegro menangani semua pekerjaan berat dalam membuat jendela, menerima masukan pengguna, menggambar gambar, dan memutar suara - semua fitur yang berguna untuk videogame dan pemrograman multimedia. Para desainer Allegro tidak mengklaim bahwa program ini adalah mesin game, tetapi berguna untuk membuat game.

Karena Allegro dibuat dalam C++, Anda perlu membuat pembungkus untuk menggunakan program ini dengan Python. Anda dapat melakukan langkah ini dengan mengkompilasi dari sumbernya. Proses membuat kelas dalam file bernama allegro.py. Setelah Anda menyelesaikan langkah ini, Anda dapat memilih kelas dari file itu, tetapi disarankan agar Anda juga membaca dokumentasi reguler tentang cara kerja program ini. Ini mungkin mempersulit prosesnya, tetapi belajar C++ juga merupakan tugas.

https://github.com/liballeg/allegro5

Gudang Senjata 3D - Ekstensi Blender

Paket ini menggunakan Blender sebagai platform pengembangan dan HAXE sebagai bahasa pemrograman. Ya, Anda perlu beralih ke Haxe, tetapi Anda dapat mengonversi beberapa logika permainan yang ada dari Python. Armory3D beroperasi di dalam Blender sebagai ekstensi, tempat Anda dapat membuat semua sumber daya untuk game.

Meskipun Armory 3D tidak berjalan di Python, pertimbangkan program ini dengan hati-hati, karena Anda dapat memulai dengan sangat cepat dengan alat ini. https://armory3d.organisasi/

Urho3D

Paket ini menggunakan Blender sebagai platform pengembangan dan menggunakan HAXE sebagai bahasa pemrograman. Sekali lagi, Anda perlu beralih ke Haxe, tetapi Anda dapat mengonversi beberapa logika permainan yang ada dari Python. Armory3D beroperasi di dalam Blender sebagai ekstensi, tempat Anda dapat membuat semua sumber daya untuk game.

Meskipun Urho3D tidak berjalan di Python, pertimbangkan juga program ini dengan hati-hati, karena Anda dapat memulai dengan sangat cepat dengan alat ini. https://armory3d.organisasi/

Ursina

Ursina ditulis dengan Python dan dibangun di atas Panda3D. Alat ini dirancang untuk menyediakan banyak primitif, seperti kubus, bola dll., sehingga Anda dapat melanjutkan ke permainan itu sendiri sesegera mungkin. Panda3D melakukan pekerjaan yang mendalam dan Ursina memberi Anda fungsi program siap pakai. Kelas pemain memberi Anda opsi untuk mendaftarkan tombol yang ditekan dan gerakan mouse.

Sebagian besar fungsi intuitif untuk digunakan dengan nama yang jelas dan fungsi yang mudah dimengerti. Anda akan dapat memulai dengan cepat dengan game Anda jika Anda menggunakan alat pembuat game ini. Ursina juga memiliki alat untuk mengonversi file campuran dan psd.

https://github.com/pokepetter/ursina

Mesin Game Blender (?)

Sebelum versi 2.79, Blender memiliki mesin game bawaan. Namun, dalam versi yang lebih baru, para desainer memilih untuk menghapus mesin game dari build standar dan fokus pada animasi. Jadi, orang-orang di UPBGE memutuskan untuk membuat ekstensi mereka sendiri yang berfungsi di dalam Blender. Oleh karena itu Anda dapat menggunakan Blender untuk membuat seluruh permainan. Bagaimana ini terkait dengan pengembangan game Python Python?

BPGE memiliki API yang memungkinkan Anda mengakses semua data yang Anda buat saat bekerja di dalam Blender. Anda dapat menggunakan konsol di dalam Blender untuk mengakses dan menguji API. Sebenarnya, Anda dapat menulis seluruh program dengan cara ini, tetapi itu mungkin bukan pilihan terbaik untuk kebutuhan Anda. Paling tidak, Anda akan memiliki semua sumber daya yang siap dan sesuai keinginan Anda sejak Anda membuatnya.

GODOT - GDscript, BUKAN Python

Jika Anda ingin menulis game dan Anda nyaman dengan Python, Anda juga dapat menggunakan GODOT. Bahasa ini sangat mirip dengan Python hanya saja khusus untuk menulis game.

Kesimpulan

Ada banyak kerangka kerja untuk menulis game dengan Python. Jika Anda ingin membuat game 3D berkinerja tinggi, Anda harus mempertimbangkan dengan serius untuk mempelajari bahasa lain untuk game tersebut. Pastikan pilihan program Anda memungkinkan Anda untuk mengikuti ide permainan asli Anda your. Jika perlu, sesuaikan bahasa pemrograman Anda dengan visi pribadi Anda.

Cara Menampilkan Penghitung FPS di Game Linux
Game Linux mendapat dorongan besar ketika Valve mengumumkan dukungan Linux untuk klien Steam dan game mereka pada tahun 2012. Sejak itu, banyak game A...
Cara mengunduh dan Memainkan Civilization VI Sid Meier di Linux
Pengenalan permainan Civilization 6 adalah konsep modern dari konsep klasik yang diperkenalkan dalam seri game Age of Empires. Idenya cukup sederhana;...
Cara Menginstal dan Memainkan Doom di Linux
Pengantar Doom Seri Doom berasal dari tahun 90-an setelah rilis Doom. Itu adalah hit instan dan sejak saat itu seri game telah menerima banyak penghar...