AppWarp has been here for quite some time now. Thousands of game developers in more than 150 countries have built amazing multiplayer games on multiple platforms using AppWarp. The most consistent and popular of them all remains Unity3D. In this post, I will simply talk about how game developers can add real-time communication in their Unity3D games to make them rich and engaging. Implementation of real-time is no rocket science, there is no server side coding or socket level programming is required—everything including the real-time communication is handled by AppWarp Cloud.
Should you need to learn how to get the pieces together and setup the basic code required, here is our tutorial video that has stood against the tests of time and still assists game developers across the world with a sample project we had created.
The entire source code of this sample is available in our Git Repo, but I am mentioning some of the relevant code snippets below. Get AppWarp SDK for Unity3D here—to initialize it, simply enter your API and Secret Keys which you will get once you sign up for AppWarp and create your first project.
[code java]WarpClient.initialize(apiKey,secretKey);
[/code]
Now create and add a Listener which implements the relevant WarpClient callback interfaces and connect with the server.
[code java]Listener warpLayer = new Listener();
WarpClient.GetInstance().AddConnectionRequestListener(warpLayer);
WarpClient.GetInstance().AddNotificationListener(warpLayer);
WarpClient.GetInstance().AddRoomRequestListener(warpLayer);
[/code]
Now simply call connect to establish your connection with the server.
[code java]WarpClient.GetInstance().Connect();
[/code]
Once your connection is established and authenticated, simply join a room and subscribe it to receive its notifications.
[code java]WarpClient.GetInstance().SubscribeRoom(roomid);
WarpClient.GetInstance().JoinRoom(roomid);[/code]
After you have joined the room, you can start sending your user’s coordinates to other users in the room. In this example we will use our chat API to do that
[code java]string json = “{\”x\”:\””+transform.position.x+”\”,\”y\”:\””+transform.position.y+”\”,\”z\”:\””+transform.position.z+”\”}”;
WarpClient.GetInstance().SendChat(msg);[/code]
Once the remote player also joins, you will start receiving messages from it. Handle them and move the cylinder representing it
[code java]
public void onChatReceived (ChatEvent eventObj)
{
Log(eventObj.getSender() + ” sent ” + eventObj.getMessage());
SimpleJSON.JSONNode msg = SimpleJSON.JSON.Parse(eventObj.getMessage());
if(eventObj.getSender() != id)
{
appwarp.movePlayer(msg[“x”].AsFloat,msg[“y”].AsFloat,msg[“z”].AsFloat);
}
}[/code]
. . . And this is it. Just build your Unity3D app on two different endpoints and you should be able to see two endpoint movements in real time(a simple white cylinder)! Schedule a quick demo if you would like our AppWarp expert to get in touch to walk you through the development process with AppWarp management console.
Also read: Bridging the Gap – Plugin for Unity & iOS
Furthermore, AppWarp can always be clubbed with gaming backend APIs that will not only help in user engagement but also will earn you long lasting loyalty. Some of the top use cases that will enable you grow your game are:
- Implement in-app referrals with our growth hacking toolkit to boost game downloads
- Enable social sharing of all the moments, levels unlocked or completing any major event
- Implement social leaderboards to induce competitive spirit and improve user engagement
- Never lose the interest of your users by launching campaigns on all channels including push, email, and in-app messages
- Predict the propensity of the players to uninstall the game and send personalized notifications to re-engage them
Also read: How to Implement In-App Purchase in Your Game
Click here to know all the use cases game developers across the world are implementing to grow their game and drive more conversions. You may, at any point of time, could schedule a demo on how you can enhance user acquisition, engagement, retention, and conversion in your game.AppWarp mulai dikembangkan dalam beberapa waktu terakhir dan ribuan game developer yang berasal dari lebih 150 negara telah merasakan pengalaman yang luar biasa ketika menggunakan jasa AppWarp dalam mengembangkan game multiplayer dari berbagai jenis platform. Platform yang paling banyak digandrungi saat ini adalah Unity3D. Dalam ulasan kali ini, saya akan menjelaskan secara singkat bagaimana para developer game dapat menambahkan komunikasi real-time kedalam game Unitiy3D untuk memperkaya fitur dan menarik perhatian para gamers. Pengaplikasian dari komunikasi real-time bukanlah ilmu sihir, dan bukan juga ribuan baris kode yang membosankan, melainkan seluruh fitur termasuk komunikasi real-time telah ditangaini secara professional dalam AppWarp Cloud .
Hal yang perlu anda perlajari adalah mengumpulkan beberapa potongan menjadi satu dan memerlukan setup basic dalam koding, Lihat tutorial dalam video ini yang telah terbukti dengan berjalannya waktu dan masih berjasa membantu para game developer dari seluruh dunia dengan sampel yang telah kami ciptakan.
Seluruh kode yang ada dalam sampel ini tersedia dalam fitur ‘Git Repo’ kami, tapi kami akan menunjukkan beberapa cuplikan kode yang relevan dibawah ini. Dapatkan AppWarp SDK for Unity3D disini untuk menginisialisi. Cukup dengan memasukkan API dan secret key yang akan kamu dapatkan ketika melakukan sign up ke AppWarp dan mulailah kreasikan projek kalian.
[code java]WarpClient.initialize(apiKey,secretKey);
[/code]
Sekarang buat dan tambakan Listener yang akan menerapkan relevansi callback interface pada Warpclient dan sambungkan ke server
[code java]Listener warpLayer = new Listener();
WarpClient.GetInstance().AddConnectionRequestListener(warpLayer);
WarpClient.GetInstance().AddNotificationListener(warpLayer);
WarpClient.GetInstance().AddRoomRequestListener(warpLayer);
[/code]
Lalu Cukup tambahkan “connect” untuk menyambungkan koneksimu dengan server
[code java]WarpClient.GetInstance().Connect();
[/code]
Ketika koneksimu sudah terjalin dan terauntentikasi, cukup masuk ke sebuah room dan subscribe untuk menerima notifikasinya
[code java]WarpClient.GetInstance().SubscribeRoom(roomid);
WarpClient.GetInstance().JoinRoom(roomid);[/code]
Setelah kamu masuk kedalam room tersebut, kamu sudah bisa mengirim kordinat pengguna kepada pengguna yang lain dalam satu room. Dalam kasus ini, kami akan menggunakan chat API kamu untuk mengeksekusi.
[code java]string json = “{\”x\”:\””+transform.position.x+”\”,\”y\”:\””+transform.position.y+”\”,\”z\”:\””+transform.position.z+”\”}”;
WarpClient.GetInstance().SendChat(msg);[/code]
Ketika ada player masuk kedalam room, maka kamu akan mulai menerima pesan secara otomatis. Kendalikan mereka dan gerakkan silinder yang mewakili itu.
[code java]
public void onChatReceived (ChatEvent eventObj)
{
Log(eventObj.getSender() + ” sent ” + eventObj.getMessage());
SimpleJSON.JSONNode msg = SimpleJSON.JSON.Parse(eventObj.getMessage());
if(eventObj.getSender() != id)
{
appwarp.movePlayer(msg[“x”].AsFloat,msg[“y”].AsFloat,msg[“z”].AsFloat);
}
}[/code]
….Daaaan iniliah dia. Hanya dengan membuat applikasi unity3Dmu dalam dua endpoint yang berbeda maka kamu akan melihat dua gerakan endpoint secara real-time. Tunggu apa lagi, segera jadwalkan untuk terhubung secara langsung kepada technical team AppWarp kami untuk membantu kamu dalam mengembangkan game masa depan dengan menggunakan jasa AppWarp.
Lebih jauh lagi, Appwarp akan selalu tersinkron dengan gaming backend APIs yang tidak hanya meng-engage user akan tetapi kamu akan mendapatkan user/gamer yang sangat setia memainkan game yang anda kembangkan. Berikut beberapa use cases yang akan membuat game kamu lebih terlihat kekinian.
1. Aktifkan in-app referral. Kami mempunyai fitur yang bisa membuat usermu yang ada untuk mengajak teman-temannya yang lain untuk mendownload dan bermain. Tentunya dengan iming-iming hadiah agar lebih menarik.
2. Aktifkan juga social sharing untuk semua momen. Naik level, menyelesaikan misi, atau meng-unlock level baru agar mereka bisa pamer dan show off di social media merek. Tentunya akan menambah kesempatan orang lain untuk bermain bukan?
3. Tambahkan leaderboard yang terhubung dengan social media yang ada. Hal ini akan menambah jiwa kompetisi playermu.
4. Selalu berikan notifikasi kepada playermu untuk menjaga ketertarikannya terhadap game yang kamu kembangkan. Hal tersebut bisa dilakukan dengan push notification, email, dan in-app massage.
5. Prediksi kira-kira manakah user yang akan meng-unisntall game kamu dan kirim pemberitahuan secara personal untuk membuatnya kembali bermain.
Klik disini untuk mengetahui lebih jauh fitur apa yang di kembangkan oleh game developer diseluruh dunia untuk meningkatkan pendapatan. Kamu juga bisa secara langsung mengatur jadwal untuk mecoba demo agar dapat mendapatkan user acquisition, engagement, retention, dan conversion kedalam game kamu.
Leave A Reply