조회 수 711 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

대항해시대 같은 교역시스템을 구현해보고 싶은데

 

핵심 key 정도만 알려주시면 감사하겠습니다.

?
  • ?
    럽앤피 2016.06.28 01:48

    질문 올리고 나서 생각해보니 음 .... 상점시스템이 아니라 변수로만 가지고 하면 어떨까라고 생각해봤는데... 복잡할까요?

  • ?
    협객 2016.07.02 00:23
    RPG2000때 변수로도 구현해봤고 RPGXP때 스크립트로 구현해봤습니다. XP로 만들어본 것도 10년 전이라서 지금은 기억이 가물가물하네요. 변수로만 교역시스템 구현하는 것은 그리 복잡하지는 않습니다. 하지만 설계를 어떻게 했느냐에 따라서 나중에 개조하고 싶을 때 난감한 일이 생길 수 있습니다. 제 경우 변수로 한 번 해보고 나서 스크립트를 잡았더니 교역시스템의 설계가 크게 달라졌습니다. 변수로 한 번 만들어보고 나면 설계가 머릿속에 들어가 있기 때문에 스크립트로 만들 때 설계의 어느 부분이 추후에 문제를 일으킬 소지가 있는지 알고 있게 되고 스크립트를 짤 때 미리 감안해서 짜게 됩니다.

    교역시스템을 만들 때는 먼저 끊임없이 질문을 하는 것이 중요합니다.

    제일 먼저 필요한게 뭘까요? 교역을 하려면?

    저는 여기서 답을 배라고 대답합니다. 따라서 조선소부터 만듭니다. 교역품을 담을 변수들의 집합을 배라고 부릅니다. 함선이 한척에 교역품이 20종이라고 하면, 변수는 20개가 필요합니다. 교역품의 물량을 나타내는 변수입니다.

    그 외에도 함선의 적하창고가 꽉 차면 교역품을 담을 수 없어야 하므로, 적재량을 나타내는 변수 하나가 더 필요합니다. 그 외 선원, 함포, 물, 식량 등은 옵션이고요.

    배가 한척만 있으면 재미 없으니 다음 배도 저렇게 만들어 줍니다.

    이제 교역소에서는 아랫분이 쓴 교역품 목록과 가격표가 기본적으로 있어야 하는데, 대항해시대2 팬사이트에 가니, 교역품 가격표와 함선 정보표가 있네요. 이제 이것을 게임 초기에 변수로 설정하되, 앞으로 바뀌지 않는 변수이므로 상수로 씁니다. (기준가이기 때문에 바뀌면 안됩니다.) 다음에는 각 항구의 교역품 물가 변수가 항구마다 있어야 하므로, 항구 수가 50개에 교역품 수가 20개면, 총 1000개의 교역품 물가변수가 필요합니다. 이 변수는 50프로에서 150프로 사이를 오간다고 치겠습니다. 게임 초기에 랜덤 설정해주고, 다음에는 교역소에서 교역품과 금화를 교환을 해주는 교역소 커먼이벤트를 만듭니다. 이제 물건을 사면 해당항구의 해당교역품의 물가를 변경해주고, 함선의 해당 교역품의 물량을 산만큼 올려주고, 소지금을 물가 * 기준가 * 물량만큼 감소시킵니다. 물론 금화가 부족하거나 적하창고가 꽉 찼으면 못 사게 조건분기해야겠죠. 이 때 커먼이벤트가 유의미하려면, 변수 번호의 변수 기능을 사용하여 항구 아이디번호(x=0에서 49까지)와 교역품 아이디번호 (y=0에서 19까지)를 이용하여 1000개의 교역품 물가변수 중 하나를 나타내는 공식을 만듭니다. (z = x + 50y+c일겁니다. 아마 공식이. c는 상수. 교역품 변수가 몇번변수부터 시작할지 모르니) 이렇게 항구 아이디 번호 + 교역품아이디번호 *50 + c 번호의 변수를 물가로 하여, 항구 기준가에 곱하고 물량만큼 곱하여 금화를 감소시키는 것입니다.

    저도 지금 RPG VX Ace로 대항해시대 같은 게임을 만드는 중인데요. 교역시스템을 만들고 싶으시다면 제가 만들면서 기술을 전수해드리고 싶습니다만, 단지 저는 스크립트로 만들기 때문에 이해는 알아서 하셔야 할 겁니다. 감사합니다.
  • profile
    lklslel 2016.06.28 18:52
    대항해시대는 해당지역에서 물품을 구입하면 점차 오르는

    방식입니다만, 이런 시스템을 사용하시려면 각 지역별로

    각각의 아이템 목록과 가격표가 필요해질 겁니다.

    추가로 더 필요한 것은 한번 구매시 가격의 상승폭에 대한

    공식입니다. 그리고 플레리어블 캐릭터의 운송가능 화물칸?

    혹은 인벤토리의 개념이랄 수 있겠습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
8827 저번 글들과, 이전 글에 대해 묻고 싶습니다. idtptkd 2005.05.17 1314
8826 이전 작가들은 어떻게 되는 건가요? 아렉스 2005.05.17 1091
8825 이전 작가들은 어떻게 되는 건가요? 영원전설 2005.05.18 1152
8824 프루티룹스 질문... 신승일 2005.05.18 1472
8823 창작글만 있는데 감상문 같은 건 쓸수 없나요? 다르칸 2005.05.18 994
8822 창작글만 있는데 감상문 같은 건 쓸수 없나요? 아렉스 2005.05.18 1031
8821 창작글만 있는데 감상문 같은 건 쓸수 없나요? 천무 2005.05.18 820
8820 창작글만 있는데 감상문 같은 건 쓸수 없나요? 『水』신교 2005.05.18 869
8819 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; 밀크마스터 2005.05.18 1166
8818 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; 나랑놀자 2005.05.18 1111
8817 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; 셉티찡 2005.05.18 1170
8816 릴레이 소설 말인데요... 외로운갈매기 2005.05.18 675
8815 이전의 창작글 게시판의 글은 어케되나요? 천무 2005.05.18 471
8814 이전의 창작글 게시판의 글은 어케되나요? Sir_아사히 2005.05.19 563
8813 윈도우 98에서는 rpgxp안돌아가요 ? 바람을 가르는 자 2005.05.19 767
8812 윈도우 98에서는 rpgxp안돌아가요 ? 미칼렌 2005.05.19 927
8811 패치 요청... Norid 2005.05.19 454
8810 rpg만들기 2000에서 신규프로젝트가 만들어지지 않아요;; black-angel 2005.05.19 1147
8809 [RPG XP] 게임 테스트 오류. 살려주세요// Norid 2005.05.19 939
8808 릴레이소설 사래신장전 완결했는데요.. 적랑 2005.05.20 648
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)