My name is Christian Richards, I run CJR Gaming and today, I would like to present my “Photon Framework”.
I have been working with Photon for over 2 years now. My first videos were on the Release Candidate of Photon 3.0 At the same time I started the videos, I started the framework. I started simple, with code to get photon to work. Then I rewrote it from scratch when Exit Games added in the Server2Server piece for Photon. Since then I went on to build what this framework has been turned into.
First a little bit about what this isn’t:
- It isn’t an MMO “easy” button
- It isn’t complete
- It isn’t simple scripting
That is to say that this framework is the beginning of an authoritative client/server setup. It isn’t a simple set of scripts, but a foundation built by a developer who has worked for 13 years building applications for 3 companies.
So if it isn’t complete and it isn’t an easy button, just what is it?
Right now it is comprised of:
- Proxy Server - main gateway for all communications
- Login Server - Registration, Login, and Character creation/selection.
- Chat Server - Guild, Trade, Tell channels.
- Region Server - All game code.
- Interest Management - Radius based object management - included in the region server code
- Physics Module - Bullet Physics used to control collision
Through my tutorials, website and streams I continue each week to push this code a bit further.
So how is this different from the vast majority of other “MMO posts”?
As I said above, this is a foundation with which to build an MMO. I strive very hard to make sure it is modular, easy to work with, and easily updated. I also work week after week taking in feedback and comments to iron out kinks in the code.
At the time of this writing, I also have prototype code for a World server, client prediction, and I’m working on getting stats working. The world server will eventually handle communication between region servers and will serve as the server that groups are held on so they can go across regions. The only concrete character stat I have is MoveSpeed because it is used by BulletPhysics and the client to determine where others are going to be until the server updates that position directly. All other stats don’t even exist until they get written so you aren’t locked into a specific set of character stats.
It is my intention to continue to build this framework piece by piece in such a way that people will be able to quickly modify it to suit their needs. Again, this sounds like an “MMO easy button” but it isn’t. You actually need experience programming to work with the client and server.
If you think this is something you are interested in, hop over to my site and consider purchasing it. And be sure to check out my YouTube channel where I constantly post new videos adding on to the framework.
Some of you may be asking why I’m selling this on my site and not on the asset store. Really, it boils down to the fact that it relies on more than just Unity3d. It isn’t just an asset for Unity3d, but rather a package that contains both the server and client components that happens to use Unity3d for the client portion of it.
In the future as I build more modules for the framework, I will post them up for sale.

