메뉴 건너뛰기

창조도시 기록보관소

RPG2K R2k로 퍼즐 만들기

2007.01.23 17:14

새벽도둑 조회 수:626 추천:3

현실에는 다양한 퍼즐이 존재합니다.


 


퍼즐게임은 물론이고 매일 신문에서 보는 크로스워드(십자말풀이), 스도쿠에서 부터,


매니아층을 형성하는 루빅스큐브, 피라밍크스 등등...


 


요즘 그런 퍼즐의 알고리즘을 짜는걸로 나날을 보내고 있습니다.


 


 십자말풀이는...한글입력이 안되고, 주인공의 이름입력처리로 영어를 입력해도 그걸 써먹을 방법이 없군요.


숫자입력의 처리로 숫자 십자말 풀이는 만들 수 있겠지만, 난이도 급하락~


 맵을 두개 만들어서 하나는 문제맵, 하나는 타일맵으로 해서 해당 한글(영어)타일을 밟으면 '첫자초성','첫자중성'...영어의 경우에는 '첫 알파벳' '두번째 알파벳'에 변수를 입력해서 조건분기로  맞추는 노가다를 하면 가능하겠지만.... 노가다가 무섭군요.


 게다가 퍼즐을 자동생성하는 알고리즘은 특성상 불가능하니 이것 역시 몇십개를 노가다로 만들어야...ㅜㅜ


 


 스도쿠는 생각을 안해봐서 잘 모르겠지만, 숫자입력의 처리를 이용하면 될 것 같네요.


 


 피라밍크스는 표면이 삼각형이니 넘어가고...


 


 루빅스큐브 알고리즘 생각에 가장 많은 시간을 보냈습니다.


 일단 루빅스큐브를 하기 위해선 꼭 있어야 하는 기능을 몇개 간추려 보자면


ㄱ)각 면의 상태를 깔끔하게 볼 수 있어야 한다.


ㄴ)정면(F)로 두는 면을 쉽게 변경할 수 있어야 한다.


ㄷ)F/F',R/R',L/L',U/U',D/D',B/B'의 12가지중, 상당수가 입력하기 편하도록 구현되어야 한다.


ㄹ)한쪽면을 돌렸을때, 그것이 깔끔하게 돌아간다는 느낌이 와야 한다.


ㅂ)완성시 이펙트가 있으면 좋다.


ㅅ)자동으로 스크램블되는 기능이 있어야 한다.


 웹게임(?)비슷하게 루빅스큐브를 맞추는 사이트도 있어서 그걸 참고 삼아 고민을 해봤습니다. (만들엄두는...)


 


 일단 회전기호는 키입력의 처리에서 Numpad를 보고 이해가 잘 되는 숫자버튼 및 기본 방향키를 할당하고, (R2k3만 가능) 선택 혹은 취소버튼은 스크램블, 타이머 on/off 등의 메뉴를 넣으면 좋겠군요.


 


 20x15사이즈 안에 세로로 정사각형4개가 들어가니 왼쪽에 전개도형식으로 6면을 넣고 오른쪽에 픽쳐로 할당된 키를 보여주면 플레이가 편하겠죠.


 만약 6면을 모두 보여준다면 보는 시선을 회전하는 버튼이 꼭 필요한건 아니지만, 깔끔하지 않을수도 있습니다. 반대로 일부면 (1면 혹은 3면)만 보여준다면 회전기호까지 버튼을 할당해야해서 조금 복잡해지죠.


 


 스크램블기능은 키입력의 처리를 받는 변수에 난수를 집어넣는걸 몇십번 반복하면 되니 의외로 간단할 것 같더군요. (시도는 안해봐서...)


 


 현재 봉착한문제는 '회전'


 돌아간다는 느낌을 구현하는게 힘들거든요, 실제로 돌리는 것도 그렇고. 돌리는 방향으로 모든 이벤트가 동시에 움직이면 돌아가는 느낌이 날지도 모르겠지만요. 이벤트의 위치설정이나 위치교환을 이용하여 노가다하면 움직일것도 같지만.. 각 면에 존재하는 색깔(이벤트)가 매번 다르니 그걸 어떻게 구현하느냐가 가장 머리아프네요.


 


 ...고3이 이런거 짜고 있으니 공부가 안될만도 합니다(하하;)