2D RTS в Python?
Я большой поклонник питона. Недавно у меня появилась идея написать движок RTS и / или, может быть, простую игру RTS, основанную на этом движке. Есть несколько вещей, о которых мне нужно подумать, и, возможно, вы можете дать мне несколько советов по этим вопросам:
- Спектакль. Большинство игр написаны на C++. Разве питон не слишком медленный для игрового движка? Я нацеливаюсь только на 2D, но все же это может быть слишком демадентно.
- Графика. Есть ли хорошие графические библиотеки для python? Привязки SDL/OpenGL или что-то более подходящее для python?
- Игровые движки. Знаете ли вы о существующем движке RTS, написанном на python?
- Любые инструменты / библиотеки для Python, которые могут быть полезны при разработке RTS
Заранее спасибо!
2 ответа
Решение
- Производительность может быть проблемой с тяжелой графикой / математической обработкой. Если это так, см. Panda3D, NumPy, Cython и PyPy.
- Используйте Pyglet, PyOpenGL с Pyglet, Panda3D (хотя вы пишете в 2D, вы все равно можете использовать 3D-движок) или, возможно, какую-то другую библиотеку.
- Кажется, что не существует существующих библиотек RTS, но определенно существуют уже существующие обобщенные механизмы.
- Попробуйте поискать библиотеки, связанные с RTS, в общем: вам понадобится AI, поиск пути, работа в сети и так далее. Поэтому, возможно, вас заинтересует Twisted, поскольку он помогает в работе с сетями.
Я могу ответить на ваши первые два.
- Python не слишком медленный для игр. То, что все игры должны быть написаны на C++ - это миф. Конечно, C++ (или C) может дать вам лучшую производительность, но это не значит, что вы не можете написать игру на другом языке.
- Попробуйте PyGame: привязки SDL для Python.