메뉴 건너뛰기

여러가지 소식을 알리는 곳


                                                                                                                                                                                      제 2 호 

사나이의 길, 개발 방향 선회

 

기존의 개발 중인 사나이의 길.
상대의 기술을 보고 배운다는 시스템은 상당히 괜찮았지만 만들면서도 느끼는 것은 '재미가 없다!'.
이유는 단순한 게임 진행에 전투는 몇번의 엔터 클릭으로 이루어지는 커맨드 전투 시스템이기 때문.



고민 끝에 과거에 문D라이브 강의를 하면서 만들던 더블 드래곤 식 전투 시스템을 도입,
전투는 액션으로 가기로 했다.
여전히 상대방의 기술을 보고 따라하는 시스템은 건재.
단, 그래픽 제작에 들일 시간이 없기에 그래픽의 훌륭함은 기대할 수 없을 것 같다.
누군가 지원해 주면 좋은 결과물이 나올지도?


흥크립트, 다양한 활용법

지금 소개하는 기능은 흥크립트 2008년 5월 22일 이후 버전에서만 사용할 수 있다.
아직 이 버전은 공개한 적이 없기에 가진 분들은 없을 거라 생각한다.

흥크립트는 주로 게임의 대사처리나 이벤트 처리용으로 사용되어 왔다.
하지만 활용하기에 따라 범용적으로 모든 외부 파일을 대신할 수도 있다.
아래를 보자.

<Enemy.txt의 일부>

^2
{이름} "깡패"
{별명} "동네"
[얼굴] -1
[전투력] 10
[명성] 1
[기술1] 101
@끝

^3
{이름} "깡패"
{별명} "뒷골목"
[얼굴] -1
[전투력] 12
[명성] 2
[기술1] 101
@끝


그리고 아래는 저 데이터를 받아들이는 코드이다.


//적 데이터 읽기
m_script->Load("Enemy");
for(int i=1; i<=14; ++i)
{
      //스킬 초기화
      for(int j=1; j<=10; ++j)
         m_valuemap[HASH(StrAdd("기술%d", j))] = -1;

      //기본 정보
      m_script->SetPage(i);
      while(m_script->Script());
      m_state[i] = new CState(m_textmap[HASH("이름")], m_textmap[HASH("별명")],
                              m_valuemap[HASH("얼굴")],  m_valuemap[HASH("전투력")],  m_valuemap[HASH("명성")]);

      //보유 스킬
      for(int j=1; j<=10; ++j)
      {
            int skill_code = m_valuemap[HASH(StrAdd("기술%d", j))];
            if(skill_code < 0)break;

            int skill_id = skill_code / 100;
            int skill_lv = skill_code % 100;
            m_state[i]->AddSkill(skill_data[skill_id], skill_lv);
      }
}
delete m_script;

간단히 설명하며 페이지(^)별로 읽으면서 그 값을 게임 내부의 적 데이터 영역에 집어 넣는 것이다.
스크립트와 메인 프로그램이 변수맵을 공유하기 때문에 가능한 일이다.
변수 이름은 자유롭게 설정할 수 있기 때문에 문자형+숫자형의 데이터를 마음껏 섞어서 어떤 형태의 데이터도 읽을 수 있다.
(단, 소수는 지원하지 않으므로 일정 자릿수를 곱한후 나누는 식으로 사용해야 한다.)

게다가 스크립트는 동일한 방식으로 암호화가 가능하기 때문에 모든 데이터의 암호화는 보장이 된다.


노련한 제작자의 푸념

필자의 게임 제작 경력을 보면 과거에는 1년에 2,3작품을 만들었던 것에 비해
요즘은 1년 동안 만든 것이 없고, 만들다가 중지 상태인 것들이 하나 둘이 아니다.
물론 시간이 없고 게으른 것도 원인일 수 있지만 가장 문제는 높아진 눈이다.
중간 쯤 만들다 보면 이정도 퀄러티로는 안 된다는 생각이나
코드 구조가 깔끔하거나 아름답지 못하다고 다시 다 뜯어고치만 할 뿐 진전이 안 된다.

