> 위챗 애플릿 > 미니 프로그램 개발 > WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

青灯夜游
풀어 주다: 2020-05-12 10:52:59
앞으로
39618명이 탐색했습니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

인기 게임을 빠르게 개발하는 방법은 무엇인가요? "핫"은 운영에 초점을 맞춘 단어일 수 있습니다. 즉, WeChat의 개방형 기능을 활용하여 소규모 게임을 개발하는 방법에 대한 내용일 수 있습니다. 미니게임 출시 120일째 되는 날, '뜨거운'이라는 단어를 수식할 수 있는 여러 숫자를 비롯해 여러 가지 중요한 소식이 공개됐다. WeChat 미니 게임은 3월 3일에 제3자 개발자에 의해 공식적으로 출시될 수 있었으며 현재 여러 미니 게임의 사용자가 1억 명을 넘었고 Android에는 월 수익이 1,000만 달러를 초과하는 여러 미니 게임이 있습니다. WeChat의 이점을 경험했습니다. 미니게임의 인기.

인기와 관련된 지식 두 가지, 하나는 발전하는 방법? 우선, WeChat의 사회적 관련성을 잘 활용해야 합니다. WeChat의 분산형 시나리오에서는 전통적인 트래픽 분배에 대한 주요 입구가 없기 때문에 소셜 공유와 상호 작용이 매우 중요합니다. 두 번째는 조작의 용이성이다. 게임이 히트작이 된 이후의 데이터를 바탕으로 이 두 가지 결론을 도출할 수 있다고 해서 반드시 이 두 가지 특징이 대중적인 게임의 발전으로 이어지는 것은 아니다.

미니게임이란 무엇인가요?

먼저 미니게임이 무엇인지 소개해드리겠습니다. 미니게임은 구체적으로 위챗 미니게임의 하위 카테고리인 위챗 내에서 쉽게 구하고 전파할 수 있는 게임을 말합니다. 단 한 번의 클릭으로 플레이할 수 있습니다. 뛰어난 사용자 경험을 제공합니다. 개발 관점에서 보면 미니 게임은 Canvas/WebGL + WeChat의 사회적 개방성 기능을 기반으로 한 새로운 플랫폼입니다. 프레임워크는 3개의 레이어로 나누어져 있으며 이는 일반적인 레이어 아키텍처입니다. WeChat에는 미니 게임을 실행하기 위한 미니 게임 런타임이 있으며, OS 자체에는 다양한 유형의 장치가 포함될 수 있습니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

미니게임의 런타임을 확대해보면 많은 디테일을 볼 수 있습니다. 첫 번째는 플랫폼에 독립적인 게임 로직의 개발입니다. 두 번째 부분은 게임 엔진으로, 대부분 엔진 워크플로와 다양한 시스템으로 패키지된 일부 고급 API를 사용합니다. 세 번째 부분은 weapp입니다. 미니 게임의 프레임워크는 webview의 프레임워크를 참조하지만 실제로는 그 하단 레이어가 webview의 간소화되고 최적화된 플랫폼입니다. 미니 게임에는 웹뷰와 관련된 일부 렌더링 API만 있습니다. 핵심. 여기서 weapp-adaper는 소규모 게임의 기능을 webview에 가까운 환경에 적응시켜 더 높은 수준의 게임이나 엔진 자체가 플랫폼에 더 빠르게 통합될 수 있도록 하는 것입니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

WeChat의 런타임이 외부 세계에 노출되는 것은 WeChat API이며 모든 기능은 WeChat API를 통해 출시됩니다. 하단의 가장 기본적인 기능은 렌더링, 즉 Canvas 2d 및 WebGL과 관련이 있습니다. 그 외 위챗 관련 기능 중 일부는 별도이기 때문에 미니게임의 구조는 미니프로그램과 다르지만 사용자 경험에는 큰 차이가 없습니다. 미니게임에는 페이지 개념이 없으며 구현이 정확히 웹뷰가 아닙니다. 불필요한 부분은 제거되었습니다.

