Python

Dobré 3D herné motory v jazyku Python

Dobré 3D herné motory v jazyku Python

Úvod

Nájsť rámec pre 3D herné motory vyrobené pre a s Pythonom sa môže ukázať ako veľmi ťažké. Dôvodom je to, že Python rýchlo narazí na problémy s výkonom, keď sa zvýši zložitosť. Rýchle vykreslenie grafiky nie je to, čo Python zvláda najlepšie. Pretože je však Python veľmi vhodný na tvorbu logiky a je veľmi populárny, máte veľa možností na spustenie rámcov napísaných v jazyku C++.

Aby to fungovalo pre 3D herné enginy, nemôžete robiť všetko tak, ako by to bolo bežné v Pythone. Väčšina rámcov vytvára obal pre svoje knižnice C ++. Budete musieť zistiť, ako to skompilovať, aby si Python mohol tento obal spomenúť. Zahŕňajú v dokumentácii spôsob kompilácie s obalom Python.

Herný štýl a výber jazyka

Predtým, ako začnete, zvážte, či je vaša hra plošinovka, strieľačka z pohľadu prvej osoby alebo dialógové okno. Možno vytvoríte hru, ktorá bude výzvou pre intelektuálne schopnosti. Toto nepotrebuje vysoko výkonnú grafiku. Ide o to, že skôr ako začnete, budete musieť vedieť, čo sa snažíte dosiahnuť. Na programovanie ste možno zvyknutí na Python. Ak však chcete vytvárať hry s množstvom efektov, mali by ste zvážiť iné programovacie jazyky. Osvojiť si nový jazyk je veľká námaha, ale je tiež nesmierne uspokojivé, ak prekonáte počiatočnú prekážku základných schopností. Čas, keď má bežná dokumentácia zmysel, a to aj pri letmom pohľade.

Viazania, knižnice na zváženie

Ak chcete vytvárať hry, budete musieť vytvoriť grafiku, ponuky a zvuk. Na zvládnutie týchto prípadov existuje niekoľko knižníc a väzieb Pythonu. Jednou z najbežnejších z týchto knižníc je SDL2, ktorá poskytuje programátorom priamy prístup k videobubufferu, zvukovému výstupu, myši a klávesnici. Bez nich bude vaša hra musieť používať bežné postupy, ktoré môžu byť niekedy pomalé. Prvá verzia je stále okolo, ale SDL2 má všetky potrebné vychytávky.

SFML2 hrá podobnú rolu ako väčšina multimediálnych funkcií a dáva všetky funkcie dokopy. Naproti tomu SDL2 obsahuje mnoho menších kúskov, ktoré musíte do svojho kódu vtiahnuť po jednom.

Pre Python budete potrebovať balíčky PySDL2 a PySFML2.

PyOgre

Dizajnéri PyOgre napísali rámec Ogre v C ++ s obalom pre Python. Zavinovačka je vstavaná zavinovačka. Starý projekt je stále k dispozícii na webe. Nasledovanie návodov môže byť užitočné, ale buďte opatrní, pretože nie všetko, čo je k dispozícii online, bude správne. Ogre má triedy pre mnoho svetových objektov, vďaka čomu získate vrstvu nad OpenGL a Direct3D.

Ogre pracuje so scénami a dokáže vytvoriť všetku grafiku, ktorú môžete pre svoju hru potrebovať. Moduly PyOgre fungujú pre verzie pred verziou Ogre v1.05. Potom sú k dispozícii ďalšie moduly. Softvér Ogre obsahuje skripty Python na import údajov z Blenderu do Ogre. Vďaka tomu môžete pre svoju hru vytvárať svoje zdroje v Blenderi. K dispozícii sú aj ďalší vývozcovia.

http: // wiki.ogre3d.org /

Allegro

Allegro zvláda všetky náročné kroky pri vytváraní okien, prijímaní vstupov používateľov, kreslení obrázkov a prehrávaní zvukov - to sú funkcie užitočné pre videohry a multimediálne programy. Dizajnéri Allegro netvrdia, že tento program je herný engine, ale je užitočný na výrobu hier.

Pretože Allegro bol postavený v C ++, budete musieť vytvoriť obal na použitie tohto programu v Pythone. Tento krok môžete vykonať kompiláciou zo zdroja. Tento proces vytvorí triedy v súbore s názvom Allegro.py. Po dokončení tohto kroku môžete z tohto súboru vybrať triedy, ale odporúča sa prečítať si aj bežnú dokumentáciu o fungovaní tohto programu. To môže komplikovať postup, ale naučiť sa C ++ je tiež fuška.

