Cara menggunakan 3d python game

Cara menggunakan 3d python game

  • Cari disini...
  • Courses

    • Kategori

    • Web Development

    • Mobile Development

    • Studi Kasus

    • Fundamental

    • Pemula

    • Teknologi Populer

    • Laravel

    • PHP

    • Kotlin

    • Android

    • Javascript

    • Wordpress

    • Database

    • Semua Kelas

    • Flashsale

    • Popular

    • Mentor

    • Roadmap

  • Explore

    • Karir

      Temukan Karirmu

    • Tutorial & Artikel

      Temukan Artikel menarik

    • Podcast

      Podcast seputar pemrograman

    • Webinar

      Ikuti Berbagai Webinar

    • Event

      Temukan Event menarik

    • Beasiswa

      Program Beasiswa

    • Discord

      Komunitas Discord

    • Forum

      Diskusi antar Programmer

    • Leaderboard

      Ranking siswa Codepolitan

  • Partnership

    • For Company

      Solusi tepat untuk perusahaan

    • For School

      Kerjasama untuk sekolah

    • For Campus

      Kerjasama untuk kampus

    • For Mentor

      Peluang penghasilan untuk mentor

LoginRegister

pengantar

Menemukan framework kerja untuk engine game 3D yang dibuat untuk dan dengan Python terbukti sangat sulit. Alasan untuk ini adalah bahwa 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 framework kerja yang ditulis dalam C++.

Untuk membuat ini berfungsi untuk engine game 3D, Anda tidak dapat melakukan semuanya seperti yang biasanya Anda lakukan dengan Python. Sebagian besar framework kerja membuat pembungkus untuk pustaka C++ mereka. Anda perlu mencari cara untuk mengompilasi 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 mengetahui 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 framework kerja Ogre dalam C++ dengan pembungkus untuk Python. Pembungkus 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.ogre3d.org/

Alegro

Allegro menangani semua pekerjaan berat dalam membuat jendela, menerima masukan user, menggambar gambar, dan memutar suara – semua fitur yang berguna untuk videogame dan pemrograman multimedia. Para desainer Allegro tidak mengklaim bahwa program ini adalah engine 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 memperumit prosesnya, tetapi mempelajari C++ juga merupakan tugas yang sulit.

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.org/

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 program ini dengan hati-hati juga, karena Anda dapat memulai dengan sangat cepat dengan alat ini. https://armory3d.org/

Ursina

Ursina ditulis dengan Python dan dibangun di atas Panda3D. Alat ini dirancang untuk menyediakan banyak primitif, seperti kubus, bola, dll., sehingga Anda dapat beralih 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 game dengan cepat jika 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 engine game bawaan. Namun, pada versi yang lebih baru, desainer memilih untuk menghapus engine game dari build standar dan fokus pada animasi. Jadi, orang-orang di UPBGE memutuskan untuk membuat ekstensi mereka sendiri yang berfungsi di dalam Blender. Karena itu, Anda dapat menggunakan Blender untuk membuat keseluruhan game. Bagaimana hal ini terkait dengan pengembangan game 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 framework 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 bahwa pilihan program Anda memungkinkan Anda untuk mengikuti ide permainan asli Anda. Jika perlu, sesuaikan bahasa pemrograman Anda dengan visi pribadi Anda.