초보 시절에는 엉망진창으로 만들어도 발상을 자유롭게 표현했는데
노련해지면 위험 요소를 너무 잘 알고 눈이 높아져서 도전하기를 주저하게 된다.

과거에 히트작을 꽤 만든 게임 제작자들이 그 후로 제작을 그만두고 잊혀지는 것도 그런 이유가 아닐까 싶다.

==================================================================================================

다른 창작자 분들도 게임 제작 상황이나 스샷을
kfgenius@naver.com으로 보내주시면 다음 호에 반영하겠습니다.

===================================================================================================

광고

똥똥배는 언제든 게임제작을 도와줄 인재를 찾고 있습니다.
뼈빠지게 이용되다가 걸레같이 버려지실 분을 구합니다.
실력은 상관없고 열정을 중요시 합니다.
바빠서 고양이손이라도 필요로 하는 상황이니 관심 있으신 분은
kfgenius@naver.com으로 메일 보내 주세요.

조회 수 :
3654
등록일 :
2008.08.31
21:36:13 (*.193.78.247)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=news&document_srl=233627

장펭돌

2008.09.01
05:56:28
(*.49.200.231)
뼈빠지게 이용되다가 걸레같이 버려지실 분을 구합니다.
이라는 표현때문에 사람들이 지원하지 않는게 아닐까요..

라컨

2008.09.01
09:16:58
(*.138.44.94)

장펭돌님 캐공감 글고 무보수로는 좀 힘들죠

똥똥배

2008.09.01
18:30:27
(*.239.144.2)
무보수로는 어렵다라...
솔직히 어이없는 말씀이시군요.
아마추어의 뜻이 무엇입니까?
보수를 받는 것은 프로입니다.

그런 사고를 가진 사람이라면 제 쪽에서 거절입니다.

장펭돌

2008.09.01
20:56:28
(*.49.200.231)

저도 똥똥배님 말씀에 동감, 저는 무보수냐 아니냐의 의미로 얘기한것이 아닙니다.

그냥 같은말이라도 표현의 문제라는것 ㅋㅋㅋ

참고로 저 과거에 채색도 아무런 대가를 바라지 않고 시작했다는건 알아주시길 ㅠㅠㅠ ㅋㅋㅋㅋ

라컨

2008.09.01
21:10:47
(*.138.44.94)

제가 말을 못한건 인정하지만 구인모집글의 표현이 부적절하다고 생각되어 썼던글입니다;;

똥똥배

2008.09.01
21:44:09
(*.239.144.2)

저도 감정이 실려 좀 심하게 말씀드려 죄송합니다.
라컨님께 감정있는 게 아니고 요즘 아마추어 게임제작계에 대한 감정입니다.

장펭돌

2008.09.01
22:59:10
(*.49.200.231)

갑자기 훈훈하게 마무리... 나때문ㅇ ㅣ죠? 땡큐하셈

장펭돌

2008.09.02
06:58:42
(*.49.200.231)

욕처럼 보이는걸 노린거지 싶습새야

폴랑

2008.09.02
03:27:16
(*.236.233.212)

그건좀 아닌듯 싶습새야

흑곰

2008.09.03
20:43:10
(*.146.136.224)

확실히 ' 뼈빠지게 이용되다가 걸레같이 버려지실 분을 구합니다'
라는 표현은 오히려 참여의지를 없애는 역효과인듯 합니다.

아마추어인 이상 돈을 받는것은 무리지만 추상적인 의미의 보수라도 받아야되는 것이죠.
이를테면 보람같은것 말입니다.

그러니까 '무無보수'일수는 있어도 '무無보람'으로 만드는 메시지는 띄우지 않았으면 해요.

흑곰

2008.09.03
20:52:50
(*.146.136.224)

같은 말을 해도 단어선택이 중요하다는 걸 느끼는 요즘입니다.

어쨋건 이번 호도 재밌게 봤고, 3호를 기다려야겠군요.

List of Articles