https: // github.com / liballeg / allegro5

Armory 3D - rozšírenie mixéra

Tento balík používa Blender ako vývojovú platformu a HAXE ako programovací jazyk. Áno, budete musieť prejsť na Haxe, ale môžete previesť určitú existujúcu hernú logiku z Pythonu. Armory3D pracuje vo vnútri Blenderu ako rozšírenie, kde si môžete vytvoriť všetky svoje zdroje pre hru.

Aj keď Armory 3D nefunguje na Pythone, zvážte tento program opatrne, pretože s týmto nástrojom môžete začať veľmi rýchlo. https: // armory3d.org /

Urho3D

Tento balík používa Blender ako vývojovú platformu a používa HAXE ako programovací jazyk. Opäť budete musieť prepnúť na Haxe, ale môžete previesť určitú existujúcu hernú logiku z Pythonu. Armory3D pracuje vo vnútri Blenderu ako rozšírenie, kde môžete vytvoriť všetky svoje zdroje pre hru.

Aj keď Urho3D nefunguje na Pythone, dobre si zvážte aj tento program, pretože s týmto nástrojom môžete začať veľmi rýchlo. https: // armory3d.org /

Ursina

Ursina je napísaná v jazyku Python a je postavená na platforme Panda3D. Tento nástroj je navrhnutý tak, aby poskytoval veľa primitívov, ako napríklad kocka, guľa atď., aby ste čo najskôr mohli prejsť na samotnú hru. Panda3D robí hlbokú prácu a Ursina vám ponúka hotové programové funkcie. Hráčska trieda vám dáva možnosť zaregistrovať stlačené klávesy a pohyby myši.

Väčšina funkcií je intuitívna na použitie s jasnými názvami a ľahko zrozumiteľnými funkciami. Ak použijete tento nástroj na vytváranie hier, budete môcť so svojou hrou rýchlo začať. Ursina má tiež nástroje na konverziu súborov blend aj psd.

https: // github.com / pokepetter / ursina

Blender Game Engine (?)

Pred verziou 2.79, Blender mal zabudovaný herný engine. V neskorších verziách sa však dizajnéri rozhodli odstrániť herný engine zo štandardného zostavenia a zamerať sa na animácie. Ľudia v spoločnosti UPBGE sa teda rozhodli vytvoriť vlastnú príponu, ktorá funguje vo vnútri Blenderu. Na vytvorenie celej hry teda môžete použiť Blender. Ako to súvisí s vývojom hier v Pythone?

BPGE má API, ktoré vám umožní prístup ku všetkým údajom, ktoré vytvoríte pri práci v Blenderi. Konzolu vo vnútri Blenderu môžete použiť na prístup a testovanie API. V skutočnosti by ste mohli napísať celý program týmto spôsobom, ale to nemusí byť najlepšia voľba pre vaše potreby. Prinajmenšom budete mať pripravené všetky zdroje a také, aké chcete, od okamihu, keď ich vytvoríte.

GODOT - GDscript, NIE Python

Ak chcete napísať hru a program Python vám vyhovuje, môžete tiež použiť program GODOT. Tento jazyk je veľmi podobný jazyku Python, je vhodný najmä na písanie hier.

Záver

Existuje mnoho rámcov na písanie hier v Pythone. Ak chcete vytvoriť vysoko výkonné 3D hry, mali by ste vážne zvážiť výučbu ďalších jazykov pre tieto hry. Uistite sa, že vám výber programu umožňuje sledovať pôvodný nápad hry. Ak je to potrebné, prispôsobte svoj programovací jazyk svojej osobnej vízii.

Hry Ako používať GameConqueror Cheat Engine v Linuxe
Ako používať GameConqueror Cheat Engine v Linuxe
Tento článok obsahuje sprievodcu používaním cheatovacieho modulu GameConqueror v systéme Linux. Mnoho používateľov, ktorí hrajú hry v systéme Windows,...
Hry Najlepšie emulátory herných konzol pre systém Linux
Najlepšie emulátory herných konzol pre systém Linux
V tomto článku je uvedený zoznam populárneho softvéru na emuláciu herných konzol, ktorý je k dispozícii pre systém Linux. Emulácia je vrstva kompatibi...
Hry Najlepšie linuxové distribúcie pre hry v roku 2021
Najlepšie linuxové distribúcie pre hry v roku 2021
Operačný systém Linux prešiel dlhou cestou od svojho originálneho, jednoduchého serverového vzhľadu. Tento OS sa za posledné roky nesmierne vylepšil a...