Would it be worth it to have some sticky threads under a “FAQ” heading that provide answers to common questions e.g.
I would like to make an MMO.
How do I make a Minecraft Clone.
It could allow new users to Unity and Game Development to get the best advice the Community and Unity can provide and would be an easy way to respond to FAQ’s.
Here are some issues about people wanting to build MMOs:
Are you joining faux-pas MMO project? The project leader probably have no clue how to make MMO and no money to make MMO. They post shrill posts on this forum asking to make a MMO for them.
Here are red flags you encounter with such MMO projects:
They are always recruiting for people for their MMO project but can never seem to pay people for their services rendered. They cannot afford full-time modellers nor full-time developers on their team while the team leader demands for lots of artwork, coding and models.
The leader has burning desires to make PokeMon MMO, Zelda MMO or Ultima-copyrighted MMO genres without paying for the IP license.
They have no money for server-hosting if they are recruiting to make a MMO.
The leader in charge have no idea of what it takes to make a MMO - fixing bugs, enforcing security, logs, service-side maintenance, balanced game-play and basic things are not completed nor done.
Their Kickstarter or IndieGoGo page is pathetically underfunded.
Here are some infos about MMOs:
MMOs are very difficult to develop. They require expert network, server and database coding skills on both client and server. If you are not proficient or the network developer is not proficient, it is very, very difficult. Several people whom we hired walked out after finding it extremely tough.
This requires optimisation on grand scale - optimised terrain, optimised models which are fast-loading and highly optimised low-poly models. This requires expert modellers and expert 2D artists. They are not cheap to hire.
MMOs require multi-server communication or server-to-server communication. This requires expert coding skills. If you cannot debug server-to-server or raw UDP, raw-TCP, do not even try.
MMOs require extremely demanding GUI requirements which 95% of the items on the Asset Store won’t cut teeth. This requires vertical-grid (property per item), horizontal grid (team, guild, friend list), HP and MP bar connected to the networking, special list-view for chat and many demanding GUI requirements. which will require expert GUI person.
MMOs require server-hosting. if you have no money to host the server, you are probably not serious and just joking around.
If you are not proficient in server-side AI, server-side path-finding, server-side load/save for persistent world, do not even try to think about creating an MMO.
MMOs require lots of funds. If you are going to make MMO on a shoe-string budget, you are probably fooling yourself or fooling the people who are working for you.
MMOs are twice or four times the amount of complexity than an RPG game. If you make an RPG game, the whole game is self-contained within Unity. With an MMO, most of the logics reside on the server for which most of the codes may not be compatible or significantly harder.
If you are using an MMO server such as EletroTank or SmartFox, chances are you’ll have to re-code the path-finding, AI and most of the codes in Java which is different from C# and UntityScript.
The hardest part is to implement authoritative server. Few people have done this successfully. If you do not do this, you’ll have lots of people cheating and duping gold, duping in-game items to massive scale, destroying your in-game economy.
MMOs require persistent save-states. If you do not do serialization correctly, you’ll probably end up with corrupted players or even a MMO that has no save state. LOL.
MMOs have area of interest or network culling sphere. If this is not implemented, the game can overload with thousands of people on a single terrain and crash the server and client. LOL
Maybe we need a two stage post process, with Microsoft style intelligent agent that pre-reads your post and prompt you with relevant information.
E.g. Can I make an MMO with Unity?
Pre-Post Prompt:
It looks like you’re interested in making an MMO, the following FAQ threads deal with this subject.
You can still post your thread once you have read the FAQ thread, and you have the option to edit and add your post to this thread.
Maybe we could just understand they are interested in MMO’s and those projects motivate them, encourage their interest in Unity3D and support where we can … crazy I know but hey, there it is.
Look at it this way - hundreds of ‘doomed to fail’ MMORPG’s might just be helping to grow the AS and benefit your own interests :).
My point is regardless of genre/type if there was a FAQ section and threads covering them we could direct them to it, it would make our lives and theirs easiers.
If you look at it from a technical perspective, MMOs are one level higher than multi-player.
Where it gets tough are:
authoritative server
login server and security server
server-side database to store quests, items, NPCs, terrain data
server-side AI, path-finding, behavior tree, animation states, physics, player rotation, player movements
echo server to echo the states to other players
mini-chat server
high-performance database
ability to serve thousands of players on one terrain via logical distance partitioning of players.
highly optimized terrains or streaming
complex GUI system specific to MMOs - team, guild,s friends list.
RPG:
Unity handles movement
Single-player and security on save-game data.
simple database to store quests, items, not sure about NPCs and terrain data since Unity handles them.
Unity handles AI, pathfinding, behaviour tree, animation, physics, player movements.
Unity RPCs handle networking
you can do peer-to-peer chat or don’t allow multi-player until you finish all the single-player part.
simple database (XML, Json)
simple culling to add/remove NPCs from terrain
Unity terrains are used
simple GUI system for simple FPS or RPG.
It is 10 times more complicated to develop an MMO than single-player game.
In Unity, you can develop an RPG with 3 terrains in 3 scenes, use some asset store libraries and you are good to go in a few months from now. Many things are ready-made and very easy to make RPG game, 2D game or FPS game.
In MMO you have to develop 3 terrain-servers (1 server = 1 terrain) just to serve players in 3 terrains. It gets very hard when you move Unity physics, game-data to the server-side to save/load and stream down to the clients.I know them all because we are developing one here.
Lots of people buy failed MMOs as they are for cheaply for sale. All of them have wrong implementations - very slow database usage, non-existent authoritative server, very badly done dialogs and quest states.
My suggestion is that people who develop MMOs should be very skilled. If you are not experienced, you will most certainly fail.
Can an MMO be done? Oh yes, only if you have many years of experience and the finances to finish it. It is the most difficult and most ambitious development project only reserved for the battle-hardened game-developers.
For young people starting their careers, go join game-studio as an intern and learn the trade.
While a FAQ does sound great, the problem is since Gigi’s ‘can it be done’ thread was posted as a sticky, about 10 threads have appeared asking, ‘can it be done?’
People don’t read FAQ’s or rules… they come onto the forums blinded by their WOW-Goggles wanting to make the next betta WOW killa. The primary thing on their mind is to share their ‘idea’ for their MMO and gather hordes of artists and programmers and sound engineers to make their MMO come true.
It’s like a kid who sees the candy store across the road for the first time, they don’t look left and right before crossing the street, they just want the candy, NOW!
Nobody will read it, same as collab people posting in collaboration and then just reposting in gossip because they didn’t read the “needs to be approved” section. There is really no use cluttering the top of the forum with stuff people won’t read.
However, if I may suggest, a resources sticky, in which resources for various things can be compiled ranging from all different parts. Or even a resources sub forum, that would be neat. In which each post would be on a certain topic, just linking resources that can be used.
And before people say “Uhh durrr just use google” I am talking about a compilation of sources, in which helped the OP so they may help others avoid the useless material.
I know I have snarked as much as the next person when you see the hastily typed up and misspelled posts about making a MMORPG with 0 experience and wanting to jump in and have a prototype within a month or two. But I have a deep dark secret, that is also the reason I got interested in Unity in the first place years ago.
It is not a bad thing to want to make massively networked online game, and on the surface before you actually dive into it it seems perfectly feasible if you have 1 or 2 areas of expertise that are related(whether you are network guru, expert gui guy, whatever). It is only once you sit down and start trying to code and model it that it sinks in, or at least it did for me. At that point you can either step back, realize you are in way over your head and start again making simple games, or most likely just give up.
What I think would be useful is a sticky that breaks down all of the skills and deliverables you need for a MMORPG and maybe related assets on the asset store that focus on these areas so a person could instantly see what type of stuff is needed. It could serve dual purposes. One, to discourage those who think this is something they should be attempting when they are not ready, and two, a useful guide for those hobbyists who want to work their way down the list learning the skills over a course of years(most likely).
I lump myself purely into the “hobbyist” game developer and I have no qualms working on something that will never make money, never even be played by anyone but my friends. The journey is the part that I enjoy about Unity and I imagine quite a few out there like me who just spend their free time learning one thing or another because it is just interesting, not to be a pro game dev. Consolidating a bunch of commonly used assets and links to knowledge would not be a bad thing in my opinion, just part of sharing the knowledge for those that have done a lot of research into this subject already.
I’d love to see this for other types of Unity games too, like FPS, Roguelikes, etc.
I was thinking of it as a tool for the more frequent users and the moderators, so they could point people in the right direction or combine threads on the same topic into the FAQ.