The tools to build a MMO
It would have been nice to read that kind of blog post 4 years ago when I started to work on Golemizer. Maybe someone will find this blog post useful or something.
AS3 – Flash 10
No I’m not going for a Javascript MMO this time. It sounded like a cool idea to build Golemizer as a Javascript MMO but it got me no credits. Not even from the stupid iWhatever platform that is all so mad about anything HTML 5.
Yeah I’m pretty sure Golemizer works just fine on the iPad (never tested it) because the iPad is supposed to run Safari (and Golemizer also runs on Safari). But the iPad and iPhones are NOT Web devices. They are closed consoles like the PS3 and XBox. Just to say it in other words it would be like Steam would release their own tablet or phone. They might say they love anything HTML 5 but it’s crap. They love their store and that’s it.
The truth is we are still 2-3 years from seeing anything worth happening with HTML 5. All the startups building HTML 5 game engines are just that … startups … They want to build some tech and then sell it to the highest bidder. They have no interest in building a legacy. So be it HTML 5 will remain a dream for some years. There are still more people who have a computer than people who have a smartphone. That means that Flash is still the easiest way to get to people. Forget the iCrap. That’s NOT the Web and that’s a whole different market. One that I don’t believe in right now.
Last I checked 99.5% of people have Flash 10 installed on their computer in Canada and USA. That should be enough to release a game. No way I’m going the Javascript way again. It’s just too easy to find resources for AS3 without saying it’s just so easier to distribute a Flash game. Yes HTML 5 is making some progress but I’ve been there before and players don’t care about HTML 5. They care about the game they are playing. So AS3 it will be.
FlashDevelop
Adobe can forget about me spending some hundreds of dollars on their IDE. First I think it’s more appropriate for graphic designers and second it just cost too much for no advantage at all for someone like me. I mean I know how to code so why would I pay a fortune as an indie for a product I don’t need anyway.
I bet at least 75% of Flash developers using the Flash IDE have a hacked copy anyway. You can tell everyone I’m legit as I’m using FlashDevelop which is free.
AsWing
I really to spend time on something that someone else already did and gave for free. That’s why I’m using AsWing. I really have no interest in building my own UI library. I want to build games. Yes it’s true that AsWing’s doc is a bit lacking. You don’t get much examples but the basic doc is still there. That’s enough for me. It should be enough for any developer. If you can’t read that kind of doc then you might want to spend some more years as a programmer before starting to think about building your own MMO.
AsWing does what it says it can do and it does it right away. I’ll save a ton of time using AsWing. If you think you can do better than AsWing then maybe you should be a library developer and not a GAME developer. I’ll spend enough time on figuring how to make a FUN game that I really don’t need to spend time on how to make a forms, windows and checkbox.
SmartFoxServer
Same thing here. Yes there are free or cheaper alternatives. There are none though that allowed me to build a prototype in 2 days. I can’t spend months on building my own server tech again. That was fun to do for Golemizer but I’ve been there and done that already. Now I want to build a game. SmartFoxServer is allowing me to do that quickly. Like I said before if I can’t pay for the license then my project is just a failure anyway so it really doesn’t matter.
I have no interest in being the guinea pig for some obscure project. I want something that works right now and something that have a track record. Take a look for yourself. Ever since I started to use SmartFoxServer I have never encountered an issue that would make me reconsider my choice. Ask yourself this question. Do you want to build a MMO server or do you want to build a game. I answered this question long ago.
Eclipse
Okay so SmartFoxServer is using Java. A programming language I haven’t used for the past 10 years. It was suggested to use Eclipse so I installed it. It worked right away. I’ve been able to do what I needed to do. So Eclipse I’m using. I couldn’t care less if some other software would be better to code in Java. Eclipse got the job done. It’s simple to use and I never struggled with anything while using it. I really hate church wars and my choice is based on what gets the job done. Eclipse is getting the job done so Eclipse I’m using.
MySQL
I built Golemizer with MS SQL because I was more familiar with MS SQL Server. There’s really not much difference when it comes to MySQL. Besides the cost and license limitation. I recently hit the 4 GB limit for a database on SQL 2005 Express for Golemizer. That sucked bad. Now I know that I can upgrade to SQL 2008 Express for a limit of 10 GB but I really don’t want to do that again for my next MMO project. So MySQL it is. I have enough experience from my previous day job to know that it’s powerful enough for anything I need.
Before you ask it yes I’m using a database for my MMO. I don’t need some fancy solution for it. What I need is loaded into memory first and everything else will just be easier to deal with later. When it comes to databases I’m not a newbie so I know how to use them. I know their limitations and I know their strengths. Don’t worry about me I’ll do just fine with MySQL.
The free open source libraries I find on the Web
Like I said I really hate to spend time on stuff that already exists. I want to build a game not some fancy code marvel. As long as I can legally use it I will use anything I can find that will make my life easier. Even if it means I’ll have to change it later. When it’s open source and you don’t understand it you’d be pretty stupid to use it without understanding it anyway so it’s really not a problem. What I use I can change. What I use I understand it like I coded it myself. So far I have found a simple library to handle animated bitmaps in AS3 and another simple library to draw shapes on sprites. Yes I could have coded them myself but why go through the trouble. First I’m not sure I could come up with something that runs better and second I have saved so much time it’s just ridiculous. If one day I encounter a problem with these libraries then I hope I’ll be smart enough to fix them as they are open source anyway. If not then I was just a fool to try to develop a MMO to start with.
Bottom line
Yes building a MMO is hard. No not everyone can do that. Yes it can be done. You just need to know what you are capable of and to know what you can’t do. For example can I build a better server engine than SmartFoxServer? No I can’t. So I’m using SmartFoxServer. Maybe I could have use something else for the server but is there any other option as appropriate for an indie developer with limited time and resources? I think not.
The trick is to always remember that you want to build a game. Not some tech that could be used to build a game …

