I have been kicking around a project for a couple of years now, mostly based on my dissatisfaction with the MMORPG genre as a whole since WoW came out. I have a pretty thorough design document that now needs to start getting filled in with some technical details. In order to do that, I have to have a clue. In order to get a clue, I have to start somewhere. That brings us to the reason for the post:
Here is a short list of required capabilities/features:
- Third person shooter.
- Combination of several "open world" maps and instances (seemless transitions are a plus, but not really necessary).
- Ability to generate levels on the fly from pre-defined "tile sets", think random instances.
- Fairly robust AI.
- Persistent data for (hopefully) thousands of players.
- Networking that can support "a lot of people" shooting in the same area that also provides at least passable anti-cheat measures.
- "Easy" mapping tools.
- Scripting engine powerful enough to support complex missions, crafting and resource gathering interactions. (Scripting is the one thing I am confident about my capabilities in, so ease is less important here than capability)
- Multiple character controllers as there will be free-form flight and ground based interactions. Ideally these would be switchable on the fly, but I can deal with a transition if I have to.
I initially was looking at Unity as I was hoping to make the game playable in different ways across multiple platforms (doing your crafting from your Android phone during your lunch hour, for example, then logging in to your PC at night to blow some stuff up). I would still be willing to consider Unity, but my understanding is that the built-in networking is sub-par and the networking piece is something that simply has to work right. So, I moved on to consider some other options and came to HeroEngine.
These are what I consider to be Pros and Cons of HeroEngine for my project:
- Pro - Integrated toolset - Aside from actually creating the art, it seems like pretty much everything is included in the editor.
- Con - No pipeline for Blender, which means shelling out ridiculous money (in my opinion) for 3DS Max or Maya. Mind, if i can get the game launched and if I can start turning over money with it, I could easily call that an investment well made, but there's a lot of if there.
- Pro - HeroCloud, which pretty much addresses client-server interactions, server scaling, basically the whole network and server architecture layer. Assuming I'm not missing something I should have thought about, this is pretty huge.
- Pro - Scripting engine has a ton of capability.
- Con - Scripting engine is reportedly non-intuitive.
- Pro - Size and scope of the game worlds don't seem to be an issue, seamless transitions are usable out of the box.
- Pro - Ridiculously low cost during development ($100 for a single developer seat or $200 for a 10-pack of developer seats per year).
- Pro - Assuming you launch using HeroCloud and don't just acquire licensing to use the engine wherever, your infrastructure needs are covered including server scaling, bandwidth, availability, redundancy, backups, billing ... pretty much everything.
- Con - HeroCloud costs you 30% of your revenue (I'm not even sure this is a con, really... seems pretty reasonable considering the above).
So, Hero seems to address a lot of stuff, not a whole lot of downside in the grand scheme of things... but, that's what their web site is designed to make me think. What are some of your thoughts?