OpenDiary

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ OpenDiary ] in KIDS
글 쓴 이(By): zilch (_)
날 짜 (Date): 2006년 2월 12일 일요일 오후 08시 06분 41초
제 목(Title): 주말에 한 일


한 1년 반 전에 시작한 일이 있었는데, Roguelike Game 
(nethack이나 angband 부류) 에 음성 기능을 붙이는 것이다.

왠지 스마트한 사람이 좋아할 것 같은 Roguelike Game! 
나는 골뱅이에 친숙해지기 어려워 제대로 즐긴 적이 
거의 없었다. (*1)

그래서 흥미를 돋울 겸, 영어공부도 할 겸 가지고 있는 TTS의 
기능을 활용하기로 한 것이다. 그러나 TTS 프로그램에서는 API를 
제공하지 않는다. (API를 제공하는 MS의 TTS 개발 패키지는 음성이
별로 좋지 않고, 쓰는 법도 쉽지 않은 것 같았다) 

어떻게 해야 할까?

1년 반 전에 시도한 일은, TTS 프로그램을 미니모드(*2)로 만든 
다음 클립보드에 데이터를 전송하고 TTS 의 Play 버튼이 눌린 
것처럼 메시지를 보내는 것이다. 그렇지만 포커스가 자꾸 TTS 
쪽으로 날아간 뒤 돌아오지 않아서 포기하고 있었는데 엊그제 
다시 돌려 보니 Windows XP에서는 포커스 이동 없이 잘 되지 
않는가! (*3)

윈도우 프로그램에 미숙하여 엄청 삽질한 다음에 결국
어느 정도 제어가능한 API를 만들었다. :)
이를 Angband 최신 버전에 붙여서 음성을 들으며 게임을 할
수 있도록 만들었다. 즉, 화면에 나타나는 해설이 음성으로도
나오는 것이다.

그런데 여기까지 하고 나니까, 뿌듯하긴 한데 정작 게임은
잘 안하게 된다. 게다가 nethack 부류를 많이 안 해봐서
몰랐던 사실인데, 화면에 나오는 메시지는 몇 종류 안 되어서
영어공부에 도움이 별로 안 된다는 것이다.

"You enter a maze of down staircases."
"Pick up 21 Iron Spikes?"
"You are wearing Chain Mail (-2)"

흘러나오는 말은 이런 정도.
그래도 만드는 동안은 재밌었으니까.. 

--
(*1) Roguelike 게임에서는 주인공이 @로 표시된다. 요즘에는
그래픽 타일도 사용할 수 있다.

(*2) 미니모드는 이 회사의 프로그램에서 최상위 모델만 제공한다.

(*3) 지난번에 시도했던 OS는 Windows 98이었다. 아마도 콘솔에서
포커싱하는 방법이 다른 것 같다.

--

TTS: Text-To-Speech
API: Application Programming Interface
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.