Pinakamahusay na Mga Python Game Engine

Best Python Game Engines



Upang magsulat ng mga laro sa computer (tinatawag kaming mga oldies na mga video game!), Maaari kang magtaka, Saan ako magsisimula? Upang makagawa ng isang mapaglarong laro sa isang disenteng timeframe habang natutunan din kung paano gumagana ang programa, kakailanganin mo ng isang balangkas ng laro. Lumilikha ang balangkas ng marami sa mga konstruksyon na kakailanganin mo upang gumana ang iyong mga laro. Hindi mo nais na likhain ang mga ito sa iyong sarili. Kasama rito kung paano gumuhit ng anumang bagay upang i-screen, kung paano makita ang isang salpukan, at kung paano panatilihin ang iskor.

Kahit na ang paglipat ng mga bagay sa screen ay kumplikado nang walang ilang pinagbabatayan na silid-aklatan. Sa artikulong ito, malalaman mo ang tungkol sa kung aling mga pakete ang gumagawa ng kung ano at gaano kadali upang makapagsimula sa iyong laro.







Bakit Game Engine?

Kapag sinimulan mong i-program ang iyong laro, masasalamin mo ang lakas ng pagkakaroon ng lahat ng mga pangunahing kaalaman, tulad ng mga klase at pag-andar. Sa ganitong paraan, maaari kang makapagsimula at makapagtuon ng pansin sa mga detalye ng iyong proyekto. Maaari kang magtaka kung ano ang pagkakaiba sa pagitan ng isang balangkas at isang engine ng laro. Sa isang mataas na antas, ipinapatupad ng engine ng laro ang lahat ng mabilis na operasyon - karamihan sa mga graphic. Ang balangkas ay nagpapatupad ng lohika, ang mga bagay na nais mong ilagay sa iyong laro - ang kuwento, kung nais mo.



PyGame

Ito ay isang hanay ng Mga Modyul ng Python. Ang hanay ng mga modyul na ito ay sadyang maliit upang gawing madali upang makapagsimula. Nagpasya din ang mga taga-disenyo na lumikha ng maraming maliliit na piraso sa loob ng silid-aklatan. Salamat sa disenyo na ito, maaari kang magpalitan ng mga bahagi ng library tuwing magbabago ang iyong mga pangangailangan. Ang panghalo, halimbawa, ay isang hiwalay na piraso ng software; kaya kung mas advanced ka sa iyong programa, maaari kang lumipat sa isa pang piraso ng software. Ang graphics rendering machine ay magkakahiwalay din, at iba pa. Sa katunayan, maaari mong gamitin ang PyGame upang i-prototype ang isang laro at ilipat ang bawat piraso sa bawat oras sa mas advanced na software. Sa nasabing iyon, ang PyGame ay may maraming mga laro sa ilalim ng pangalan nito.



Ang pagsisimula sa PyGame ay madali ngunit maaari mo itong gawing mas madali. Ang pgzero package ay ginawa para sa mga guro upang ipakita ang programa. Gamit ang package, madali mong maisulat ang maraming bahagi ng iyong laro nang walang boilerplate code.





Nabigo

Maaari mong i-install din ang Kivy bilang mga module ng Python. Ito ang pinakamahusay na paraan upang magamit ang Python para sa anumang balangkas. Ang Kivy ay may higit pang mga tampok kaysa sa PyGame at lumilikha ng mas makinis na mga resulta. Upang makapagsimula, si Kivy ay may magagaling na mga tutorial mismo sa kanilang homepage. Ang isang lakas na ov Kyvi ay ang kanilang Kv Design na wika. Ginagawang madali ng wikang ito ng disenyo upang lumikha ng mga menu, plano ng laro at lahat ng mga graphic. Salamat sa sistemang ito, hindi mo kailangang lumikha ng mga imahe para sa pinakasimpleng graphics.

Sa kanilang pahina, detalyado din nila kung paano magsisimulang gamitin ang Kivy sa PyCharm. Mayroon ding mga extension para sa pag-deploy sa Android at iOS. Ito ay medyo madali kaysa sa paggamit ng PyGame.



pyglet-3D

