Multiplayer Game with Unity3D and Meteor JS

Multiplayer Game With Unity3D And Meteor

By on October 11, 2016

FYI: This is one of two topics of our 4th Meteor Meetup, take place on 17th September, 2016. The author is Huy Trinh, a young talent member of Designveloper.

Those who were not able to attend our 4th Meteor Ho Chi Minh meetup at September 17th could find all about Multiplayer Game with Unity3D and Meteor – one of the main topics of the meetup – in this blog.

Before digging into every facet of this post, you are required to have a fairly good background of Meteor and Unity3D.

What is Unity3D?

Unity is a cross-platform game engine developed by Unity Technologies and used to develop video games for PC, consoles, mobile devices and websites. First announced only for OS X, at Apple’s Worldwide Developers Conference in 2005, it has since been extended to target 24 platforms.

What is Meteor JS?

Meteor is a full-stack JavaScript platform for developing modern web and mobile applications. Meteor includes a key set of technologies for building connected-client reactive applications, a build tool, and a curated set of packages from the Node.js and general JavaScript community.

If you are a Meteor-novice, no worries! You can discover more about this full-stack JavaScript platform for developing single-page, real time web and mobile apps at Meteor.com

Why we should use Meteor with Unity3D?

When using Meteor, launching a MVP in 3-4 weeks can be a reality. With JavaScript on back-end, plus smart packages, Meteor allows you to develop faster. You don’t need to have experience about implement TCP/IP, UDP or pure Socket for a Gaming Server. With collection and method we can easily implement Gaming Network Architecture like Latency Compensation, Client Prediction, Server Reconciling and other technique.

How to connect MeteorJS with Unity3D

A team in Los Angeles have developed a plugin that make a bridge between Unity3D and MeteorJS through Websocket and DDP. You can find it here https://github.com/hiddenswitch/Meteor-Unity. By using this plugin we can use almost Meteor API such as: login, method, collection, publish/subscription. The plugin is great in general but one thing, it hasn’t supported WebGL for Unity3D yet.

Mobile

You can watch how to setup and connect step by step here: https://github.com/hiddenswitch/Meteor-Unity

WebGL

You cannot use hiddenswitch plugin with Unity3d WebGL now. But we can use other way to interact it. Unity3d WebGL support 2 API that help calling from inside WebGL container to javascripton page outside and reserve.

  • To call methods on GameObjects in your content from browser JavaScript, you can use the following code:
  • SendMessage ('MyGameObject', 'MyFunction', 'foobar');

    Read more here: https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html

  • To calls a function in the web page that contains the WebGL Player.
  • Application.ExternalCall

    ExternalCall calls functionName in the web page containing the WebGL player, passing the given arguments to it. Supported argument types are the primitive types (string, int, float, string) and arrays of such types. Any other objects are converted to string using ToString and passed as strings.

    For a deeper understanding, you can read here: https://docs.unity3d.com/ScriptReference/Application.ExternalCall.html

    So, did you find some great information of your own in this blog? Do you have any questions? Let me know in the comments and we can discuss about it!

    About Author

    author

    Hi, my name is Van. I’m a stubborn introvert, an iced milk tea drinker, a barefoot kitchen dancer, a singer of shower time and an enthusiastic copywriter dying to write about anything around my world.

    Tag Cloud

    Subscription

    Statistics

    • Today Visitor: 234
    • Month Visit: 38,709
    • Total Posts: 77

    Twitter Tweets

    LikeBox

    Facebook By Weblizar Powered By Weblizar
    Shares