【마른 마녀 수수께끼】 채팅봇으로 수수께끼 풀기 게임을 만들어 보았다

소개



수수께끼 풀기 게임을 만들고 싶은 마음이 높아지고, LINE의 Messaging API를 이용하여 제작했습니다
거기에 정보를 쓰면
・제작팀은 2명
・제작 기간은 1개월
・주요 작업 장소는 패밀리

여기서 개발 측에 초점을 맞추고
어떤 단계로 게임이 완성되었는지를 기록합니다.

어떤 게임인가?



LINE을 사용한 수수께끼 풀기 게임입니다.
스마트 폰에서 완결시키는 것은 포기했기 때문에 거의 노트와 펜 필수입니다.
아래 링크에서 무료로 즐길 수 있습니다.

마른 마을과 기억을 잃은 마녀

실제 플레이 화면









게임 제작에 대해



다음과 같이 작성합니다.
  • 어떤 작품을 만들고 싶은지 컨셉을 결정
  • 수수께끼를 제작
  • 수수께끼 풀기에 맞는 게임 흐름 설계
  • 스토리 만들기
  • 스크립트 만들기
  • 2~5번을 납득할 때까지 반복한다
  • 릴리스

  • 1. 어떤 작품을 만들고 싶은지 컨셉을 결정



    우선은, 거친 스토리와, 유저에게 어떤 체험을 시키고 싶은지, 팀으로 인식 맞추었습니다
    이번에는 마녀의 모험을 컨셉으로 꾸며 제작을 시작했습니다.

    컨셉 동영상은 이쪽
    コンセプト動画

    2. 수수께끼를 제작



    여기는 또 다른 장인예의 세계이므로 할애

    3. 수수께끼 풀기에 따른 게임 플로우를 설계



    Google 스프레드시트의 도형 그리기를 활용하여 게임 흐름을 만듭니다.
    수수께끼의 제작 멤버와 함께 도해하면서 형성해 갑니다


    ※재질 흔들림이 포함되므로 일부 발췌

    4. 스토리와 이미지 만들기



    게임플로우와 수수께끼가 어느 정도 굳어지면 스토리의 고기를 넣으
    주인공이 마녀 때문에 2마리 워드가 난무합니다! (즐거운)

    5. 스크립트 작성



    환경으로서는
    · LINE Messaging API
    · Google App Script
    ・Dropbox(이미지 스토리지로 이용)

    LINE Messaging API 설정의 경우,
    다른 글을 쓰는 사람이 있기 때문에 할애

    스크립트는 이런 형태

    샘플
    
    // LINE Developers の Channel Access Tokenを設定
    var channel_access_token = "***********";
    
    // LINEから呼ばれる関数
    function doPost(e) {
      var events = JSON.parse(e.postData.contents).events;
      events.forEach(function(event) {
        if(event.type == "message"){
          lineReply(event);
        }
      });
    }
    
    // LINEへの返信
    function lineReply(e) {
      var repMes = replyMessage(e);
      var postData = {
        "replyToken" : e.replyToken,
        "messages" : repMes
      };
      var options = {
        "method" : "post",
        "headers" : {
          "Content-Type" : "application/json",
          "Authorization" : "Bearer " + channel_access_token
        },
        "payload" : JSON.stringify(postData)
      };
      UrlFetchApp.fetch("https://api.line.me/v2/bot/message/reply", options);
    }
    
    //返信する内容を準備
    function replyMessage(e) {
      switch (e.message.text) {
        case "チズヲミル":
          var repMes=[
            {
              "type" : "text",
              "text":"魔女は地図を取り出した。"
            },
            {
              "type": "template",
              "altText": "地図を表示",
              "template": {
                "type": "buttons",
                "thumbnailImageUrl": "https://dl.dropboxusercontent.com/s/0eyp6h035tnw0an/tizu_v1.jpg",
                "imageAspectRatio": "square",
                "imageSize": "contain",
                "imageBackgroundColor": "#FFFFFF",
                "title": "地図",
                "text": "行きたい場所を選択してください。地図を拡大するには「チズヲカクダイスル」と入力して下さい。",
                "actions": [
                  {
                    "type":"message",
                    "label":"遺跡へ向かう",
                    "text":"イセキヘムカウ"
                  },
                  {
                    "type":"message",
                    "label":"沼へ向かう",
                    "text":"ヌマヘムカウ"
    
                  },
                  {
                    "type":"message",
                    "label":"洞窟へ向かう",
                    "text":"ドウクツヘムカウ"
    
                  },
                  {
                    "type":"message",
                    "label":"塔へ向かう",
                    "text":"トウヘムカウ"
    
                  }
                ]
              }
            }
          ];
          return(repMes)
          break;
    //以下に淡々とスクリプトを記載
    
    
    

    이 때 할 수있는 것을 몰랐기 때문에
    여러 번 LINE Messaging API 레퍼런스에 신세를 졌습니다.
    htps : //에서 ゔぇぺぺrs. 네. 메/엔/도 cs/메사긴 g-아피/레후페렌세/

    6. 2~5번을 납득할 때까지 반복한다



    여기에서 엄선된 세계에 돌입
    지금, 보답하면 35회 정도 반복하고 있었습니다

    7. 출시



    이것으로 완성
    출시 후 사용자의 목소리가 들리면 정말 기쁩니다!

    마지막으로



    이런 멋진 환경을 준비해 주었다
    기업 여러분 정말 감사합니다.

    그리고 모두 수수께끼 풀기 게임을 함께합시다!

    20180820 추가
    좀 더 세세하게 다시 작성했습니다.
    htps : // 코 m / 아세로 p 로즈 c 치온 / ms / d89b51 A7 Ae 7b3f18370

    좋은 웹페이지 즐겨찾기