파이썬에서 사소한 2D 게임을 개발하는 것이 좋은 생각입니까? [닫은]


10

2D 공간 RPG를 개발할 계획이며 선택에 직면하고 있습니다. 가장 적합한 언어는 무엇입니까? 후보자는 C ++, Java 및 Python입니다. 분명히 표현력, 개발 속도 및 스크립팅 지원 추가의 단순성으로 인해 Python으로 게임을 작성하고 싶습니다. 그러나 걱정됩니다.

  • 파이썬이 너무 느리지 않습니까? 게임은 사소한 것이 아니며 (예를 들어 테트리스와 같이), 우주에서 수천 대의 선박에 대한 작업을 계산해야 할 수도 있습니다. 물론 C로 중요한 부분을 작성할 수는 있지만 구축과 배포가 즉시 복잡해집니다.
  • 게임이 인기를 얻었고 슈퍼 스타가되었다고 가정 해 봅시다. Windows 사용자는 파이썬을 거의 사용하지 않습니다 (다행히 py2exe가 있습니다). Mac OS X의 Python은 구식 일 수 있으며 게임은 모호한 예외로 인해 충돌 할 수 있습니다. 파이썬으로 게임을 배포하는 것이 어렵지 않습니까?
  • Python 3 용 라이브러리가 없기 때문에 Python 2로 게임을 작성해야합니다. 몇 년 내에 Python 3으로 전환하는 것이 너무 고통스럽고 시간이 많이 걸리지 않습니까?

두 번째 질문의 경우 배포를 상당히 쉽게 만드는 데 사용할 수있는 py2app도 있습니다.
thedaian

1
파이썬에서이 작업을 수행하기로 결정했다면, numpy를 사용하여 "느린"부분을 수행 할 수 있는지 확인하고 싶을 수도 있습니다 (필수는 아님).
Brendan Long

답변:


8

파이썬이 너무 느리지 않습니까? 게임은 사소한 것이 아니며 (예를 들어 테트리스와 같이), 우주에서 수천 대의 선박에 대한 작업을 계산해야 할 수도 있습니다. 물론 C로 중요한 부분을 작성할 수는 있지만 구축과 배포가 즉시 복잡해집니다.

말하기는 어렵지만 대부분의 경우 성능 제한 요소는 언어가 아닌 개발자로서의 능력 / 경험입니다. EVE는 Stackless Python을 사용합니다 ( 관련 프레젠테이션 다운로드는 여기여기 참조 ). 정확한 세부 사항을 기억하지는 않지만 대부분의 서버 클러스터는 Python을 실행하고 있습니다. 따라서 프로토 타입을 만드는 것이 좋을지라도 확장 성 요구 사항을 처리 할 수 ​​있다고 생각합니다.

Windows 사용자는 파이썬을 거의 사용하지 않습니다 (다행히 py2exe가 있습니다). Mac OS X의 Python은 구식 일 수 있으며 게임은 모호한 예외로 인해 충돌 할 수 있습니다. 파이썬으로 게임을 배포하는 것이 어렵지 않습니까?

대부분의 사용자는 해당 게임이 작성된 기술에 관계없이 게임에 적합한 바이너리 종속성을 거의 갖지 않습니다 (C조차도 런타임 구성 요소를 배포해야 함). py2exe 또는 이와 동등한 것을 통해 배포하거나 단순히 적절한 종속성을 배포하는 것은 인생의 일부입니다. 가장 쉬운 방법은 아니지만 (대부분의 설치 관리자 기술은 고통 스럽지만) 언어를 피할 이유가 없어서는 안됩니다. 앞서 말했듯이 관계없이 비슷한 것을 처리해야 할 것입니다.

Python 3 용 라이브러리가 없기 때문에 Python 2로 게임을 작성해야합니다. 몇 년 내에 Python 3으로 전환하는 것이 너무 고통스럽고 시간이 많이 걸리지 않습니까?

이것에 대해 잘 모르지만 실제로는 Python 3을 사용한 적이 없습니다. Python 2.X가 곧 사라질 것으로 기대하지는 않으므로 게임의 수명이 당신과 같을 것이라고 생각하지 않습니다. 'D 필요 , 당신은하지 않았다 경우 이상 전환에 비 문제의 우려 뭔가를 만드는, 원하는.

다른 사람들이 말했듯이 프로젝트의 언어 선택 측면에 대해 너무 걱정하고 있습니다. 파이썬은 게임을 개발할 수있는 강력하고 유용한 도구이며, 알고 있고 좋아한다면 함께 개발해야합니다. 언어에 대해 너무 걱정했기 때문에 게임이 끝나지 않는 경우 얼마나 빨리 게임을 실행하든 문제가되지 않습니다.


python 2.7을 상당히 광범위하게 사용했기 때문에 2.7로는 할 수없는 python 3.2+로 할 수있는 일은 많지 않습니다. 그것은 시간이 지남에 따라 변할뿐만 아니라 도서관 지원도 할 것입니다. =)
Ken

14

첫 번째로 프로토 타입을 제작하고 확인하면됩니다. 실제로 변경되지 않는 모든 세부 정보를 알려주더라도.

다른 두 점은 말보다 카트를 놓는 것 같은 느낌이 듭니다. 귀하의 질문에 따르면 게임 개발에 익숙하지 않은 것 같습니다.이 경우 실제로 도구를 선택하고 함께해야합니다. 주로 똑같이 유용한 도구의 장단점을 골라내는 것은 게임 개발 학습이라는 실제 과제에서 산만합니다.


0

다시 # 3으로, Python 2.x는 적어도 5-10 년 동안 유통 업체 지원을 보게 될 것입니다. 최신 버전 (2.7 또는 2.6)을 사용하는 경우 미래 ​​보장 코드 (새 스타일 객체, 모든 곳의 유니 코드 등)를 작성하면 마이그레이션 경로가 매우 쉽습니다. 고통은 주로 낡고 부서진 행동에 의존했던 것들에 대한 것입니다.


도움말을, 당신을 물린 것 오래된 행동을 파악하여 게임을 실행 python -3 filename.py3 더 이상 파이썬에서 지원하는 것들에 대한 경고를 출력 할 것이다,
spiffytech
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.