Last week was a rough week for me. I spent more time trying to build the detail mesh and something just isn't right. It keeps breaking. I even started from scratch on that section and rewrote the functions all over again and yet again the same thing happens. For now I have decided to put off working with recast and instead get something usable working.
In the last couple weeks I posted a few more videos to get us up to the point where we will send messages to and from the client.
I have also been working in the background on converting Recast to full C#. Its been slow progress but I have made headway. If you didn't look at the code online, it has 8 basic steps:
Well everyone, it has been nearly 2 months since I last did something with this site. Having said that, I have been working in the background on some things. For those who follow me on twitter you will know that I used DigitalRune for physics on the server side. Right now i have a flat plane that a character controller can run around on and it operates with only a facing and if they are walking, running, jumping, or crouching to determine how fast they move. From there the server does all the calculations and the player is told where it is in the game world.
Tonight I went ahead and took the time to record and upload the next video in the series. This video covers the actual use of the handlers that were created previously. With this code in place, we can begin to write handlers for future messages. In the next couple videos I will be creating a client that will then send a login message through our master server, over to the login server and return a response.
As you may have seen I've been a little out of touch since the weekend. My job currently has me incredibly busy. I will be back to doing tutorials soon, but I need a short break to keep my stress levels down. I have been writing down design ideas to begin implementing Groups, Guilds, and Chat. This weekend I hope to have enough time to record a couple more videos to introduce communication to and from the SubServers. I know you all are eagerly awaiting this critical piece and I hope you can bear with me while I deal with real life.
In Part 7 we covered the creation of our handlers and put them on our sub server class. In this part we work our way through the creation of the Unity3dPeer. This class is designed to take incoming requests from the client, add the userId to them and forward the data to the sub server where it will be processed. At the end of the video we also create a Login SubServer and prepare the PhotonControl.config file to run both our master server and the login server.
In Part 6 we covered the creation of the SubServerCollection. Its job was to help the Master Server keep track of all the Sub Servers connected to it. In this chapter we cover the Handlers that are used by the Sub Server to deal with Operation Requests, Operation Responses, and Events. We also add in the SubServerCollection to the Master Server and call the OnConnect and OnDisconnect from the IncomingSubServerPeer class when we finish registering and before we disconnect.
In Part 5 we covered the creation of the OutgoingMasterServerPeer which is how we communicate with the Master Server from a Sub Server. In this chapter we are going to cover the creation of the SubServerCollecion. This collection will be used by the Master Server to keep track of the SubServers that have connected to it. I will provide the text based version of this in the near future.
Since I am not currently able to record any videos I thought I would take a moment and explain a little about the client portion of the framework I've been keeping to myself. The idea behind my client framework was to make it quick and easy to build new scenes, add new message handlers, and still do everything we need to do when working with the MMO. For those of you who walked through the old Photon 2.6 tutorial or watched the Intro To Photon 3.0 series, you will notice that I really didn't do much in terms of working with Unity3d.
In part 4 we cover the creation of the sub server and we implement the members of our OutgoingMasterServerPeer. In this post we move on to finishing our Peer by implementing the call to the master server to register this sub server.
We'll begin by adding our logging, sub server link, and other properties to our OutgoingMasterServerPeer.