Начать с пиглета или с пигейма?

Я хотел бы знать, с чего лучше всего начать - пиглет или пигейм? Какой из них быстрее, а какой активнее?

Я также хотел бы знать, получит ли pyglet поддержку Python 3, потому что я прочитал здесь, что это может быть невозможно или это займет много времени.

Было бы лучше выбрать pygame из-за поддержки python 3 или я должен пойти с pyglet?

Спасибо.


person Reshure    schedule 11.08.2009    source источник
comment
Дубликат http://stackoverflow.com/questions/370680/differences-between-python-game-libraries-pygame-and-pyglet   -  person Sridhar Ratnakumar    schedule 26.01.2010
comment
Я бы не назвал это дубликатом. Этот вопрос спрашивает о различиях, а не о том, с чего лучше начать.   -  person Reshure    schedule 26.01.2010
comment
Сделать что? Вы не говорите, для чего он будет использоваться.   -  person Nick    schedule 12.04.2010
comment
JFYI, pyglet 1.2alpha1 представил поддержку Python 3.   -  person anatoly techtonik    schedule 23.07.2012
comment
Pyglet 2.0 находится в стадии разработки (с векторами и матрицами !!)   -  person PyGamer0    schedule 20.07.2021


Ответы (3)


pygame очень активен, засвидетельствуйте августовский выпуск 1.9 с поддержкой nokia s60, расширенной поддержкой py2app / py2exe и множеством экспериментальных функций (поддержка Python 3.1, веб-камеры, gfx, ...). Книги, такие как Hello World, и периодические веселые конкурсы, такие как ludumdare и pyweek свидетельствуют об активности своего сообщества. и экосистема.

pyglet имеет аккуратный, новый API и удобный (чистый Python, лицензия BSD вместо LGPL).

Что касается скорости, я не проводил никаких тестов, но я полагаю, что пиглет из коробки лучше использует расширенное аппаратное ускорение для работы с 3D, в то время как pygame лучше работает в 2D и на аппаратном обеспечении, которое не является более продвинутым (смартфоны, нетбуки, и т.д., не иметь блестящих 3D-ускорителей HW). Вы можете повысить скорость работы обеих платформ с помощью надстроек, хотя при этом теряется удобство.

Что касается поддержки Py3 и т. Д., Я считаю, что проблема просто в том, что pygame, гораздо более зрелый и популярный, имеет значительно большую группу разработчиков ядра, поэтому, конечно, он может получить новые вещи, такие как поддержка Py3, раньше.

Если ни одна из вышеперечисленных проблем не является для вас решающей (вы в порядке с LGPL и BSD, не заботитесь о смартфонах, не нуждаетесь в книгах и т. Д.), Единственный разумный подход - действительно загрузить оба и попробовать то же самое. элементарные задачи, которые вас интересуют, на интересующих вас машинах - которые покажут вам, насколько каждая из них «подходит вашему мозгу», ваша потребность в скорости, удобстве и т. д.

person Alex Martelli    schedule 11.08.2009
comment
Дуглас одобрил :). Pygame - это жизнь, любовь и счастье, а Hello World - лучшая книга по Python из когда-либо созданных. - person Douglas - 15 year old Pythoner; 08.01.2016

Я не могу комментировать другие ответы, поэтому мне нужно сделать этот новый, извините.

С точки зрения скорости Pyglet определенно быстрее, чем pygame прямо из коробки, и скорость всегда вызывает беспокойство при разработке с помощью pygame (вам нужно обновить самые маленькие части экрана, и запоминание того, что изменилось, может быть утомительным). С пиглетом такой проблемы нет.

Если вы используете cocos2d (слой над пиглетом), ускорить работу еще проще, просто прикрепите спрайты к BatchNode и наблюдайте, как растет FPS.

Как сказано в комментарии, pyglet как поддержка python3.

Это просто мое личное предпочтение, но Pyglet мне нравится гораздо больше, а с cocos2d наверху его действительно легко изучить. Обратной стороной является гораздо меньшее сообщество.

person CGGJE    schedule 19.09.2012

Это похоже на дубликат: Различия между игровыми библиотеками Python Pygame и Pyglet?

Это по крайней мере одно место, где можно найти дополнительные ответы.

Я присутствовал на лекции Стива Джонсона о пиглете в PyOhio (лекция № 18 на http://pyohio.org/2009/Talks/) и был весьма впечатлен тем, насколько мало кода было задействовано. pygame кажется большим, и мне (лично) не нужны все дополнительные зависимости.

Тем не менее, я еще не написал ни одного кода. Мой план - начать с пиглета, а затем, когда мне это станет удобно, попробовать pygame и посмотреть, как они сравнятся.

Я согласен с ответом Алекса, если вы гуглите pygame vs. pyglet, вы найдете множество личных предпочтений. Единственная объективная разница, которую я заметил, - это разница в количестве поддерживаемых видеокарт (pygame не требует OpenGL, поэтому pygame может поддерживать больше).

person user135331    schedule 11.08.2009
comment
Я видел этот вопрос, но мне кажется, что ответ не исчерпывающий. - person Reshure; 11.08.2009