조회 수 639 추천 수 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
번호 제목 글쓴이 날짜 조회 수
8468 질문에 뒤져봤는데 없어서 물어봅니다. 2 file 영몽 2016.07.12 636
8467 실행오류인데 해결방법 아시는분 있나요? 1 file Overwatch 2016.07.12 255
8466 네코 플레이어 질문있습니다. 2 프와레 2016.07.10 693
8465 캐릭터칩 문의 드립니다!! 적용 중심축을 수정하고 싶습니다!! 3 file 리베까 2016.07.08 398
8464 질문이 있습니다! MV 관련 오류입니다 2 DD434 2016.07.07 804
8463 초보 이벤트 관련 질문좀 드릴게요. 4 file 민호구 2016.07.06 596
8462 게임 액터 - 배틀러 - 캐릭터의 관계 개념이 잘 잡히지 않습니다 ㅠ 5 huguduk 2016.07.04 614
8461 모바일로 만들때 질문 1 지금그러니 2016.07.04 226
8460 모바일전용 아이템 레벨 영웅 수집형 게임을 만들고싶습니다. 3 켄시안 2016.07.03 631
8459 플러그인에 손을 대보고 싶은데 어떤거에 손을 대야하나요 3 kkjjww0916 2016.07.01 600
8458 게임 제작 초보자입니다. 6 강철보디 2016.06.28 33066
8457 천무님..ㅜㅜ 4 고월 2016.06.28 682
8456 MV 플레이시 오류. 오류문구 : uncaught typeerror: connot read property 'width' of null 9 file 리베까 2016.06.28 3662
» mv에서 교역시스템같은걸 구현하고 싶은데 3 럽앤피 2016.06.27 639
8454 MV제작 화면 크기가;; 2 file Pawn 2016.06.26 797
8453 Fixnum into string 오류는 왜 발생하는건가요? 죠죠의기묘한파문질주 2016.06.24 154
8452 고요한허무의서 ! 1 Wyeheb 2016.06.23 399
8451 입문자입니다. 방향 잡는데 도움이 필요합니다. 7 알알못 2016.06.22 1351
8450 RPG메이커 vx ace dlc를 받았습니다... 그런데 이거 어떻게 적용시키죠? 2 제이군 2016.06.21 1145
8449 쯔꾸르 구동오류 2 레카이 2016.06.19 1705
Board Pagination Prev 1 ... 14 15 16 17 18 19 20 21 22 23 ... 442 Next
/ 442






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

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