푸른 신비한 빌딩의 건설

7월 햇살이 쨍쨍하고 무더운 아침이었다. 나는 Outlook을 열고 천천히 굴러오는 정보를 보았다.회의, 회의, 회의...부탁이 하나 더 있습니다!나의 동료 크리스 노린(Chris Noring)은 나에게 몇 달 전에 시작된 혁신 코드 도전 프로젝트에 관한 소식을 보냈다.개발자를 유치하고 Microsoft Learn에 대한 인식을 높이기 위한 역량 동물 테스트를 포함한다. Microsoft Learn은 교육 모듈 라이브러리로 개발자가 Microsoft의 클라우드 제품인 Azure를 이해하도록 도와준다.
분명히 동력동물 테스트가 인기가 많아서 개발자를 유치하기 위한 새롭고 멋진 프로젝트를 찾고 있다.크리스는 "그들은 흥미로운 행사를 만들고 있다. 내용이 눈에 띄고 도전이 재미있다."라고 썼다.궁금해서 구글 toreveal the date of Google I/O가 만든 수수께끼가 떠올랐다.우리는 개발자를 위해 온라인 수수께끼를 만들 수 있습니까?그들은 좋아합니까?얘가 뭘 닮았어요?
앞으로 몇 주 동안 게임 개발 학위를 가진 Chris와 저는 우리가 만들 수 있는 프로젝트 유형에 대해 생각하기 시작했습니다. 이것은 재미있고 혁신적이며 개발자들이 멋있고 복고적인 방식으로 참여할 수 있습니다.보물찾기?'당신의 모험을 선택하세요'게임 클릭?우리는 중학교 때 했던 구식 게임Raaka-Tu과 유사한 텍스트 기반 게임을 개발하기로 했다.전제는 낡은 집을 한가로이 거닐며 물건을 주워 어려운 문제를 해결하는 것이다.첫 번째 원형은 하나library I discovered on GitHub와 인터넷에서 빌려온 예술품을 사용했다.이렇게 보입니다.

프로젝트의 진전과 할로윈이 다가오면서 우리는 이 프로젝트에 참여한 사람들과 프로젝트의 전체적인 분위기에 경미한 변화가 생겼다.이 프로젝트는'Azure 신비의 빌딩'(내가 최근 비틀즈의 가사에 대해 한 일에 대한 긍정)으로 불리며 맞춤형 예술과 새로운 수수께끼를 통합하기 시작했다.

Chris가 다른 프로젝트에 주의를 기울였을 때 새로운 팀원Em Lazer-Walker을 추가했다. 그는 텍스트 기반의 게임과 다른 혁신적인 게임 체험을 하는 전문가이다.Em는 이 프로젝트의 이상적인 팀 구성원이다. 그는 이 프로젝트에 새로운 구조를 도입했다. Twine, "인터랙티브 비선형 이야기를 다루는 소스 도구"이다.나는 내가 영원히 이 프로젝트를 찾지 못할 것이라고 확신하지만, 노력을 통해 이것은 슈퍼 구축 방식this type of game이다. 이것은 이미 조이 쿠인의 우울증 탐색과 같은 다른 유명한 텍스트 게임을 구축하는 데 사용되었다.너는 마땅히 한번 해 보아야 한다!

Twine을 사용하여 텍스트 기반 게임 구축


만약 당신이 감으려고 시도한 적이 없다면, 당신은 download it for free 할 수 있습니다.Twine 2를 사용하면 사용자의 경로를 만들 수 있는 그래픽 인터페이스를 얻을 수 있습니다.예를 들어 한 사람이 한 현관에서 한 현관으로 들어갈 수 있고 몇 개의 방은 현관에서 나눌 수 있다.사용자는 도서관, 살롱, 식당을 거닐거나 침실로 올라갈 수 있다.

기본적인 CSS를 사용하여 응용 프로그램을 설계할 수 있고, 몇 가지 가능한 게임 엔진 중 하나로 논리를 작성할 수 있다.우리는 할로를 사용했는데, 그것은 보기에 이렇다.
(set: $inventory to (a:))
(set: $chest to (a: 'a shield', 'a suit of armor'))
(set: $chestOpen to false)

