Photon 3.4 Upgrade

In this video we take the code we have so far and make the modifications necessary to run in Photon 3.4. We cover the handler changes as well as the complex connection collection and the Player Instance class. We then take a look at the new config file for Photon control and get our server set up and ready to go. Read the rest…

In this video I had to go back and make some modifications for the World Server code. We forgot to hook up the world server in the ComplexConnectionCollection and we needed to fix a couple of things in the handlers on the Complex Server to push our data over to the world server. Towards the end of the video Visual Studio decided to cache a copy of MMO.Photon and I had to remove and re-add the reference in order for it to correct itself. Read the rest…

In this video we wrap up the last of the World Server by creating the handlers that “hide” the world server and forward messages through the world server to the region server or proxy server as necessary. We hard-code the position in this video and will clean it up after we get multiple region servers created and create the messages to pass data between servers in another series. Read the rest…

In this video we cover the code necessary to allow region servers to register with the world server. We cover the NHibernate class, mapping, and messaging to pass what area the region server covers and how to respond to the successful registration with the region info. Read the rest…

In this video we look at creating the WorldServerConnectionCollection. It is different from both the PhotonConnectionCollection and the SubServerConnectionCollection in that it behaves like both of them combined. In addition to the Connection Collection we look at creating the other code necessary to begin working with this server. Read the rest…

World Server – Initial Setup

In this video we begin with the initial project setup for our World Server. Its initial design is to work with groups and to be an invisible filter to send messages to the correct sub server without putting the burden on the proxy server. Read the rest…

An Update

Hello everyone!

I wanted to put up this post to give everyone an update on what is going on. First a little background into my life: My daughter was sick for nearly 2 weeks with a nasty cold that just wouldn’t go away. On top of that, 2 weeks ago I was put on antibiotics for a tooth that had a cavity and decided to become infected. Yesterday I had surgery to remove the tooth and put in an implant so I’m on pain meds and more antibiotics while I wait for it to heal to have a crown put on. (I know, TMI…) So for the last couple weeks I’ve been working then doing other personal things rather than making videos.

Today I sat down and started laying down a path that I want to take. I hope that you will bear with me while I work through this.

First, I am taking a step back from the smooth movement code. The code works great for everything BUT the local player. I want to take a good look at how we can make the client responsive without causing a ton of rubberbanding as soon as there is any kind of lag. I have a few ideas, but I need to work with my prototype code rather than string everyone along with videos that try to fix it each week.

Second, the client code has been bothering me for a while. A fellow programmer pointed me to StrangeIoC and I have begun with a fresh unity project to try and harness the framework to make our lives on the client as easy as they are on the server. This will largely be done streaming on Twitch TV and the code will be uploaded to the Premium repository.

Thirdly, I have contacted the makers of RAIN about their code. Right now it is tied to UnityEngine, but if they made a version that wasn’t tied to unity, it would work swimmingly for our AI as well as in unity to build nav meshes. I’ve seen their work and it puts my conversion of Recast to shame. In any case, if this becomes an option I will be looking to it for exporting the nav data and doing AI with it.

Lastly, I will be moving forward on the current NPC and AI code and making videos. I am pushing myself to get back to my 1 video a week routine. I don’t want you to think I’ve abandoned you, but I am still dealing with some personal things that are consuming my time and energy.

Just a reminder, I will be updating the framework download with the BEPU physics code, I have to figure out what to separate from the other modules, but it will be done.

‘Till then!

Smooth Movement – Object Manager and minor fix

In this video I needed to fix a small issue from changing User to CObject. After that I decided to take the time to modify our code to use an ObjectManager rather than GameObject.Find() which will help with speed when we have a scene full of objects. Read the rest…

Smooth Movement – Client Side movement change

In this video we rearrange how the client side movement is handled in order to allow “tapping” movement as well as fixing the constant movement after movement has begun. Read the rest…

In this video we take a look at fixing up StopMove and getting our position passed to the physics module so our characters start when they logged out. After that we write in the code necessary to extrapolate a characters position from the last known position the server sent.

Now that we have wrapped up this module, we will begin looking at moving to BEPU physics. ‘Till Then! Read the rest…