본문 바로가기
project

CHAN's TETRIS

by 찬이 2009. 9. 22.

1. 개발기간

1996. 11.27 ~ 1997. 01. 27


2. 개발환경

Turbo C v2.0 for DOS
MS-DOS 4.22
 

3. 작품 개요

도스용 테스리스 게임으로, 1인용은 물론 2인용까지 가능한 대결형 테트리스이다. 


4. 개발동기 및 개발 목적

내가 최초로 C를 이용해서 만든 작품이다. C를 공부하긴 해도 제대로 된 작품하나 없었던 중, 책 한권 없이 혼자서 알고리즘을 구상하고 디자인해나가며 만들었기에 무척이나 애착이 간다. 하지만 최초 작품이다보니 테트리스의 모양만 어느 정도 흉내냈을 뿐, 완벽한 모습은 아니라는 게 흠이다. 다음에 나올 블럭의 모습이라든지 혹은 속도 증가 등에 대한 기능이 미흡하다.


5. S/W, 시스템(H/W) 구성 및 사용 환경
MS-DOS 혹은 Window 95에서 동작가능하다. NT 계열에서는 실행이 되지 않거나 에러를 유발할 수 있다. 


6. 개발 단계

텍스트 테트리스 
테트리스의 알고리즘에 대해서 전혀 아는 바가 없었던 터라, 기본적인 동작을 구현하기 위해서 0, 1 등의 숫자로 출력되는 테트리스를 작성했다. 그것 또한 완벽하진 않았고, 시간이 흐르면 한줄씩 내려오고, 좌우로 이동가능하며, 블럭변형이 가능한 정도였다.
 
그래픽 테트리스 
EGAVGA.BGI 파일을 이용해서 도스용 그래픽 모드에서 재작성했다. 이 때는 블럭을 그려주는 함수를 만들고, 글자를 출력해주던 부분을 블럭그리는 함수로 바꿔서 사용했기 때문에 별 어려움없이 작업이 가능했다.
이때 한글폰트를 출력하는 방법을 알 수가 없어서 그냥 영문폰트를 사용했다. 나중에 알고보니 통신상에서 쉽게 구할 수 있는 것들이 있었지만, 나는 그럴 처지가 못되어서 어차피 불가능한 상황이었다.
 
2인용 대전 테트리스 
처음엔 똑같은 루틴을 사용해서 화면에 두개의 테트리스를 출력해주고, 각각의 키보드 입력에 따라서 왼쪽 혹은 오른쪽 테트리스를 동작시켰다. 그리고 차후에 한쪽 사용자가 블럭을 없애면 다른 사용자에게 한줄이 생기는 식으로 처리했다. 이것이 거의 마지막 작업이었던 걸로 기억한다. 


7. Version-up 계획 및 결과물 응용 분야

이 소스의 버전업 계획은 사실상 없다. 체계적으로 배운 프로그래머가 작성한 알고리즘은 물론이고, 지금 내가 생각해도 좀 허접한 (정말 초보티 팍팍나는) 알고리즘으로 작성되었기 때문에, 이것은 버전업이라기보다 Rebuild를 해야 할 것이다.
하지만 이 프로그램을 작성하면서 배운 감각 때문에 다른 퍼즐게임들도 혼자 작성할 수 있게 되었기 때문에 소기의 성과는 충분히 달성한 작품이라 생각한다. 


8. 활용 가능한 Item들

이 프로그램을 작성하던 96년도와는 달리, 요즘은 수많은 테트리스 소스와 알고리즘 분석들이 나와 있다. 물론 그때는 아무 책도, 소스도 구할 수 없는 상황이어서 우물안 개구리였기 때문일런지도 모른다. 뿐만 아니라, 요즘은 변형된 형태의 다양한 테트리스 게임들이 온라인 형태로까지 제공되어, 내가 생각했떤 대전테트리스의 진보된 형태를 보이고 있다. 이러한 현재의 각종 테트리스 게임들 모습이 바로 내가 프로그램을 작성할 96년도에 생각할 수 있을 법한 아이템들이지 않나 싶다.

'project' 카테고리의 다른 글

Hi-Living 고객관리  (0) 2009.09.23
Private InfoSafe  (0) 2009.09.23
프로야구 생중계 사이트, "On Air"  (0) 2009.09.23
퍼즐천국 "짬"  (0) 2009.09.23
희야 네모네모 로직  (0) 2009.09.22

댓글