Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - neeraj

Pages: [1] 2 3
1
TNet 3 Support / Re: Amazon EC2 Setup
« on: June 19, 2016, 11:42:16 PM »
I was having problems testing my game, all thanks to him, i quickly got it up and running!  :D

2
TNet 3 Support / Re: Unable to Connect.
« on: June 19, 2016, 08:16:58 AM »
Well was not able to get around it but thanks to col000r http://www.tasharen.com/forum/index.php?topic=4756.0
who made an awesome tutorial for Amazon EC2 hosting!  ;D ;D

3
TNet 3 Support / Re: Amazon EC2 Setup
« on: June 19, 2016, 08:15:29 AM »
In case anyone needs this: I wrote a tutorial about how to set everything up here.

Thanks a ton!  ;D

4
TNet 3 Support / Re: Unable to Connect.
« on: June 19, 2016, 05:01:35 AM »
How can i enable that or does that require a different router? I was using public IP because i was testing it with a friend of mine, but it gives error now.

Could there be an issue from the ISP side? because this is not working at all!

5
TNet 3 Support / Unable to Connect.
« on: June 19, 2016, 04:26:05 AM »
It says unable to connect every time i try to use public IP of my system (only 192.168.1.2 works). It was working a day back and now it never connects.
Tried Auto Join & manually connecting.

6
TNet 3 Support / Re: What's the best way to do matchmaking?
« on: June 18, 2016, 12:08:30 AM »
Thanks again for the help! i will proceed with the prototype.  :)

7
TNet 3 Support / Re: What's the best way to do matchmaking?
« on: June 17, 2016, 12:06:00 AM »
Yea i understand this but i am getting very curious now, so taking another example: why does it take longer in Rocket League's case: https://youtu.be/8x7wj8lBJP0?t=27
Is it because its pairing them together and finding a dedicated server for them? but again i assume it should be also faster right?

8
TNet 3 Support / Re: What's the best way to do matchmaking?
« on: June 16, 2016, 07:45:03 AM »
Ok i think i get it, So say the game was booted by Player A, then by Player B. Since Player A Joined the Lobby Channel first, he will be the channel Host and he is the one who receives all Matchmaking queries and replies to them.

So another question, if suppose i want to stall the matchmaking a little longer to check for the appropriate player (Based on player rank) and then pair them together. How can
that be accomplished ?
Something like Hearthstone https://www.youtube.com/watch?v=60fW2YxIISQ

9
TNet 3 Support / Re: What's the best way to do matchmaking?
« on: June 16, 2016, 12:30:44 AM »
Thanks a ton!  ;D
i will go through and implement it !
I might have some doubts but will get back soon.

10
TNet 3 Support / Re: TNserver does not open ports (no firewall)..!
« on: June 15, 2016, 04:47:03 AM »
no this is not the answer...! did not worked.i run it local to test and what router do u mean ?
I restarted the Wifi Router to fix it but does not happen to me always. May be some else can tell what is wrong.

11
TNet 3 Support / Re: What's the best way to do matchmaking?
« on: June 15, 2016, 12:24:15 AM »
Thank you devomage,
I thought Coroutines would help in periodic data transfer? Should the alternate would be using an Update with a timed RFC call?

And i will look into PlayerData, its similar to PlayerPrefs right?
Also i did not understand what you meant by "networking tends to be it's own event system"

12
TNet 3 Support / Re: What's the best way to do matchmaking?
« on: June 14, 2016, 07:25:38 AM »
GameType: Billiards (1 vs 1)
The Prototype Starts with the Menu Scene (Channel: 1 All Players AutoJoin here),
  • If you press find then Match Making triggers...
  • RFC is sent to all player in MM, the rating logic would be Applied to find the appropriate Player
  • Then the 2 players would start a game channel to play the session

