조회 수 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
번호 제목 글쓴이 날짜 조회 수
388 제가 만든 게임을 앱 스토어에 올리려 하는데요. 2 RPG란무엇인가? 2016.06.12 739
387 알만툴 초보자, MV를 이용해 실시간 전투를 구현하려면? 5 참몰랑 2016.06.13 3930
386 MV에도 특정색으로 투명으로 바꾸는 기능이 있나요? 6 럽앤피 2016.06.14 1320
385 카운터공격을 passive로 구현하고 싶습니다. 1 정의오타쿠 2016.06.15 350
384 영웅전설 제작툴이 궁금합니다. 6 zmgma 2016.06.16 1295
383 이번에 MV를 구매하려고 하는데, 궁금한 점이 있습니다. 3 Nile 2016.06.17 633
382 님들 탈론Talon 2016.06.17 180
381 저기 광고도 되는데 구글 리더보드 같은건 활용못하나요? 2 별광 2016.06.18 603
380 쯔꾸르 구동오류 2 레카이 2016.06.19 1709
379 RPG메이커 vx ace dlc를 받았습니다... 그런데 이거 어떻게 적용시키죠? 2 제이군 2016.06.21 1166
378 입문자입니다. 방향 잡는데 도움이 필요합니다. 7 알알못 2016.06.22 1351
377 고요한허무의서 ! 1 Wyeheb 2016.06.23 399
376 Fixnum into string 오류는 왜 발생하는건가요? 죠죠의기묘한파문질주 2016.06.24 154
375 MV제작 화면 크기가;; 2 file Pawn 2016.06.26 798
» mv에서 교역시스템같은걸 구현하고 싶은데 3 럽앤피 2016.06.27 639
373 MV 플레이시 오류. 오류문구 : uncaught typeerror: connot read property 'width' of null 9 file 리베까 2016.06.28 3702
372 천무님..ㅜㅜ 4 고월 2016.06.28 682
371 게임 제작 초보자입니다. 6 강철보디 2016.06.28 33076
370 플러그인에 손을 대보고 싶은데 어떤거에 손을 대야하나요 3 kkjjww0916 2016.07.01 601
369 모바일전용 아이템 레벨 영웅 수집형 게임을 만들고싶습니다. 3 켄시안 2016.07.03 631
Board Pagination Prev 1 ... 418 419 420 421 422 423 424 425 426 427 ... 442 Next
/ 442






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

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