Python

Добри 3D двигатели за Python игри

Добри 3D двигатели за Python игри

Въведение

Намирането на рамка за 3D игрални машини, създадени за и с Python, може да се окаже много трудно. Причината за това е, че Python бързо се сблъсква с проблеми с производителността, когато сложността се увеличи. Бързото графично изобразяване не е това, което Python се справя най-добре. Тъй като обаче Python е много добър за създаване на логика и е доста популярен, имате много опции за стартиране на рамки, написани на C++.

За да направите тази работа за 3D игрални двигатели, не можете да правите всичко, както обикновено в Python. Повечето рамки създават обвивка за своите библиотеки на C ++. Ще трябва да разберете как да компилирате, за да може Python да извика тази обвивка. Те обхващат документацията как да компилирате с обвивката на Python.

Избор на стил на игра и език

Помислете, преди да започнете, дали вашата игра е платформинг, шутър от първо лице или диалог. Може би ще създадете игра, която оспорва интелектуалните умения. Това не се нуждае от графики с висока производителност. Въпросът е, че ще трябва да знаете какво се опитвате да постигнете, преди да започнете. Може да сте свикнали с Python за програмиране. Но ако искате да създадете игри с много ефекти, трябва да помислите за други езици за програмиране. Голямо усилие е да научите нов език, но също така е изключително удовлетворяващо, след като преминете първоначалното препятствие от основите. Времето, когато редовната документация има смисъл, дори и с бърз поглед.

Обвързвания, библиотеки за разглеждане

За да правите игри, ще трябва да създадете графики, менюта и аудио. Има няколко библиотеки и обвързвания на Python за справяне с тези случаи. Една от най-често срещаните от тези библиотеки е SDL2, която дава на програмистите директен достъп до видео кадъра, аудио изхода, мишката и клавиатурата. Без тях вашата игра ще трябва да използва редовни съчетания, които понякога могат да бъдат бавни. Първата версия все още съществува, но SDL2 разполага с всички необходими джаджи.

SFML2 играе подобна роля на повечето мултимедийни функции и обединява всички функции. За разлика от това, SDL2 съдържа много по-малки парчета, които трябва да изтеглите в кода си един по един.

За Python ще ви трябват съответно пакетите PySDL2 и PySFML2.

PyOgre

Дизайнерите на PyOgre написаха рамката Ogre на C ++ с обвивка за Python. Опаковката е вградена обвивка. Старият проект все още е достъпен в мрежата. Следването на уроците може да бъде полезно, но бъдете внимателни, тъй като не всичко налично онлайн ще бъде правилно. Ogre има класове за много световни обекти, като ви дава слой върху OpenGL и Direct3D.

Ogre работи със сцени и може да създаде цялата графика, която може да ви е необходима за вашата игра. Модулите PyOgre работят за версии преди Ogre версия v1.05. След това има и други налични модули. Софтуерът Ogre включва Python скриптове за импортиране на данни от Blender в Ogre. Това прави възможно създаването на ресурси в Blender за вашата игра. Предлагат се и други износители.

http: // wiki.ogre3d.организация /

Алегро

Allegro се справя с всички тежки задачи при създаване на прозорци, приемане на потребителски въвеждане, изчертаване на изображения и възпроизвеждане на звуци - всички функции, които са полезни за видеоигра и мултимедийно програмиране. Дизайнерите на Allegro не твърдят, че тази програма е игрален двигател, но е полезна за правене на игри.

Тъй като Allegro е построен в C ++, ще трябва да създадете обвивката, за да използвате тази програма в Python. Можете да изпълните тази стъпка, като компилирате от източника. Процесът създава класовете във файл с име Allegro.py. След като завършите тази стъпка, можете да изберете класовете от този файл, но се препоръчва да прочетете и редовната документация за това как работи тази програма. Това може да усложни процеса, но изучаването на C ++ също е скучна работа.

https: // github.com / liballeg / allegro5

Armory 3D - разширение за миксер

Този пакет използва Blender като платформа за разработка и HAXE като език за програмиране. Да, ще трябва да преминете към Haxe, но може да конвертирате някои съществуващи логически игри от Python. Armory3D работи в Blender като разширение, където можете да създадете всичките си ресурси за играта.

Въпреки че Armory 3D не работи на Python, помислете внимателно за тази програма, тъй като можете да започнете много бързо с този инструмент. https: // armory3d.организация /

Urho3D

Този пакет използва Blender като платформа за разработка и използва HAXE като език за програмиране. Отново ще трябва да преминете към Haxe, но може да конвертирате някои съществуващи логически игри от Python. Armory3D работи в Blender като разширение, където можете да създадете всичките си ресурси за играта.

Въпреки че Urho3D не работи на Python, помислете и за тази програма внимателно, тъй като можете да започнете много бързо с този инструмент. https: // armory3d.организация /

Урсина

Ursina е написана на Python и е изградена върху Panda3D. Този инструмент е предназначен да осигури много примитиви, като куб, сфера и т.н., за да можете да преминете към самата игра възможно най-скоро. Panda3D върши дълбоката работа, а Ursina ви предоставя готови програмни функции. Класът на играч ви дава опциите за регистриране на натиснати клавиши и движения на мишката.

Повечето функции са интуитивни за използване с ясни имена и лесно разбираеми функции. Ще можете бързо да започнете с играта си, ако използвате този инструмент за създаване на игри. Ursina разполага и с инструменти за конвертиране на смесени и psd файлове.

https: // github.com / pokepetter / ursina

Blender Game Engine (?)

Преди версия 2.79, Blender има вграден двигател за игри. В по-късните версии обаче дизайнерите избраха да премахнат игралния механизъм от стандартното изграждане и да се съсредоточат върху анимациите. И така, хората от UPBGE решиха да създадат свое собствено разширение, което да работи вътре в Blender. Следователно можете да използвате Blender, за да създадете цялата игра. Как това се свързва с развитието на игрите на Python?

BPGE има API, който ви позволява достъп до всички данни, които създавате, докато работите в Blender. Можете да използвате конзолата в Blender за достъп и тестване на API. Всъщност можете да напишете цялата програма по този начин, но това може да не е най-добрият избор за вашите нужди. Най-малкото ще имате готови всички ресурси и начина, по който ги искате от момента, в който ги създадете.

GODOT - GDscript, НЕ Python

Ако искате да напишете игра и се чувствате добре с Python, можете също да използвате GODOT. Този език е много подобен на Python, само че е специално за писане на игри.

Заключение

Има много рамки за писане на игри в Python. Ако искате да създадете 3D игри с висока производителност, трябва сериозно да обмислите изучаването на други езици за тези игри. Уверете се, че вашият избор на програма ви позволява да следвате оригиналната си идея за игра. Ако е необходимо, адаптирайте езика си за програмиране към вашата лична визия.

5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...
Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...
Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...