일반적으로 미니 게임의 입구는 game.js입니다. 게임은 기본 기능 중 일부를 사용하여 게임의 전체 인터페이스를 그릴 수 있습니다. 구성 파일인 game.json은 주로 미니게임의 가로형 또는 세로형을 구성하는 데 사용됩니다. 미니게임의 전역 객체인 게임 Gobal은 웹뷰의 창 객체와 유사하며 자바스크립트 언어를 지원합니다. 하지만 소규모 게임의 중요한 한계는 코드의 동적 실행이 금지된다는 점입니다. 개발자가 먼저 검토를 위해 제출해야 하며, 검토를 통과한 후에만 일반 사용자에게 출시될 수 있습니다. 또한, 엔진을 포함한 미니게임의 코드 용량은 상대적으로 크기 때문에 미니 프로그램에 비해 크기 제한이 4M로 크다.

Webview 어댑터에 대해 이야기해 보겠습니다. 원래 의도는 게임 개발자가 우리 플랫폼에 더 익숙해질 수 있도록 하는 것이므로 우리 플랫폼은 기능 측면에서 웹뷰에 적응하기 위해 최선을 다할 것입니다. 중요합니다. 예를 들어, 브라우저에서 이미지를 생성하기 위해 이미지 객체를 사용하지만, 미니 게임에서는 wx.createimage를 통해 생성되며 코드에서 간단한 조정이 필요합니다. 예를 들어 Canvas와 Document는 Adapter에서 구현됩니다. 링크에서 코드를 연구할 수 있습니다. 일부 최적화된 버전이 있으며 공식에서는 기본 기능 구축에 더 중점을 둘 것이기 때문에 앞으로도 이 어댑터를 계속 유지하지 않을 것입니다. 모두가 이 플랫폼에 이미 익숙하다면 게임 개발이 더 쉬울 것입니다. 예를 들어, Document 객체는 미니 게임 프레임워크 자체의 일반 객체와 다르지 않습니다. 이는 Adapter에 의해 만들어진 간단한 적응입니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

아래 사진은 미니게임 기능에 대한 개요입니다. 최근 미니게임 기능이 매우 빠르게 반복되어 일부 기능이 아직 나열되지 않았습니다. 예를 들어 최근 출시된 게임서클이나 체력 시스템과 관련된 일부 인터페이스는 아직 목록에 나오지 않았습니다. 먼저 기본 기능을 살펴보겠습니다. 렌더링 부분에서는 WebGL1.0과 Canvas 2D가 모두 지원됩니다. 여기서 Canvas는 브라우저의 표준에 더 가깝습니다. 동시에, 여기서 언급하는 제어 가능한 프레임 속도라는 개념은 미니게임이 백그라운드에서 실행 중이라면 프레임 속도를 최대한 줄일 수 있다는 의미입니다. 멀티미디어 부분에서 미니게임은 아직 미니 프로그램과 같은 실시간 오디오 및 비디오 스트리밍을 구현할 수 없습니다. 이는 향후 추가로 지원할 예정입니다. 네트워크 IO 부분은 애플릿과 유사하며 키보드 열기, 모달 대화 상자 등과 같은 일부 UI 구성 요소도 제공합니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

미니게임의 소셜 오픈 기능이 이제 외부 세계에도 공개되었습니다. 가장 중요한 기능 중 하나는 개발자가 함께 사용할 수 있는 WeChat 친구 관계 시리즈를 제공하는 오픈 도메인이지만 몇 가지 제한 사항도 있습니다. 미니게임의 탈중앙화 특성 때문에 이 부분을 공유하는 것도 매우 중요합니다. 개발자는 이 기능을 어떻게 활용할 것인지 고려해야 합니다. 코드 측면에서는 첫 번째 패키지 제한이 4MB이므로 일부 소규모 게임의 코드 크기는 상대적으로 클 수 있습니다. 또한 최근 코드를 비동기적으로 로드하는 하도급 기능을 계획하고 있지만 이 코드는 우리가 검토해야 합니다.

작은 게임을 개발하는 방법은 무엇인가요?