Sa unang tingin, ang pyglet ay tila maliit at limitado, ngunit may lalim na nagtatago sa ilalim ng pagiging simple. Sinusuportahan ng program na ito ang OpenGL, habang walang mga dependency, kahit na maaari mong pahabain ang mga kakayahan ng media sa pamamagitan ng pagtawag sa ffmpeg. Humahawak din ang Pyglet ng mga pag-setup ng dual-monitor. Mayroong mga third-party na aklatan na magagamit na nagpapalawak ng system. Dapat mong malaman ang tungkol sa mga library na ito para sa lahat ng mga tampok na idinagdag nila. Maaari mo ring gamitin ang glooey upang makagawa ng isang pare-pareho na GUI para sa iyong aplikasyon. Gumamit ng PyShaders para sa pag-render at Ratcave para sa paghawak ng mga 3D na eksena. Kung nagsimula ka sa pyglet3d, magandang malaman na ang cocos2d ay gumagamit ng pyglet. Bumubuo ang program na ito ng isang komprehensibong balangkas para sa mga app ng laro at iba pang mga application na nakabatay sa GUI.

Panda3D

Hindi ito isang pakete na maaari mong gamitin upang matuto ng programa o upang makagawa ng isang laro nang madali. Ang nakukuha mo rito ay isang propesyonal na tool para sa paglikha ng mga animasyon at laro. Ang Panda3D ay nakasulat sa C ++ upang mapangalagaan ang pagganap. Karamihan sa manu-manong, gayunpaman, ay tumuturo sa mga gumagamit ng Python. Habang ang ideya sa likod ng Panda3D ay para sa mga developer ng laro na gawin ang kanilang mga laro gamit ang Python, maaari mo ring gamitin ang C ++.

Ang Panda3d ay isang napaka may kakayahang sistema at kahit na mayroong sariling SDK. Kung nais mong gawin ang pagsisikap, at alam mo na ang ilang programa sa Python, ang sistemang ito ay malayo nang lampas sa anumang nais mong likhain. Pagkatapos ng lahat, ginagamit ito ng Disney para sa kanilang mga produktong komersyal!

Ren’Py

Marahil ay nabasa mo ang post na ito dahil nais mong lumikha ng mga laro. Ang package na ito ay para sa paglikha ng mga visual novel. Kung hindi mo pa naiisip ang ideya ng iyong proyekto, ngayon na ang oras. Maaaring gusto mong gumawa ng larong nakabatay sa kuwento na nangangailangan ng isang format ng pagsasalaysay. Ito ang para sa Ren’Py.

Marami nang mga larong pangkalakalan na nakasulat sa Ren’Py at may darating pa. Maaari ka ring lumikha ng isang visual na nobela at gawin itong isang laro. Sa Ren'Py, maaari kang lumikha ng buong bagay gamit ang karamihan sa mga editor ng teksto.

Ursina upang Pagandahin ang Panda

Kung nakita mong kulang ang Panda sa ilang paraan, subukang gamitin ang Ursina. Ito ay isang solong proyekto ng developer, kaya huwag umasa sa package na ito para sa mas malalaking proyekto, maliban kung handa kang magbigay. Nasabi na, ang Ursina ay isang pagpapahusay sa Panda3D. Ang proyekto ay napaka-aktibo din at maraming mga tao ang nag-ambag dito.

Ang paggawa ng isang laro sa balangkas na ito ay napakadali at tapos na sa napakakaunting mga linya ng code. Kung sa palagay mo maaaring lumawak ang iyong proyekto, huwag magalala. Ang program na ito ay binuo sa Panda, kaya't kapag tumaas ang iyong mga pangangailangan, maaari mong gamitin ang anuman sa mga pagpapaandar ng Panda3D. Binibigyan ka nito ng mabilis na take-off kasabay ng lakas ng isang itinatag na system.

Konklusyon

Upang simulang matuto at gumamit ng isang bagong balangkas ng pagbuo ng laro, pumili ng ilang mga tutorial at patakbuhin ito. Huwag pumili ng masyadong maraming, masasayang lang ang oras mo. Magsimula ng anumang simpleng proyekto, magpasya sa napakakaunting mga tampok, at subukang paandarin sila. Sa oras na natapos mo ang isang proyekto, magkakaroon ka ng isang libong mga ideya para sa susunod. Ang iyong pagpili ng game engine ay hindi gaanong mahalaga, basta susuriin mo ulit ang iyong pagpipilian nang sapat. Ito ay upang maisagawa ang tuluyang paglipat sa isang mas mahusay na hindi gaanong kumplikado at mas mahusay.