Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

青灯夜游
Freigeben: 2020-05-12 10:52:59
nach vorne
39544 Leute haben es durchsucht

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Wie entwickelt man schnell ein beliebtes Minispiel? „Heiß“ ist ein Wort, das sich auf den Betrieb konzentriert. Der heute vorgestellte Inhalt ist möglicherweise eher technischer Natur, das heißt, wie man die offenen Funktionen von WeChat nutzt, um ein kleines Spiel zu entwickeln. Am 120. Tag seit dem Start des Minispiels wurden mehrere wichtige Neuigkeiten veröffentlicht, darunter mehrere Zahlen, mit denen sich das Wort „heiß“ beschreiben lässt. WeChat-Minispiele durften am 3. März offiziell von Drittentwicklern veröffentlicht werden, und mittlerweile haben mehrere Minispiele über 100 Millionen Nutzer, und es gibt mehrere Minispiele auf Android mit einem monatlichen Umsatz von über 10 Millionen erlebte die Vorteile von WeChat Die Beliebtheit von Minispielen.

Zwei Erkenntnisse im Zusammenhang mit Popularität, eines davon ist, wie man sich entwickelt? Erstens müssen wir die soziale Relevanz von WeChat gut nutzen. Im dezentralen Szenario von WeChat sind soziales Teilen und Interaktion sehr wichtig, da es keinen Haupteingang für die traditionelle Verkehrsverteilung gibt. Das zweite ist die einfache Bedienung, die wir aus den Daten ziehen können, nachdem das Spiel ein Hit-Spiel geworden ist. Dies bedeutet nicht, dass diese beiden Eigenschaften definitiv zur Entwicklung eines beliebten Spiels führen werden.

Was sind Minispiele?

Zunächst möchte ich Ihnen vorstellen, was Minispiele sind: Minispiele beziehen sich speziell auf WeChat-Minispiele, die eine Unterkategorie von Miniprogrammen darstellen und leicht erhältlich und verbreitet werden können innerhalb von WeChat. Spielen Sie mit einer hervorragenden Benutzererfahrung. Aus entwicklungstechnischer Sicht ist Mini Games eine neue Plattform, die auf den sozialen Offenheitsfunktionen von Canvas/WebGL + WeChat basiert. Das Framework ist in drei Schichten unterteilt, was einer typischen Schichtarchitektur entspricht. In WeChat gibt es eine Minispiel-Laufzeitumgebung zum Ausführen von Minispielen, und das Betriebssystem selbst kann verschiedene Gerätetypen umfassen.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Wenn man die Laufzeit des Minispiels vergrößert, erkennt man viele Details. Das erste ist die Spiellogik, also die Entwicklung der Spiellogik Das ist unabhängig von der Plattform. Der zweite Teil ist die Spiel-Engine. Die meisten davon werden einige Engine-Workflows und einige High-Level-APIs verwenden, die von verschiedenen Systemen gepackt werden. Der dritte Teil ist weapp. Das Framework des Minispiels bezieht sich auf das Framework von Webview, aber tatsächlich ist seine unterste Ebene nicht Webview, sondern eine optimierte und optimierte Plattform für Webview. Das Minispiel verfügt nur über einige Rendering-APIs der Kern. Der Weapp-Adapter besteht hier darin, die Fähigkeiten kleiner Spiele an eine Umgebung anzupassen, die näher an Webview liegt, sodass höherstufige Spiele oder die Engine selbst schneller in die Plattform integriert werden können.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Die Laufzeit von WeChat stellt die WeChat-API zur Verfügung, und alle Funktionen werden über die WeChat-API freigegeben. Die grundlegendsten Funktionen unten beziehen sich auf das Rendern, nämlich Canvas 2d und WebGL. Einige andere WeChat-bezogene Funktionen sind separat, daher unterscheidet sich die Struktur von Minispielen von der von Miniprogrammen, es gibt jedoch keinen großen Unterschied in der Benutzererfahrung. Minispiele haben kein Seitenkonzept und ihre Implementierung ist nicht genau die Webansicht. Die unnötigen Teile wurden entfernt.