그렇다면 작은 게임을 개발하는 방법은 무엇일까요? 저는 간단한 게임만 개발해 왔고 게임 개발에 전문적이지 않기 때문에 다음에는 WeChat의 기능을 활용하여 작은 게임을 개발하는 방법에 대해 자세히 소개하겠습니다.

미니게임 엔진을 선택하세요

우선 게임을 개발할 때 엔진을 선택해야 합니다. 또한 엔진 공급업체와도 긴밀한 협력 관계를 맺고 있으며, 미니게임 개발에 사용되는 엔진이 적합해야 합니다. 예를 들어, 맨 아래 수준에서 엔진은 처음에는 기본 게임만 지원할 수 있으며 브라우저의 고유한 기능에 따라 WeChat 미니 게임에 일부 조정이 이루어져야 합니다. Cocos Creator, Egret Engine 및 LayaAir Engine의 세 가지 엔진은 이미 미니 게임 개발을 지원하고 있으며 인터넷에는 WeChat 미니 게임 플랫폼에 게시하는 방법에 대한 해당 기사도 있습니다.

장치/환경 적응

장치 관리의 적응과 관련하여 미니 게임에는 화면 너비와 높이, 장치 픽셀 비율 등을 얻는 기능을 제공하는 API가 있습니다. 미니 게임 개발이 완료된 후 개발자 도구에서 실제 장치 테스트 요청을 시작할 수도 있습니다. WeChat은 개발자가 사전에 문제를 발견할 수 있도록 다양한 장치에 대한 테스트 클러스터를 제공합니다. 기본 라이브러리 자체에서 제공하는 wx API는 지속적인 반복과 업데이트의 과정입니다. 새로운 기능을 사용하는 소규모 게임의 경우 낮은 버전 호환성을 달성해야 합니다. 예를 들어 새로운 API를 지원하지 않는 이전 버전이 서비스 사용자에게 해를 끼치도록 허용된 것이 감지되는 경우입니다. 동시에 특정 하위 버전의 사용자 비율이 작은 경우 관리 배경에서 미니 게임에 필요한 기본 라이브러리의 최소 버전을 직접 구성하는 것을 고려할 수도 있습니다. 사용자가 이 미니 게임에 접속하면 WeChat 클라이언트는 사용자가 이 미니 게임을 사용하기 전에 새 버전의 WeChat으로 업데이트해야 한다는 메시지를 표시합니다. 업데이트하지 않으면 이 사용자를 잃을 수 있습니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

WeChat 로그인

미니 게임의 로그인 프로세스는 미니 프로그램과 유사하며 사용자가 로그인 상태를 맞춤 설정해야 합니다. appsecret/session_key는 결제, 보관 데이터 보고 등 소규모 게임 개발자와 WeChat 플랫폼 간의 신뢰 계약을 나타냅니다. 플랫폼은 access_token을 확인해야 하며, 사용자와 관련된 경우 session_key의 서명을 확인해야 합니다. 요청이 소규모 게임 개발자나 사용자로부터 오는지 확인합니다. access_token은 사용자와 아무 관련이 없는 애플리케이션 상태 access_token입니다. 동시에 access_token이 유효한지 확인하기 위한 중앙 제어 모듈이 있어야 합니다. 로컬 캐시는 사용할 때마다 찾아가지 않고 유효기간 내에 직접 사용합니다. 그렇지 않으면 호출 빈도 제한 오류가 발생하여 서비스에 영향을 줄 수 있습니다. 프론트 엔드 코드에 appsecret/session_key를 넣지 마세요. 그렇지 않으면 악의적으로 사용되어 소규모 게임 개발자나 사용자의 권익을 손상시킬 수 있습니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

Cache

캐시 유형에는 데이터 캐시와 파일 캐시가 포함됩니다. 데이터 캐시는 키-값 저장소로 구조화된 소규모 데이터 저장소에 적합하며 상한은 10MB입니다. 파일 캐싱은 디렉토리/파일의 추가, 삭제, 수정 및 읽기를 포함한 완전한 파일 시스템 API를 제공합니다. 자주 사용하는 네트워크 리소스의 로컬 캐싱에 적합합니다. 상한은 50MB입니다.