about 2 years ago
While I’ll continue to do my projects with sql server (best performance with .net) , I think that MySQl is no a good choice not matter the platform. I’d use Postgresql which is the “open source Oracle”, it has many features and trumples MySql for serious work. Yeah myIsam is the fastest but myIsam has the bad habbit of crapping out, and mysql itself chokes under a heavy load. There are benchmarks and mysql is the weakest among the big ones (Sql Server, Oracle, Postgres). And at this level I don’t think you’ll use replication, sharding and other fancy words with a price attached (not the teck itself but the infrastructure and people needed)
(Quote)
about 2 years ago
If I could afford a full MS SQL license right now I’d stick with that. To be honest the only reason I go with MySQL is because I really don’t have any experience with anything else. I guess I could learn but that’s just a risk factor I don’t want to add to the project.
On the other hand the DB is really just an anchor point and not something that will receive regular requests so I’m too afraid about performance matters.
At first I was thinking of using a file system to store data but then just saw how many cases I could need to change data on a massive scale and wasn’t sure how to handle that properly (like balancing stats for example considering the crafting system that can change stats).
But like I said I’m keeping all the action away from the database to make sure I don’t put too much pressure on it. The last thing I want is to be stuck with a stupid database being the bottleneck. I’ve seen that happened too many times so database access will be limited.
(Quote)
about 2 years ago
I was going between Photon and smartfox for my game (dont know if its mmo or just going to have a mp feature) Im not making mine with flash im using Unity, (i know devs hate things like unity but its good for amateurs.) I haven’t even started using smartfox and i already like it(way better than Photon that really just felt like a long advertisement XD) Also the community edition is just what i need for what im working on. I haven’t really looked at it yet or downloaded anything trying to finish up the client first.
(Quote)
about 2 years ago
Still haven’t checked Unity yet but there’s more and more support for it so I guess some neat stuff could come out of it.
Would be curious to see some stats about how many people have this plug-in installed though.
(Quote)
about 2 years ago
Instead of spending thousands on SmartFox, why not try the open source alternative?
We rolled our own Flash Socket Server. SWFConduit. It’s free, GPL licensed and is being actively and consistently improved. The more the merrier, and the more people who use it, and contribute…the better it will be. It’s lightweight, talks to SQL, and completely portable (written in Python)
The github repo for it is right here:
https://github.com/doublecluepon/SwfConduit
(Quote)
about 2 years ago
Agree i would like to see the stats, I dont think its a big deal right now since most browser mmo games require a plug in, so as far as my current project it doesn’t really matter. I think when kongregate started supporting unity games the user base went way up. I think the biggest issue i have with unity is it makes people lazy.
(Quote)
about 2 years ago
While it’s true that SmartFoxServer comes at a cost I do consider it offers something more for that cost. I have checked other solutions and while I’m sure I would be able to use them to get done what I want the problem is that I’m really not looking forward to get involved in the improvement or “live testing” if you want of a solution that may or may not have yet proven its stability and capability.
It’s just that for something as critical as the server I feel safer using something that big names (Club Penguin just to name one) are also using. Even if it means I’ll have to spend money for it.
For example in the readme of SWFConduit it’s saying “This is a preview release. It works, but there is little polish and only the bare minimum of features are implemented.”. It’s hard for me to adopt SWFConduit knowing that. It would be good if I was looking to participate in the development maybe but that’s not what I’m looking for right now. I did that for my MMO Golemizer and it was fine but this time I just want to use stuff that works out of the box without waiting for features or stuff like that.
With that said good luck with it and your MMO project.
(Quote)
about 2 years ago
Indeed. Even on FlashGameLicense.com they now support Unity games so I guess we will see more and more portals supporting it.
(Quote)
about 2 years ago
Thanks for catching that problem with the README file, I’ve updated it for the 1.0 release to reflect what is actually included: A stable platform for communicating between AS3 clients and a python server.
As for “Why choose SwfConduit over anything?” the answer boils down to cost and control:
1) SwfConduit is free as in beer. No cost to you, no matter how popular your game becomes.
2) SwfConduit is free as in speech. We (Double Cluepon) have only one requirement for using the server: If you change the core code and distribute that changed version to other people, you also make the source available to those people (this is what the GPL says).
So: We can’t tell you how you can use it. We can’t prevent you from using it any way you want to. We can’t ask for it back. We can’t ask for money at a later time because you become successful. You can change it all you want and keep your changes private and never give them to anyone.
The only minor risk you run is that SFS is older and more mature than SwfConduit, and to mitigate that I offer this:
I’m currently the lead developer on SwfConduit, and you have my personal e-mail address (attached to this comment). The project page on github has an issue tracker. There are ways to get in direct contact with the developers of the system so that you can get answers to your questions.
With the free/open-source model, you get to consider all the other people working on the project as contributors to your own project that ask for absolutely no compensation. We do it because we love doing it.
Consider it getting free server developers just for choosing free/open-source software. The more free help, the better game you can launch with less development time.
(Quote)