I have decided to build a chat system for a website that I currently own and operate using Unity 3D and SmartFox 2X. If you came across this blog in hopes of finding information on setting these two systems up for an MMO, don't turn away just yet. I am building this chat system to start, and will eventually incorporate 3D elements into it, including interaction between players, as well as the chat interface for communication. I am going to do my best to post relatively detailed information on the steps I take, the pitfalls I encounter, and the things that (along the way) I find to be best practices.
I am doing this for two reasons. One, becoming a part of the Unity Community over the last month or so has shown me that sharing information is key to the community creating bigger and better projects in the long run. Without the help of the Unity Community I would never have learned as much about Unity as I have already (granted, 10+ years programming experience in other systems doesn't hurt). I think that in this day and age, if someone like myself wants to create an MMO because they are passionate about gaming and always wanted to create their own, the first few steps should be a bit more simple than they are right now. I am by no means trying to simplify what it is that we Unity developers do on a daily basis, I am merely stating that even as a professional programmer and server administrator the whole setup can be very, very intimidating, and I personally think it doesn't have to be.
Second, I want a reference, written by my own hand, so that when I decide to build an MMO system from scratch I have a sort-of walk-through so that I do not have to learn everything again. The fact of the matter is when you setup your Unity program to talk to SmartFox and get it talking to the database, chances are that is set, and you will not need to do so again until you complete the project and/or start another one. It's not an action that is performed often enough to become secondhand nature (unless of course you have an eidetic memory).
There seems to be a lack of a "hey, if you want to set Unity up to work with SmartFox server and a MySQL database, this is how you do, from point A to point Z... after it's setup then you've learned some things along the way and you can take that setup and run with it in whatever direction you want. I'm still debating on whether to post example files, because I think that doing so may lead to people just downloading them, setting them up and then moving on... having learned nothing along the way. This blog is not intended to do the work for you, but to give you a streamlined (somewhat streamlined at least) set of instructions on how to get started, and my intention is to do so in layman terms.
I would like to apologize in advance since this blog will likely turn out to be incredibly disorganized to start... I will organize it eventually, and perhaps even post a entry that simply lists links to the instructive posts in order... but there will be times when I simply blog on here to bitch about my frustrations. That is how this blog is starting : I'm basically sick and tired of googling how to get this done and having to mentally compile information from 10 different resources to attempt accomplishing anything. Someone needs to put it in order, and perhaps somebody already has, but if they have then it is definitely not easy to find.
For now, I make two pledges to anyone reading this (and to those who have not read it yet but will come across it in the future): 1) Eventually, by coming to this blog, you will have a set of tutorials to walk you through (not quickly and with a bunch of jargon you don't understand yet, but assuming you have never opened Unity or downloaded SmartFox before) the process to setup an MMO in Unity. I will do my best to show the differences between, and the steps necessary to accomplish, connecting both to a local SF server installed on the machine that you use Unity on, and also a remote server (either on your LAN or even hosted by a company like GoDaddy)... 2) When you're done reading the entire blog, you'll have learned things along the way that will help you take the final setup files and run with them, in any direction you desire, and chances are you will be surprised at what you have learned along the way.
I am not familiar with C# (I have done all my Unity coding up to this point in Javascript) nor am I familiar with Java (other than Javascript, which is completely different, or using the installed Java setups that come with Coldfusion and require no effort on my part to keep working). I'm a n00b when it comes to this stuff, but I do have a lot of knowledge in coding structure, how to keep an engine or software project (like Unity or Flash project files) clean and organized, easy to find certain functions, etc. I know a lot about server setups, I know tricks and tips for keeping SQL queries as simple as possible but complex enough to get the job done in as few queries as possible without bogging down the server. I've used a lot of GUI's in my time, and I'll add my own flavor or spin to the setups, and I encourage you to do the same if you follow this.
The Unity community has given me a lot, most importantly the opportunity to not only dream about building my dream games/programs, but also the ability to make those dreams a reality. I am forever grateful for that, and consider this my way of saying Thank You.
Last but not least, my apologies for any drunken rants that get posted here regarding me pulling my hair out or wanting to throw coffee mugs at the television. I'm an open an honest person, and I see no shame in expressing how I feel at any given moment.. whether it be verbally or via a blog.
Enjoy, and I hope I teach one of you something along the way....
No comments:
Post a Comment