Im Allgemeinen ist der Eingang zum Minispiel game.js. Das Spiel kann einige der zugrunde liegenden Funktionen verwenden, um die gesamte Benutzeroberfläche des Spiels zu zeichnen. Die Konfigurationsdatei game.json wird hauptsächlich zum Konfigurieren verwendet, ob das Minispiel horizontal oder vertikal ist. Das globale Objekt des Minispiels, Game Gobal, ähnelt dem Fensterobjekt in der Webansicht und unterstützt die Javascript-Sprache. Eine wichtige Einschränkung von Minispielen besteht jedoch darin, dass die dynamische Ausführung von Code zunächst zur Überprüfung eingereicht werden muss und erst nach bestandener Überprüfung für normale Benutzer freigegeben werden kann. Darüber hinaus ist das Codevolumen von Minispielen einschließlich Engines relativ groß, sodass die Größenbeschränkung größer ist als die von Miniprogrammen. Die Grenzgröße des ersten Pakets beträgt 4 MB.

Lassen Sie uns über den Webview-Adapter sprechen. Seine ursprüngliche Absicht besteht darin, Spieleentwicklern zu ermöglichen, sich besser mit unserer Plattform vertraut zu machen, damit sie sich in Bezug auf die Funktionen so weit wie möglich an die Webansicht anpassen kann Auch die Anpassung ist eine sehr einfache Ebene. Zum Beispiel verwenden wir das Bildobjekt, um ein Bild im Browser zu erstellen, aber im Minispiel wird es über wx.createimage erstellt. Es muss eine einfache Anpassung im Code vorgenommen werden. Beispielsweise sind Canvas und Document im Adapter implementiert. Sie können den Code im Link studieren. Es gibt einige optimierte Versionen, und der Beamte wird diesen Adapter in Zukunft nicht weiter pflegen, da wir uns mehr auf die Konstruktion der zugrunde liegenden Funktionen konzentrieren werden. Wenn jeder bereits mit dieser Plattform vertraut ist, wird es einfacher, Spiele zu entwickeln. Das Document-Objekt unterscheidet sich beispielsweise nicht von einem gewöhnlichen Objekt im Minispiel-Framework selbst. Es handelt sich um eine einfache Anpassung, die vom Adapter vorgenommen wird.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Das Bild unten ist eine Übersicht über die Minispielfunktionen. Die Iteration der Minispielfunktionen erfolgte in letzter Zeit relativ schnell und einige Funktionen wurden noch nicht aufgeführt. Beispielsweise wurden einige kürzlich veröffentlichte Schnittstellen im Zusammenhang mit dem Spielkreis und dem Gesundheitssystem noch nicht aufgeführt. Schauen wir uns zunächst die grundlegenden Funktionen an. Im Rendering-Teil werden sowohl WebGL1.0 als auch Canvas 2D unterstützt. Gleichzeitig bedeutet das hier erwähnte Konzept der steuerbaren Bildrate, dass die Bildrate so weit wie möglich reduziert werden kann, wenn das Minispiel im Hintergrund läuft. Im Multimedia-Teil können Minispiele noch kein Echtzeit-Audio- und Video-Streaming wie Miniprogramme umsetzen, was wir in Zukunft weiter unterstützen werden. Der Netzwerk-E/A-Teil ähnelt dem Applet. Wir stellen auch einige UI-Komponenten bereit, z. B. das Hochziehen der Tastatur, modale Dialogfelder usw.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Die sozialen Öffnungsmöglichkeiten von Minispielen stehen jetzt der Außenwelt offen. Eine der wichtigsten Funktionen ist die offene Domäne, die die WeChat-Freundschaftsbeziehungsreihe für Entwickler zur gemeinsamen Nutzung öffnet, es gibt jedoch auch einige Einschränkungen. Aufgrund der dezentralen Natur von Minispielen ist es auch sehr wichtig, diesen Teil zu teilen. Entwickler müssen darüber nachdenken, wie sie diese Fähigkeit nutzen können. In Bezug auf den Code kann die Codegröße einiger kleiner Spiele relativ groß sein, da das erste Paket auf 4 MB begrenzt ist. Wir planen außerdem vor Kurzem die Möglichkeit einer Unterauftragsvergabe zum asynchronen Laden von Code, dieser Code muss jedoch von uns überprüft werden.

Wie entwickelt man ein kleines Spiel?

Wie entwickelt man also ein kleines Spiel? Da ich selbst nur einige einfache Spiele entwickelt habe und kein Profi in der Spieleentwicklung bin, werde ich als nächstes mehr darüber vorstellen, wie man die Funktionen von WeChat zur Entwicklung kleiner Spiele nutzt.

