| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- mister
- ensemble
- steam
- Game Gear
- 새턴
- 티스토리챌린지
- 게임기어
- PC엔진
- PC게임
- Saturn
- appleii
- 3DS
- 게임보이
- GOG
- 닌텐도스위치
- 컨트롤러
- 모빌슈트
- ps4
- snes
- 앙상블
- 건담
- 슈퍼패미컴
- mobilesuit
- fpga
- 메가드라이브
- 슈퍼마리오
- Apple II
- 패미컴
- MSX
- 오블완
- Today
- Total
Just a Blog
Pygame 게임 'Snake Byte Remake' 시험 제작 본문
올해 초 MSX의 BASIC 프로그램이었던 'PUTTY CAMIYON'을 리메이크 해 본다는 생각으로 'Putty Camiyon Remake'를 만들었다.
Pygame으로 만들어 본 'PUTTY CAMIYON' 리메이크
과거 컴퓨터학습 잡지에 실렸던 BASIC 프로그램 '뿌띠 까미용'에 대한 글을 얼마 전 올린 적이 있다. 재미있기도 하지만 OCM 클론에서 이상하게 동작하는 MSX BASIC 프로그램 - 뿌띠 까미용 (PUTTY CAMIYO
wehong.tistory.com
그 후 Apple II 게임인 'Snake Byte'와 비슷한 게임을 만들어 보면 어떨까 하는 생각을 하게 되었고, 긴 시간 동안 조금씩 코드를 덧대어가면서 만들어 보고 있었다. 아주 기본적인 것들만 PoC의 목적으로 만들었는데 대충 기초적인 외형은 갖춘 것 같아서 이번에 개인 GitHub 저장소에 일단 올렸다.
GitHub - wehong/Snake-Byte-Remake: a simple Pygame game that mimic the old Apple II 'Snake Byte' game
a simple Pygame game that mimic the old Apple II 'Snake Byte' game - wehong/Snake-Byte-Remake
github.com

Apple II 게임 'Snake Byte'는 과거 Apple II+ 호환기기를 다루던 시절부터 좋아했던 게임이다. 몇 년 전 Apple IIc 실기를 오랜만에 다시 켰을 때에도 이 게임으로 테스트를 했었다.

이 게임에 대한 애착으로, 과거 Windows용 유사 게임을 간단하게 만든 적도 있다. 당시에는 간단한 도형을 사용했기 때문에 비주얼적 측면에서도 아쉬움이 있었다.

이번에 Pygame 라이브러리의 특징도 알아보고 좀 더 나은 그래픽 처리를 시도해 보려고 다시 만들어 보았다. 조작하는 뱀의 비주얼과 조작감에서 원작의 느낌이 나도록 구성하려고 노력했다. 성능 최적화의 여지가 많을 것 같은데, 일단 2세대 Intel 모바일 프로세서를 사용하는 Linux 설치 맥북에어 2011년형에서도 구동에 문제는 없어 보인다.

당연히 기능에서도 개션의 여지가 많다. 일단 원작의 복수 개 스테이지 진행 방식이 미구현되었고, 스테이지 별로 별도의 지형이 적용되도록 디자인을 변경하는 것이 필요할지도 모르겠다. 일단 Pygame으로 이런 게임을 이 정도 구현할 수 있다는 개념을 갖고 싶어서 이런 것들까지 고려하지 않고 만들어 보았다.
이 게임을 만들면서 Pygame을 이용한 프로그래밍에 좀 더 유연한 프로그래밍의 구조나 디자인 패턴의 사용이 필요하다는 생각을 했다. 예를 들어 현재 이 프로그램에서 뱀 캐릭터의 빠르기 변화를 화면 갱신 주기의 변경으로 표현했는데, 화면 갱신 주기와 다른 별도의 빠르기 컨트롤러/타이머가 필요해 보이며 이를 Pygame 구조에 녹여낼 방법을 아직 고안해 내지 못했다. 그동안 보았던 Pygame 관련 책들(#1, #2, #3, #4)에도 이런 부분에 대한 설명은 없는 것으로 보인다.