1. 파이게임 제로(pygame zero) 라이브러리
Last updated
Last updated
우리 책에서 사용할 게임개발용 라이브러리(라이브러리가 무엇인지 이해가 필요할 경우 를 참고)를 소개하겠다. 파이썬에서 2D 게임을 만들고자 할 때 사용되는 라이브러리로 2000년에 첫 출시된 이래로 벌써 20년 이상 서비스되고 여전히 개선되고 있는 "오픈소스 게임개발용 라이브러리"이다. 이름은 Python용 라이브러리라는 의미로 py라는 접두사를 붙힌 pygame라 명명했고, 해당 라이브러리의 로고는 다음과 같다. 좀 더 상세하고 전문적인 내용을 알고 싶다면 공식 웹사이트에서 확인해 보는 것이 좋겠다.
일반적으로 개임을 개발할 때 이러한 라이브러리의 지원 없이 모든 코드를 제로 베이스(Zero-based)에서 밑바닥부터 코드 한땀한땀 코딩하면서 개발하겠다고 한다면 불가능한 것은 아니지만 어마어마한 시간이 걸릴 것이다. 게임 자체가 종합예술이라 불릴만큼 많은 기술(특별히 수학적, 물리적)들의 적용이 필요하고, 이미지, 소리, 동영상 등 다양한 멀티미디어를 동시에 다뤄야 하기 때문에 코드의 양과 복잡도가 상당히 높은 편에 속한다. 그래서, 그런 세부적 기술구현의 디테일은 모르더라도 간편하게 그런 기술을 활용할 수 있게 해주는 라이브러리가 있다는 것이 우리에겐 구원의 소식이다.
혹시 여러분들 중에 이걸로 상용게임을 만들 수 있지 않을까 하는 기대를 한다면, 아쉽게도 일찌감치 접어두는 것이 좋을 것 같다. 이 라이브러리는 그런 수준이나 용도를 목적하지 않았고, 무엇보다 아직은 파이썬 언어자체가 상용게임 제작용에 사용되는 주류 언어가 아니다. 그럼에도 우리는 이것을 통해 우리 자신과 우리 주변 친구들, 지인정도가 재미있게 즐길 수 있는 가벼운 인디게임 정도는 충분히 만들 수 있을 것이다.
파이게임 라이브러리를 통한 개발은 파이썬 초보자 입장에서는 솔직히 쉬운 편은 아니다. 그렇기 때문에 초보자의 교육적 배려를 위해 더 장벽을 낮춰야 할 필요가 있는게 사실이었고, 저자와 같은 이런 고민이 있었던 한 개발자가 그런 목적으로 "파이게임 제로" 란 라이브러리의 이름에서 알 수 있듯이 기존의 "파이게임" 라이브러리를 기반해 이를 더 간략화시켜 최소한의 코딩만으로도 게임제작이 가능하도록 난이도를 낮춘 파이게임 라이브러리를 만들었고, 이를 오픈소스로 공개하였다. 이를 소개한 웹사이트에서 밝히고 있듯이 본 라이브러리는 코딩을 가르치기 위한 교육용 목적으로 활용을 기대하고 있으며, 따라서 이제 막 텍스트코딩을 시작했고, 특별히 파이썬 언어를 통해 텍스트코딩에 입문한 사용자들을 흥미있게 교육하고, 배우는데 유용할 것으로 기대할 수 있다.
다만, 한 가지 아쉬운 것은 본 라이브러리가 계속해서 관리되고 성장되지는 못하고 있고, 2021년 1.2.1 버전 이래로 오래동안 정체되어 있는 현실이긴 하나, 그럼에도 불구하고 적어도 우리가 목적하고 있는 파이썬 언어를 활용한 텍스트코딩을 더 잘 배우기 위한 교육용 목적에서의 충분한 수준의 개발은 이미 이루어 진 것으로 볼 수 있다.
이 책은 게임 그 자체를 잘 개발하기 위해 씌여진 책이 아니고, 파이썬 언어를 통한 텍스트코딩을 더 잘 배우기 위한 목적에서 게임개발이라는 수단을 가져온 것이라 이해하면 좋겠다. 우리는 이미 엔트리/스크래치를 통한 블록코딩으로 게임만들면서 코딩에 재미를 붙혀왔던 것처럼 말이다. 이번 우리 목표는 파이게임 제로(pygame zero) 라이브러리 + 파이썬(python) 텍스트코딩용 언어의 조합으로 게임만들면서 블록코딩을 넘어선 새로운 차원의 텍스트코딩 세계에서도 코딩의 재미를 느껴보자.