I wanted to ask if this right approach for matchmaking?
This is just so that i can setup a small base on matchmaking,
Please suggest, Thank you!

  1.  
  2.  public void MatchMake()
  3.     {
  4.         StartCoroutine(MatchMaking());
  5.         matchMakebutton.SetActive(false);
  6.         matchMakingAnimate.SetActive(true);
  7.     }
  8.  
  9.     void StopMatchMaking()
  10.     {
  11.         matchMakingAnimate.SetActive(false);
  12.         matchMakebutton.SetActive(true);
  13.         StopAllCoroutines();
  14.     }
  15.    
  16.     IEnumerator MatchMaking()
  17.     {
  18.         Vector3 info;
  19.         info.x = TNManager.playerID;
  20.         info.y = 200;
  21.         info.z = 0;
  22.         tno.Send("RFC_MatchMake", Target.Others, info);
  23.         yield return new WaitForSeconds(0.5f);
  24.         StartCoroutine(MatchMaking());
  25.     }    
  26.    
  27.     /// <summary>
  28.     ///  X is Player ID
  29.     ///  Y is Rating
  30.     ///  Z is Something..
  31.     /// </summary>
  32.     /// <param name="_MMR"></param>
  33.     [RFC]
  34.     void RFC_MatchMake(Vector3 _MMR)
  35.     {
  36.         if(matchMakingAnimate.activeInHierarchy)
  37.         {
  38.             matchedOpponent = _MMR;
  39.             if (matchedOpponent.y == 200) //Match Making Logic!
  40.             {
  41.                 Debug.Log("Match Found!");
  42.                 if (TNManager.playerID < matchedOpponent.x) //if My Player id is Less than the opponents ID.
  43.                 {
  44.                     StopAllCoroutines(); // Stop Match Making
  45.                     HostGame(); //I will be the host!
  46.                 }
  47.             }
  48.         }
  49.     }
  50.  
  51.     public void HostGame()
  52.     {
  53.         TNManager.GetChannelList(_CallOnChannelList);
  54.     }
  55.    
  56.     /// <summary>
  57.     /// Channels list
  58.     /// </summary>
  59.     void _CallOnChannelList(List<Channel.Info> chList)
  60.     {
  61.         int lastChannelID = chList[chList.size - 1].id + 1;        
  62.  
  63.         Vector3 info;
  64.         info.x = matchedOpponent.x;
  65.         info.y = lastChannelID;
  66.         info.z = 0;
  67.         tno.Send("RFC_JoinGame", Target.Others, info);
  68.  
  69.         JoinChannel(lastChannelID);
  70.     }
  71.  
  72.     void JoinChannel(int _channelID)
  73.     {
  74.         if(TNManager.GetChannel(_channelID).players.Count < 2)
  75.         {
  76.             TNManager.JoinChannel(_channelID, sceneName, true, 2, null);
  77.         }
  78.         else
  79.         {
  80.             Debug.LogError("Game has already Started");
  81.         }      
  82.     }
  83.  
  84.     /// <summary>
  85.     /// X is Player ID
  86.     /// Y is Channel ID
  87.     /// Z is Something
  88.     /// </summary>
  89.     /// <param name="_joinData"></param>
  90.     [RFC]
  91.     void RFC_JoinGame(Vector3 _joinData)
  92.     {
  93.         if(TNManager.playerID == (int)_joinData.x)
  94.         {
  95.             JoinChannel((int)_joinData.y);
  96.         }      
  97.     }
  98.  

13
TNet 3 Support / Re: TNserver does not open ports (no firewall)..!
« on: June 14, 2016, 02:40:35 AM »
It happens sometimes for me too but it resolves if i restart my router.

14
TNet 3 Support / Re: What's the best way to do matchmaking?
« on: June 14, 2016, 12:10:33 AM »
Hello devomage,
Thanks for the reply, yes i get that some sort of ranking system like MMR system for DotA, etc..
I was asking for the implementation advice using RFC like ArenMook had mentioned before.

How will Player A broadcast a message when he is searching for a game, and how can Player B join the match? The basic flow of how this can be achieved.

And how should i start new game sessions in another channel?  Can i scan all available channels to check and assign appropriate number for a new game session?


15
TNet 3 Support / Re: Latency / Ping
« on: June 13, 2016, 09:32:15 AM »
I am syncing position 5 times per second and moved the renderer to the child of rigidbody with SpringTransform script on it.
Its a lot better now, Thanks!
if i have more doubts ill get back! :)

Pages: [1] 2 3