Wählen Sie eine Minispiel-Engine

Zunächst müssen Sie bei der Entwicklung eines Spiels eine Engine auswählen. Wir arbeiten auch eng mit den Engine-Anbietern zusammen Die zur Entwicklung von Minispielen verwendeten Geräte müssen geeignet sein. Beispielsweise unterstützt die Engine auf der untersten Ebene möglicherweise zunächst nur native Spiele, und an den WeChat-Minispielen müssen einige Anpassungen vorgenommen werden, die auf den einzigartigen Funktionen des Browsers basieren. Drei Engines, Cocos Creator, Egret Engine und LayaAir Engine, unterstützen bereits die Entwicklung von Minispielen. Im Internet gibt es auch entsprechende Artikel zur Veröffentlichung auf der WeChat-Minispielplattform.

Geräte-/Umgebungsanpassung

Was die Anpassung der Geräteverwaltung betrifft, wird das Minispiel über eine API verfügen, um die Möglichkeit zu bieten, die Bildschirmbreite und -höhe sowie das Gerät zu ermitteln Pixelverhältnis usw. Nachdem die Entwicklung des Minispiels abgeschlossen ist, können Sie in den Entwicklertools auch eine Anfrage für Tests auf realen Geräten stellen. WeChat stellt Testcluster für verschiedene Geräte bereit, um Entwicklern dabei zu helfen, Probleme im Voraus zu erkennen. Die von der Basisbibliothek selbst bereitgestellte wx-API ist ein Prozess der kontinuierlichen Iteration und Aktualisierung. Für kleine Spiele, die neue Funktionen nutzen, muss eine geringe Versionskompatibilität erreicht werden. Wenn beispielsweise festgestellt wird, dass eine ältere Version, die eine neue API nicht unterstützt, Dienstnutzern Schaden zufügen darf. Wenn eine bestimmte niedrige Version einen kleinen Benutzeranteil hat, können Sie gleichzeitig in Betracht ziehen, die für das Minispiel erforderliche Mindestversion der Basisbibliothek direkt im Verwaltungshintergrund zu konfigurieren. Dies bedeutet natürlich auch, dass diese Gruppe von Benutzern vorhanden ist Wenn Benutzer mit diesem Minispiel in Kontakt kommen, wird im WeChat-Client eine Eingabeaufforderung angezeigt, in der Benutzer aufgefordert werden, auf eine neue Version von WeChat zu aktualisieren, bevor sie dieses Minispiel verwenden können. Wenn sie nicht aktualisieren, verlieren sie möglicherweise diesen Benutzer.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

WeChat-Anmeldung

Der Anmeldevorgang des Minispiels ähnelt dem des Miniprogramms und erfordert den Benutzer um den Anmeldestatus anzupassen. appsecret/session_key stellt eine Vertrauensvereinbarung zwischen kleinen Spieleentwicklern und der WeChat-Plattform dar, z. B. für die Zahlung und Meldung von Verwahrungsdaten. Die Plattform muss das access_token überprüfen, und wenn es sich auf den Benutzer bezieht, muss die Signatur des session_key überprüft werden um sicherzustellen, dass die Anfrage von Entwicklern oder Benutzern kleiner Spiele stammt. access_token ist ein access_token, das nichts mit dem Benutzer zu tun hat. Es muss sichergestellt werden, dass eine Kopie global verwaltet wird. Es sollte ein zentrales Steuermodul vorhanden sein, um sicherzustellen, dass das access_token gleichzeitig gültig ist Der lokale Cache wird innerhalb des Gültigkeitszeitraums direkt verwendet, anstatt bei jeder Verwendung darauf zuzugreifen. Generieren Sie ein neues access_token. Andernfalls kann es zu einem Fehler bei der Anruffrequenzbegrenzung kommen, der den Dienst beeinträchtigt. Denken Sie daran, appsecret/session_key nicht in den Front-End-Code einzufügen, da es sonst in böswilliger Absicht verwendet werden und die Rechte und Interessen von Entwicklern oder Benutzern kleiner Spiele schädigen kann.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Cache