브라우저와 달리 WeChat은 기본적인 저장공간 관리 기능만 제공하며, 저장공간이 가득 차면 저장되는 내용과 삭제되는 내용에 대해 어떠한 작업도 수행하지 않습니다. 자주 액세스하는 리소스를 파일 시스템에 저장하고, 파일 저장소가 가득 차면 최근 자주 액세스하지 않은 일부 파일을 정리하는 등 개발자가 스스로 캐싱 및 제거 전략을 유연하게 정의할 수 있습니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

오픈 데이터 도메인

사용자 개인 정보를 보호하면서 미니 게임에 사용자 데이터를 공개하는 데이터 도메인 개발에 대해 이야기해 보겠습니다. 이는 폐쇄적이고 독립적인 JavaScript 범위입니다. 개방형 데이터 도메인은 독립된 디렉터리이며 해당 항목 파일은 index.js입니다. 현재 제한 사항은 2D 렌더링 모드만 지원하고 데이터는 들어갈 수만 있고 나갈 수는 없다는 것입니다. 예를 들어 순위 목록은 사용자가 볼 수 있어야 합니다.

구현을 간략히 살펴보겠습니다. 왼쪽이 메인 도메인입니다. 사용자가 이 데이터를 얻은 후 순위 목록은 실제로 캔버스가 됩니다. 차이점은 캔버스는 데이터를 꺼낼 수 없고, 데이터가 무엇인지 분석할 수 없다는 점입니다. 메인 도메인에는 Canvas가 있습니다. WeChat에서는 상단 화면 Canvas가 화면과 연결되어 있고, 그 뒤에는 오프라인 Canvas가 있어 필요에 따라 사용할 수 있습니다. 한번 데이터를 열면 상단 화면의 Canvas에 있는 데이터를 꺼내거나 다음 Canvas를 꺼낼 수 없으므로 데이터의 보안이 보장됩니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

우리의 데이터는 개발 데이터 영역에 있기 때문에 사용자는 이를 개발할 방법이 없습니다. 따라서 개발자는 개발 중에 필요한 데이터를 당사와 호스팅하고 이를 사용자와 연결해야 합니다. 이러한 방식으로 개발 데이터 영역에서 관련 데이터를 얻을 수 있습니다. 응용 시나리오에는 친구 순위, 그룹 순위, 친구 프롬프트 초과 등이 포함됩니다. 사용자가 입력을 하면 사용자의 모든 작업이 반복되며 사용자의 모든 입력은 화면 위의 Canvas와 화면 밖의 Canvas에서 얻어지며 열려 있는 데이터는 침투하지 않습니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

Share

사용자가 게임에서 높은 점수에 도달하면 친구들과 경쟁할 수 있습니다. 사용자 정의 전달 창에서는 제목과 사진을 사용자 정의할 수 있습니다. 하지만 이제는 사용자를 매우 짜증나게 하는 미니 게임이 많이 있습니다. 게임을 플레이하기 전에 공유해야 하는 설정이 많이 만들어졌습니다. 이것은 모두가 생각해야 할 부분입니다. 사용자 경험에 영향을 주지 않고 미니 게임의 상호 작용을 촉진하는 방법은 다음과 같습니다. 여기서 우리는 적절한 균형점을 찾아야 합니다. 동시에 데이터를 공유하고 미니게임을 이 그룹 채팅과 연결하면 미니게임 플랫폼을 볼 수 있습니다.

WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

Payment

