Ctypes в игровых приложениях на Python

Игорь Стариков / idle sign

Видео выступления

Автор

  • Несу Python в массы:
    • Рассказываю о нём
    • Поддерживаю сайт — pythonz.net
    • Перевожу и озвучиваю доклады с PyCon US
  • Пишу код и отдаю его людям — idlesign

Чёртов гном!

Источник снимка из игры — сайт arttea.aiq.ru

Python в играх

  • Civilization IV
  • Battlefield 2, Battlefield 2141, Battlefield Heroes
  • Eve Online
  • Blade of Darkness
  • Freedom Force
  • Pirates of the Caribbean Online
  • World of Tanks
  • Vampire: The Masquerade – Bloodlines
  • и пр.

pyglet

Кросплатформенный, написанный на Питоне, каркас для разработки мультимедийных оконных приложений, игр

  • Использует OpenGL
  • Работает с изображениями, видео, аудио
  • Windows, OS X, Linux
  • Открытая лицензия (BSD)

cocos2d (Python)

Каркас для создания двухмерых игр, демок и прочих графических интерактивных приложений

  • Действия, трансформации, эффекты
  • Сцены и переходы между ними
  • Тайлы
  • Скелетная анимация
  • Обработка столкновений

pymunk

Обёртка над библиотекой Chipmunk, реализующий физику твёрдых тел в двухмерном пространстве

  • В терминах пространств и тел
  • Автогеометрия по изображениям
  • Кроссплатформенность

steampak

Обёртка над библиотекой для платформы Steam от компании Valve

  • Пользователи
  • Группы
  • Оверлей
  • Достижения
  • и пр.

Вызов функций из библиотек на Си

  • ctypes
  • cffi
  • SWIG
  • Cython

Рекомендации построения API

  • Удобство на первом месте
  • Сгенерированные обёртки обычно плохи
  • Не обязательно повторять оригинал

Ссылки

Спасибо за внимание!

Вопросы?

idlesign   idlesign   idlesign  

Эти слайды можно найти тут — http://bit.ly/ist_0003