Cache-Typen umfassen Daten-Cache und Datei-Cache. Der Datencache ist ein Schlüsselwertspeicher, der für die strukturierte Speicherung kleiner Datenmengen mit einer Obergrenze von 10 MB geeignet ist. Das Datei-Caching bietet eine vollständige Dateisystem-API, einschließlich Hinzufügen, Löschen, Ändern und Lesen von Verzeichnissen/Dateien. Es eignet sich für das lokale Caching häufig verwendeter Netzwerkressourcen mit einer Obergrenze von 50 MB.

Im Gegensatz zu Browsern bietet WeChat nur grundlegende Speicherverwaltungsfunktionen und führt keine Vorgänge hinsichtlich dessen durch, was gespeichert wird und was gelöscht wird, wenn der Speicher voll ist. Entwickler können Caching- und Eliminierungsstrategien flexibel selbst definieren, z. B. das Speichern häufig aufgerufener Ressourcen im Dateisystem und das Löschen einiger zuletzt aufgerufener Dateien, wenn der Dateispeicher voll ist.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Offene Datendomäne

Lassen Sie uns über die Entwicklung der Datendomäne sprechen, d. h. die Öffnung der Benutzerdaten für die Öffentlichkeit bei gleichzeitigem Schutz der Privatsphäre der Benutzer. Minispiele. Dies ist ein geschlossener, unabhängiger JavaScript-Bereich. Die offene Datendomäne ist ein unabhängiges Verzeichnis und ihre Eintragsdatei ist index.js. Die aktuelle Einschränkung besteht darin, dass nur der 2D-Rendering-Modus unterstützt wird und Daten nur eingegeben, aber nicht ausgegeben werden können. Beispielsweise muss eine Rangliste für den Nutzer sichtbar sein.

Werfen wir einen kurzen Blick auf die Implementierung. Die linke Seite ist die Hauptdomäne. Nachdem Benutzer diese Daten erhalten haben, ist die Rangliste tatsächlich ein Canvas. Der Unterschied besteht darin, dass Canvas die Daten nicht herausnehmen und nicht analysieren kann, um welche Daten es sich handelt. In der Hauptdomäne gibt es eine Leinwand, die der oberen Leinwand zugeordnet ist, gefolgt von einer Offline-Leinwand, die je nach Bedarf verwendet werden kann. Sobald die Daten geöffnet sind, können weder die Daten im Canvas auf dem oberen Bildschirm noch das nächste Canvas entfernt werden, um die Sicherheit der Daten zu gewährleisten.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Da sich unsere Daten in der Entwicklungsdatendomäne befinden, haben Benutzer keine Möglichkeit, sie zu entwickeln. Daher sind Entwickler verpflichtet, die erforderlichen Daten während der Entwicklung bei uns zu hosten und sie den Benutzern zuzuordnen. Auf diese Weise können relevante Daten im Entwicklungsdatenbereich abgerufen werden. Zu den Anwendungsszenarien gehören Freundesrankings, Gruppenrankings, übertreffende Freundschaftsaufforderungen usw. Wenn der Benutzer eingibt, werden alle Vorgänge des Benutzers wiederholt, und alle Eingaben des Benutzers werden auf der Leinwand auf dem Bildschirm und auf der Leinwand außerhalb des Bildschirms abgerufen, und es dringen keine offenen Daten ein.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Teilen

Erreicht der Nutzer im Spiel einen Highscore, kann er sich mit Freunden messen. Im benutzerdefinierten Weiterleitungsfenster können Titel und Bild angepasst werden. Aber mittlerweile gibt es viele kleine Spiele, die für Benutzer sehr nervig sind. Sie haben viele Einstellungen vorgenommen, die geteilt werden müssen, bevor sie das Spiel spielen dürfen. Dies ist der Teil, über den jeder nachdenken muss, wie man die Interaktion von Minispielen fördert, ohne das Benutzererlebnis zu beeinträchtigen. Hier müssen wir einen geeigneten Balancepunkt finden. Gleichzeitig können wir nach dem Teilen der Daten und dem Verknüpfen des Minispiels mit diesem Gruppenchat eine Minispielplattform sehen.

Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Zahlung

