About this blog
An Exercise in Social Game development
Entries in this blog
What a great week it's been on the development front. Completed the coding and testing of the Master/Login servers, built the standalone client, added in the new chat services we have been working on... The list goes on. But, as with anything great, you take the good with the bad. I messed up the repository by trying to sneak some changes into a file, accidentally deleted the repo copy aaand.. lost a couple days of work but HEY! That's what makes this exciting right?
The development community has been amazingly helpful. A resource system is ready to implement, mounts are ready to implement and updated GUI elements are now pending a push to Test. I spent a couple of hours today working with the community group testing an upgrade to the network layer. The results were outstanding. We capped out at 107 unique clients connected to the hosting server (which was a 4CPU 3.3Ghz 8gigRAM ) and there was no errors or hiccups. This was with 100+ people in a tiny area all updating each other with network packets. Was a beautiful sight to see. We then ran a similar test with the old network code and the server ended up melting down at 80 clients in the same general area. We started to see errors at 50 but the whole thing went south for the winter at just over 80.
So what does this mean for indie MMO development? Let's put it in perspective, Path of Exile never really has more than 20 people in a town at a time, World of Warcraft rarely has 100 people in close proximity (as in field of view top LoD). Even Elder Scrolls Online rarely sees 100+ player battles in close proximity. Albion online turns into a slideshow with 60+ people in a zone. I for one was very very pleased with the network results. This tells us we can have hundreds of players in an instance and a large portion of them in very close proximity. (Towns and cities anyone?) A massive amount of work has gone into the Unity HLAPI-CE network layer and it is really starting to show. Big props to vis2K and Paul and the rest of the development community for their work on that asset. This can change indie gaming development in such a positive way.
I am going to implement some of the new systems into the game like mounts, GUI updates and harvesting. These are foundational and allow for testing and need time for debugging. I’ve had the servers up for 4 days now and everything is running awesome. The Database is happy as a clam, the chat servers are good and... once I fix my boo boo with the client (related to the chat system but it desychn'd the entire client build arg!) we'll be in great shape!
At this point I am comfortable saying that I anticipate putting "Milestone 1: Servers and core infrastructure" behind us this weekend and move on to feature implementation. The faction system is coming along well. I watched a test of AI fighting each other based on faction checks, very cool. Building an mmo is a massive, just a sec need that to sink in... I mean MASSIVE with a triple bold capital flashing letters M A S SI V E undertaking. Taking a project based approach, defining sprints and milestones and stabilizing your core game systems is, in my opinion, the only way to start. It's not about fireballs and story writing or anything else. Having the coolest fireball spell in the world means nothing if the server desynch's every time you cast it. I am hoping to put the website back up for the game "soon"(tm) but really focused on the nuts and bolts right now and not trying to make the project look all snazzy. I anticipate having some pretty cool screens and our first video footage in the next 2-3 weeks. That being said I am out of town for a week shortly so here is hoping I can get some stuff done.
If any of you are experienced Unity3D world builders with a keen sense of poly optimization, LoD and occlusion feel free to drop me a line. World building is tremendously fun but.. I will be the first to admit it's really not my forte. If you want a project to showcase your world building talents and create some wicked in game video of your worlds we should talk.
And remember... It's your world now!
What a journey this network master server creation has been. I've learned more in the last week about things I would rather not understand than I care to admit. Right off the bat though I have to say mad props to Vis2K and the indie community around his uMMO offering. Vis and Paul specifically have made massive contributions to the network layer for Unity3D in the HLAPI-CE network package. Amazing work that I wish some triple A network transports would take note of. Based on the changes over the last couple of months they have made at optimizations and simplification the network transport is looking absolutely outstanding.
For the FL/Kingdoms project we took the HLAPI-CE layer and added it to our basecode. My goal this week was to have a master server spinning up multiple instances and have players be able to move between them.. Well, mission accomplished! Some big help from Fhiz and LordOfWorms pushed us through a couple of glitches in my coding (not a huge shock there) and we now have two fully functional interconnected instances running off the master server.
This may not sound like earthshattering news to anyone but at it's core it is foundational to supporting multiple physical servers across the network/cloud. The MasterServer will monitor for load balancing, server crash/recovery/restart and DB/login server availability. This will add not only a level of stability to the project but allow us to grow the world in sizes and dimensions simple not availabile in a single zone game.
As an outcome of the updated MasterServer we have a fully integrated MySQL server backend. This gives us the power of nearly infinite DB capacity and querry performance over flatfiles or other txt based data storage. All in all it was a marathon day on the coding front. Pretty sure I have 18 hours in at this point (it's just after midnight heh) but what a great feeling to get here. The next sprint will be the cleanup of the login server but compared to todays challenges I expect that to go much quicker.
Stand by for more, I expect this to be a very productive weekend!
Been the better part of 7 years since I've been on GameDev. And yet somehow the site has managed to persevere without me... My professional carreer has been front and center for me for the better part of the last decade. I have tinkered around here and there with some indie developments. Working with others to forward their products and sometimes diving back into my own little creative pools to forward my coding and design work. I'll tell you one thing though, game design still inspires me. It calls to me and every time I start it back up I come up with great insights and proof of concept ideas that really get the creative juices flowing.
So here we are once again. I've reopened the studio and Aakrana is back on the table. Not because it's some kind of sacred cow that is awesome and the concepts I've been fussing over for the better part of a decade are going to make the next great MMO... More specifically because I know there is something awesome that I can provide gamers. And let's be clear not all gamers. My professional carreer has taught me something over the years. Focus on something you are great at. Find your market for it and embrace that market like no tomorrow. I don't want the next great "WoW killer", I just want to provide gamers my version of enjoyable online gaming. Ive been focussed on it for years, I know many others have been looking for it, and I think Aakrana is ready to be that outlet for a niche of people.
Indie game dev is exciting. Every 3-5 years when I come back to the table, the middleware is so much more advanced, the talent pool is so much broader and the resources to run servers and online games is so much more affordable. I have been working with Unity for the better part of 5 years now. It's a great platform. There is a strong community of developers and a tremendous ammount of succesfully released products. Coming back to this now I spent the last few weeks firing up my server farm, upgrading to the latest mySQL and getting servers rebuilt in the latest version of Unity. The servers have been up for a week without a hitch. My character is level 6!!! (which is amazing considering Aakrana will be a level-less world ) but most importantly I am ready now. I am ready to make the investment once again in time and money to take this little beast to where it needs to be for people to start enjoying it.
Stay tuned fellow indies. More to come
I work pretty hard in my 9-5 job. (Yeah right. I wish it was 9-5, more like 7AM to 6PM *bleah) But don't we all these days... Last summer, out of the blue I get a call from a marketting director at Big World Games. "Hey Mark, how's it going? This is so-and-so from BigWorld Technologies in Australia. I was wondernig if you have some time to talk about Aakrana..." Well needless to say that was like a bolt of lightning from out of no where. We chatted for a good 30 minutes about Aakrana, indie development, Big World's new moves into the indie market etc.. I walked away with the opportunity to look at the BigWorld engine (Which was cool but just not modular enough for an indie in my opinion) and sort of chalked up the encounter as very cool but now let's get back to my real work..
Fast forward 6 months and I get an email from IF Studios about HeroEngines new indie offerings.. "Hey Mark, how's it going? Cooper here, lets talk..." I have to admit the opportunity to work within the HeroCloud technology is pretty intresting. Anyways after a bit of back and forth and a clear understanding that I am in no way ready to step into a full development re-launch or engine migration, Cooper hooks me up and I am now developing in the HeroEngine. I've spent the last week or so kicking myself to make sure this all wasn't some wierd twilight zone thing but nope it's real
The site I havent touched in 2 years.. The code I dabled with a bit last year but really it's got layers of dust on it at this point.. Am I really ready now, some 9 years after I set off on this great adventure to make the next great indie MMO, to embark on a full relaunch of development?? Really?! Uh ... no I was honest with myself and honest with Cooper from IF Studios. I know what kind of work is involved. I know the odds of success based on the lack of dedicated indie developers. I know the lack of dedicated developers is compound by the utter plethora of star struck dreamers who can't figure out even where to start in game development never mind what kind of chaos ensues when you add the acronym MMO infront of it. Aside from all of those challenges though I also happen to know what a person is capable of if they set their mind to it.. One small step at a time.
Aakrana was a fantasy based MMO. I had some great features built into the game (Dynamically controlled AI to create a non static MMO world.) but in the end it was simply YAFMMO. (Yet Another Fantasy MMO) Fantasy MMOs still have a following, but the market is saturated. Social Gaming is the next BIG thing. Hell even that is already blosommed pretty hard. Truth is though, simple social apps (Facebook, twitter,etc) integrated into a simple but fun and kitchie interface are all the rage. 100 million people all paying you $1 a month is a hell of a lot of dollar bills.. Although I love fnatasy MMOs and the stories and worlds that drive them, social gaming is what pays and if you want to be in game development you better the heck know what is going to bring in the paychecks.
Getting the last swift kick in the pants from IF Studios may have been just what I needed to get off my lazy backside and see what the heck kind of crazi awesomeness I can create in The next 3 months. Think I can't do it? Dare me