:: inventory [header]
You are currently carrying: 
<!-- if the inventory contains nothing, show "nothing" -->\
(if: $inventory's length is 0)[\
    nothing.
](else:)[\
    <!-- we iterate over the array and print each item -->\
    (for: each _item, ...$inventory)[\
        _item (unless: $inventory's last is _item)[, ]\
    ].
]
이 예시에서 재고 수조가 초기화되고 상자 속의 항목이 분배된다.그리고 재고를 인쇄합니다.
게임에서 진전을 얻기 위해서는 서술을 작성한 다음 수조, 변수, 매크로를 사용하여 강화해야 합니다.
You find yourself inside a small room. In the corner, you see a sword, and decide to pick it up.

(set: $inventory to it + (a: 'a sword'))\
[[Continue|hallway]]

:: hallway
You see a chest here in the hallway.  \
(unless: $chestOpen)[\
    Do you want to open it?

    {
    (link: 'Open the chest.')[
        <!-- adding to arrays together can also be done with the + operator -->
        (set: $inventory to it + $chest)
        (set: $chestOpen to true)
        (goto: 'chest')
    ]
    }
](else:)[\
    It's open, and there's nothing inside.
]\

[[Move on.|dart trap]]

위의 예시에서 항목을 선택하고 작업을 수행할 수 있는 공간을 탐색합니다. 예를 들어 상자를 열어 내용을 보는 것입니다.
트윈을 사용함으로써 우리는 소름 끼치는 신비한 저택 체험을 만들었다. 사람들은 모든 방에서 문제를 해결할 수 있다. 마치 낡은 회전전화에 비밀번호를 입력하여 숨겨진 곳을 열 수 있는 것과 같다.Twine은 전체 게임을 하나의 평면 html 파일로 내보낸 다음 GitHub에 제출하여 Azure Pipelines 획득하여 CI/CD 과정을 완성하고 게임 사이트를 구축할 수 있습니다.

PlayFab 게임 분석


당신은 한때 센세이션을 일으켰던 게임을 썼을지도 모르지만, 사용자와 그들의 경로를 분석하지 않는 한 아무런 이익도 없을 것이다.우리는 다행히도 마이크로소프트가 가지고 있는 PlayFab라는 게임 플랫폼이 있는데, 이것은 강력하고 설정과 관리가 쉬운 게임 PAAS이다.PlayFab은 대형 온라인 멀티플레이어 게임에 확장 가능한 백엔드를 제공하여 배합부터 게임 내 경제부터 사교 기능까지 모든 것을 처리할 수 있다.그것은 신비한 빌딩에 백엔드를 제공했다. 비록 그것은 훨씬 작은 게임이지만, 어떠한 기능도 사용하지 않았다.우리는 단지 그것으로 방문객의 수를 평가하고 유저의 표현에 대한 기본적인 분석 데이터를 수집할 뿐이다.

우리는 매일 몇 명의 사용자와 그들이 세계 어디에서 왔는지 추적하기 위해 기본적인 PlayFab 로그인을 사용한다.우리는 또한 실시간PlayStream events API을 사용하여 게이머들이 언제 수수께끼를 풀었는지 기록한다. 그러면 사람들이 게임에 얼마나 많은 시간을 들였는지, 얼마나 많은 게이머들이 그것을 이겼는지, 그리고 어떤 수수께끼가 사람들을 괴롭혔는지 더욱 잘 알 수 있다.PlayFab을 Twine 게임에 통합하는 데 몇 분밖에 걸리지 않습니다!

감히 놀아라!


당신은 하늘색 신비한 빌딩의 계약을 원합니까?수수께끼를 풀고 방에서 열쇠 8개를 수집한 후 다락방에 올라가 상품을 받습니다.그리고 트위터에 당신의 경험을 공유하고 정보를 전파하세요!
Click here to enter the Mystery Mansion!

좋은 웹페이지 즐겨찾기