조회 수 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 쯔꾸르 mv 게임을 apk 파일로 변환했는데... 1 박하맛 2023.01.14 1330
8826 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요... 2 백지씨 2021.12.20 2627
8825 apk포팅 승인 어케 하나요? game메이커xp 2021.11.29 1257
8824 Yanfly님의 Action Sequence Pack 질문드립니다 Neuromancer 2021.07.15 1541
8823 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ? 2 Xatra 2021.07.06 1752
8822 RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ) 2 scribble 2021.01.22 1553
8821 아오오니를 하는 사람인데요 질문 두가지가 있어요 1 오니개무서워 2021.01.16 1634
8820 재밌는게임 land_tnt 2020.12.07 1455
8819 c언어 질문 세종기항19 2020.11.10 1684
8818 코딩 질문 1 세종기항19 2020.11.08 1539
8817 혹시나 물어보는데 드래곤규 2020.11.07 1402
8816 오픈보 게임 더블드래곤 리로디드 얼티네이트에 대해 궁금 이부닝 2020.09.09 1224
8815 상태이상 확률 결정 스트레이보우 2020.09.02 1006
8814 다음 인디사이드 제작대회는 언제쯤 열릴까요? WOONAALAA 2020.05.23 963
8813 xp로 제작된 어플 실행자체가 안된다는 분이 있습니다.(제생각엔 apk로 변환하는 과정에서 버전자체가 낮은 것 같습니다) 1 라엔 2020.05.04 1415
8812 apk 포팅하는데 게임 이름이 필요합니다 뜨는데 1 kashu 2020.05.03 1350
8811 쯔꾸르VX Ace렉먹음 도와주세요... 랖랖 2020.03.22 1780
8810 안녕하세요 1 청월령 2020.02.14 834
8809 포팅 중 '게임 이름이 필요합니다' 오류 2 아이비스 2020.02.11 817
8808 RPGMV 거리 추적 1 정욱 2020.01.19 931
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(김원배) | 사신지(김병국)