Jump to content
  • Advertisement
Sign in to follow this  
Hunter2379

Two Questions - Basic Adivce And Making A "match" Manager

This topic is 811 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi everyone, so I'm working on a multiplayer card game in Unity 3D. I've got networking where client can communicate with server and the other client connected to the server (I want the matches to be 1v1 so I'm only allowing 2 connections). 

 

Question 1: Since I'm having a hard time with Unity Networking and this game style is rather simple and without too much artwork, should I just code it in Java or would that be more difficult?

 

 

Question 2: If I stick with Unity, what do you guys envision to be the best approach on managing this game. As of right now, I'm having a hard time because I'd like there to be some sort of central manager where player one tells him I want to draw a card and the manager tells him what he drew. I want to design it this way because I want to store the decks in a database.

 

 

Honestly, any advice would be helpful and welcomed.

Share this post


Link to post
Share on other sites
Advertisement
If Unity gives you tools that save you time, then it's worth using.
If it doesn't save you time, then it's not worth using.
Writing in Java might be fine for the server side, but client-side Java is not a super experience these days. (Except for Android.)
Where do you expect players to play? On phones? In web browser? On PCs? Macs? Linux? On game consoles?
The benefit of Unity (or Unreal, or perhaps some other large engines) is that you can target all those platforms.
The draw-back is that they come with a bunch of built-in weight you may not need.

So, my recommendation, without knowing more than what you posted above, would be to build the server side of your game as a web service.
Then build the client to actually play the game in whatever way most easily targets your desired platforms.
Make the client make HTTP requests to get game information and perform game actions. You can use long-polling if you need to.
This way, the server can easily be built in some language you know, and the client can easily be targeted to the platforms you want.

Share this post


Link to post
Share on other sites

My hope was to have the client run something locally that would connect to my server. The client would simply pass instructions but most things would remain server side such as what card was drawn. I also considered that instead of using a SQL database to store the decks for each player and the cards that exist in the game that maybe I can use xml. I'm going to look at how to connect unity to a java server.

Share this post


Link to post
Share on other sites
Look at the WWW class and the newer UnityWebRequest for HTTP requests.
Note that lower-level sockets (non-HTTP) don't work in the WebGL builds of Unity.

Share this post


Link to post
Share on other sites

Hey there,

 

I've been playing with Colyseus for a while, mostly for HTML5 prototypes and it's being a fair developer experience: https://github.com/gamestdio/colyseus

It does have a Unity3D client, which is already a bit outdate (works only with server v0.3.x, current version is v0.4.x), so I wouldn't recommend to use it on Unity games for now.

 

The server is written in Node.js and only accepts WebSockets connections. It has a very simple architecture and is capable to handle multiple game instances in a single server. 

I'd suggest you to use just the latest version of the server and the JavaScript client.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!