Pygame – TexasHoldem 만들기 – 기초학습

This entry is part 1 of 3 in the series Texas Holdem Pocker

 

 

 

Python 카테고리에서 첫 번째로 작성할 부분은 pygame 으로 Texas Holdem Pocker 게임을 만들어 본 과정이다. 작년 이 맘 때쯤 배팅이 없이 단순히 패를 돌리고 결과만 확인하는 싱글 플레이 용 버전을 만들었고, 최근 2주간 해당 버전의 패를 비교하는 로직과 일부 클래스들을 가져오고, Client/Server 통신 및 pygame 으로 각 Client 별로 Drawing 하는 부분과 배팅 로직을 추가하는 작업을 엄청난 삽질 끝에 간신히 완성하게 되었다. 만들다 보니 처음 세웠던 거창하고 훌륭한 프로그램은 사라져 버린거 같고, 겨우 겨우 생각한 기능을 구현하는데 만족하는 수준인거 같아 부끄럽다. 더 좋은 아이디어와 조언을 해주실 분들을 기다리며 해당 시리즈를 연재해 보고자 한다.

첫 번째 단계로 Pygame 을 만드려면 기본적인 부분을 공부를 해야 한다. 작년에 만들 때는 Sprite 등으로 멋도 모르고 만들었는데 (다음 포스트에 공개 합니다.) 이번에는 유투브 비디오를 보고 학습한 부분이 도움이 많이 되어서 공유하고자 한다.

체계적으로 Pygame 을 일인칭 슈팅게임으로 소개해 주는 유투버가 있어서 소개한다.
“Tech with Tim” 이라는 채널의 유투버인데 내가 본 것은,

1. <Pygame Programming Tutorial #1 ~ #10>
2. <Python Online-Game Tutorial #1 ~ #9>

이다.

1. Pygame Programming Tutorial : 웹 페이지 주소 => https://techwithtim.net/tutorials/game-development-with-python/pygame-tutorial/

– 일인칭 캐릭터를 Frame 단위 이미지들로 움직이게 만들고, 왼쪽/오른쪽으로 이동하며 점프할 때의 2차 방정식으로 튀어오르는 느낌이 나게 하는 방법, 미사일을 발사 시키고 발사 하는 방향으로 날아가게 하기. 적을 등장시키고 Bounding Box 를 만들어 이를 Collision 시키기 등등 알아두면 꽤나 도움이 되는 내용들을 차례차례 직접 코딩하면서 하나씩 알려주어서 많은 도움이 되었다.

 

2. Python Online-Game Tutorial : 웹페이지 주소 => https://techwithtim.net/tutorials/python-online-game-tutorial/

– Client/Server Socket 통신을 통해서 2인 플레이를 서버 대 클라이언트 통신으로 동기화 하는 방법을 쉽게 알려준다. 차근차근 서버단과 클라이언트 단의 네트워킹과 메시지 전달과 Drawing 방법에 대해서 쉽게 알려주어 큰 도움이 되었다.  메시지를 하나하나 보내는 것이 아닌 Pickle 을 통해서 Serialization 해서 보내는 방법에 대해서도 알려준다. 후반부에서는 가위, 바위, 보 게임을 통해서 Client 가 서버에 접속하는 단계부터 다른 유저를 기다리는 상황, 다른 사람의 패를 보지 못하다가 둘 다 결정을 한 뒤에 승자를 결정한 후에 승리/패배 결과를 받는 방식 등 멀티 플레이에 필수적인 부분들을 알려주어서 좋았다.

Series NavigationPygame – TexasHoldem 만들기 – 싱글 플레이 Version >>

Leave a Comment