이 미니게임은 가상 결제를 지원하지만 현재는 Android 시스템에서만 사용할 수 있습니다. 그리고 현재 유일한 방법은 화폐 보관입니다. 크게 두 가지 프로세스로 나뉘는데, 하나는 사용자가 게임 화폐를 구매하기 위해 돈을 쓰는 것으로, 이는 게임의 서버 측과는 아무런 관련이 없습니다. 결제를 시작할 때 WeChat 클라이언트는 사용자가 결제를 확인할 수 있도록 비동기식 주문을 생성합니다. 플랫폼은 사용자의 RMB를 해당 게임 통화로 변환하고 이를 사용자의 해당 게임 계정에 저장하는 역할을 담당합니다. 두 번째는 게임 화폐를 사용하여 소품을 구매하는 것입니다. 개발자는 해당 게임 화폐를 차감하고 게임 내 소품을 사용자에게 발행할 수 있습니다. 게임 화폐를 차감하는 과정에는 네트워크 이상이 발생할 경우 정상적인 거래를 보장하기 위한 특정 거래 메커니즘이 필요합니다. 게임 화폐 공제를 위한 인터페이스는 주문 ID 기반 중복 제거를 지원합니다. 즉, 네트워크 시간 초과 및 기타 상황이 발생하는 경우 개발자는 동일한 주문 ID를 사용하여 명확한 응답이 반환될 때까지 공제를 재시도할 수 있습니다.

1WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

성능

소규모 게임에서 흔히 발생하는 성능 문제는 메모리 때문에 발생합니다. 너무 많은 메모리가 점유된 경우 WeChat 클라이언트에 의해 적극적으로 닫힙니다. 따라서 개발자는 사용자 게임 중에 특히 Canvas 및 Image 클래스의 대형 개체를 사용하지 않는 메모리를 즉시 해제해야 합니다. 동시에 wx를 적극적으로 호출할 수 있습니다. .triggerGC는 해당 리소스를 트리거합니다. 게임 로직과 상대적으로 독립적인 작업의 경우 작업자에서 구현하는 것을 고려할 수 있습니다. 미니 게임은 독립적인 작업자 스레드가 js 로직을 실행할 수 있는 기능을 제공합니다.

1WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

버전 업데이트 메커니즘

미니 게임은 핫 스타트와 콜드 스타트로 나눌 수 있습니다. 콜드 스타트는 메모리에 실행 중인 미니 게임 인스턴스가 없을 때 미니 게임을 시작하는 프로세스를 말합니다. start는 실행 중인 미니 게임 인스턴스가 메모리에 여전히 존재하지만 일시적으로 배경으로 전환되는 것을 의미합니다. 이때 사용자는 미니 게임을 다시 전경으로 되돌리는 프로세스를 트리거합니다. 사용자가 시작을 클릭하면 게임이 실행될 때 게임이 로드됩니다. 오른쪽 상단의 메뉴를 클릭하면 버튼이 백그라운드에서 멈춥니다. 일정 시간 내에 다시 시작하면 즉시 복원되며 메모리가 해제됩니다.

미니 게임은 콜드 스타트 ​​중에 미니 게임의 버전을 확인합니다. 새 버전이 있으면 로컬 컴퓨터에 다시 다운로드한 후 다음 콜드 스타트에 최신 버전을 사용할 수 있습니다. 물론 개발자가 업데이트를 강제할지 여부를 결정하고 버전이 사용 가능할 때 최신 버전을 적용할 수 있는 API도 제공합니다.

1WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

운영 및 유지보수

관리측에서는 릴리스, 롤백, 서비스 중단 등의 기능을 제공하므로 개발자가 플랫폼의 기능을 최대한 활용할 수 있습니다. 예를 들어, 백그라운드 작업에서 js는 오류를 보고할 수 있습니다. 스크립트 오류는 주로 작업 중에 포착되지 않은 예외로 인해 발생합니다. 이러한 예외로 인해 사용자 미니 게임 프런트 엔드의 js 로직이 실행을 일시 중단할 수 있습니다. 동시에 플랫폼은 완전한 데이터 분석 서비스도 제공하며 보조자를 사용하여 미니 게임을 통해 데이터 분석을 수행할 수 있습니다.

1WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)

추천: "Mini 프로그램 개발 튜토리얼"

위 내용은 WeChat 미니 프로그램에서 미니 게임을 개발하는 방법은 무엇입니까? (실용 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:jisuapp.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