Das Minispiel unterstützt virtuelles Bezahlen, ist aber derzeit nur auf Android-Systemen verfügbar. Und es gibt derzeit nur einen Weg, nämlich die Währungsverwahrung. Es ist hauptsächlich in zwei Prozesse unterteilt: Der eine besteht darin, dass Benutzer Geld ausgeben, um Spielwährung zu kaufen, was nichts mit dem Spieleserver zu tun hat. Beim Einleiten der Zahlung generiert der WeChat-Client eine asynchrone Anweisung für den Benutzer, die Zahlung zu bestätigen. Die Plattform ist dafür verantwortlich, den RMB des Benutzers in die entsprechende Spielwährung umzuwandeln und ihn im entsprechenden Spielkonto des Benutzers zu speichern. Die zweite besteht darin, Spielwährung zum Kauf von Requisiten zu verwenden. Entwickler können die entsprechende Spielwährung abziehen und In-Game-Requisiten an Benutzer ausgeben. Der Prozess des Abzugs von Spielwährung erfordert einen bestimmten Transaktionsmechanismus, um normale Transaktionen im Falle von Netzwerkanomalien sicherzustellen. Die Schnittstelle zum Abziehen der Spielwährung unterstützt die Deduplizierung basierend auf der Bestell-ID. Dies bedeutet, dass Entwickler im Falle eines Netzwerk-Timeouts und in anderen Situationen dieselbe Bestell-ID verwenden können, um den Abzug erneut zu versuchen, bis eine eindeutige Antwort zurückgegeben wird.

1Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Leistung

Häufige Leistungsprobleme bei kleinen Spielen werden im Allgemeinen durch den Speicher verursacht. Wenn zu viel Speicher belegt ist, wird dieser vom WeChat-Client aktiv geschlossen. Daher müssen Entwickler während des Spiels des Benutzers umgehend ungenutzten Speicher freigeben, insbesondere bei großen Objekten der Canvas- und Image-Klassen. Gleichzeitig können sie wx aktiv aufrufen .triggerGC, um das zugrunde liegende Recycling auszulösen. Für Arbeiten, die relativ unabhängig von der Spiellogik sind, können Sie erwägen, sie in Worker zu implementieren. Minispiele bieten unabhängigen Worker-Threads die Möglichkeit, js-Logik auszuführen.

1Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Versionsaktualisierungsmechanismus

Minispiele können in Heißstart und Kaltstart unterteilt werden, was bedeutet, dass es keinen solchen gibt Minispiel im Speicher Im Falle einer laufenden Instanz des Spiels bedeutet der Vorgang des Startens des Minispiels, dass die laufende Instanz des Minispiels noch im Speicher vorhanden ist, aber vorübergehend in den Speicher verschoben wird Zu diesem Zeitpunkt löst der Benutzer das Minispiel aus, um wieder in den Vordergrund zu gelangen. Nachdem der Benutzer auf Start geklickt hat, wird das Spiel geladen, wenn das Spiel ausgeführt wird. Wenn Sie auf das Menü in der oberen rechten Ecke klicken, bleibt die Schaltfläche einfach im Hintergrund hängen. Wenn es innerhalb einer bestimmten Zeitspanne neu gestartet wird, wird es sofort wiederhergestellt und der Speicher wird freigegeben.

Das Minispiel überprüft die Version des Minispiels während eines Kaltstarts. Wenn es eine neue Version gibt, steht nach dem Zurückladen auf den lokalen Computer die neueste Version für den nächsten Kaltstart zur Verfügung Start. Natürlich stellen wir Entwicklern auch eine API zur Verfügung, mit der sie entscheiden können, ob sie ein Update erzwingen und die neueste Version anwenden möchten, wenn eine Version verfügbar ist.

1Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Betrieb und Wartung

Die Verwaltungsseite bietet Funktionen wie Release, Rollback und Service-Shutdown, sodass Entwickler diese in vollem Umfang nutzen können Fähigkeiten der Plattform. Beispielsweise kann js bei Hintergrundvorgängen einen Fehler melden. Skriptfehler werden hauptsächlich durch nicht abgefangene Ausnahmen während des Betriebs ausgelöst. Solche Ausnahmen können dazu führen, dass die js-Logik am Frontend des Minispiels des Benutzers die Ausführung unterbricht. Gleichzeitig bietet die Plattform auch umfassende Datenanalysedienste und Sie können mithilfe von Assistenten Datenanalysen über Minispiele durchführen.

1Wie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial)

Empfohlen: „Mini-Tutorial zur Programmentwicklung

Das obige ist der detaillierte Inhalt vonWie entwickle ich ein Minispiel im WeChat-Miniprogramm? (Praktisches Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jisuapp.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage