• Advertisement
Sign in to follow this  

Unity Talk me in to/out of HeroEngine?

This topic is 1693 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
Advertisement

The quality of Unity's networking is fine, but it's not designed for MMOs. I've written MMO code using Unity but this involved putting in entirely bespoke networking.

 

HeroCloud isn't really what you say it is. It's a kind of hosting, not something for 'client-server interactions'. That sort of thing is part of the HeroEngine itself. Just a terminology confusion, I think.

 

HeroEngine is going to do a lot for you on the server side which most other engines (eg. Unreal, Unity) won't even attempt. The only concern I would have, is that you don't get source code access without a special licence. They boast of big-name clients like EA and Zenimax, but you can bet that they have full source code licences. Without that flexibility you may find that some of the ideas you have are simply not possible within the constraints of their system. Now, I don't see anything too unusual in your requirements list that makes me think HeroEngine wouldn't be able to handle it. But I don't have the experience to know otherwise. You'd probably need to go over each of the tech specs with someone who has used the engine, or someone on their support team (or ideally both), to check that what you want can be done.

Share this post


Link to post
Share on other sites

Fair enough. As I said, I'm in the process of starting to fill in technical details in the design document, I suppose one of the things I should attempt to do while I'm doing that is develop a list of yes/no/short answer questions that I can toss up to whoever I find willing to entertain them. The real appeal to HE is the completeness, though... Is there anyone who has used it that has any thoughts on what tools (aside from 3DS Max or Maya) need to be acquired outside of a HeroCloud subscription?

Share this post


Link to post
Share on other sites

HeroEngine also has capability to help get you resources you need. I am posting this as the social media and community manager for HeroEngine, and I know I am around the net as well as on Twitter, FB and G+ to help folks out and share news about their games. So there is some help with marketing in that way :). If you have any questions, please let me know. I am here to help :)

Share this post


Link to post
Share on other sites
I used to use Hero Engine for my MMO project and I was beyond satisfied. The real time editing was amazing. Not having to wait for a new build to compile is priceless.

One thing I noticed you didn't mention, was all the included licenses you get with HE. The list is quite impressive after factoring in the cost for each individual license.

If you are making an MMO I highly recommend HE. If you are making something smaller, say 2D RPG, then stick to Unity or another engine.

Share this post


Link to post
Share on other sites

I used to use Hero Engine for my MMO project and I was beyond satisfied. The real time editing was amazing. Not having to wait for a new build to compile is priceless.

One thing I noticed you didn't mention, was all the included licenses you get with HE. The list is quite impressive after factoring in the cost for each individual license.

If you are making an MMO I highly recommend HE. If you are making something smaller, say 2D RPG, then stick to Unity or another engine.


Excellent feedback tekniko. Super fair re smaller 2D RPGs as well.

Share this post


Link to post
Share on other sites

If you are making something smaller, say 2D RPG, then stick to Unity or another engine.

Why do you say that? Are there aspects of HeroEngine that you think are overengineered, perhaps?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By 3dmodelerguy
      So I am building a turn based rogue-like (think CDDA). The game is going to have a very large map (up to 1000's x 1000's) however to alleviate most of that I obviously can't render everything so there will just be render a certain radius around the player and just load in and out data as the player moves.
      The next major system I am prototyping is making interactive tiles destructible and pretty much everything will be destructible besides basic landscape (cars, doors, windows, structures, etc. will be destructible)
      While I am only rendering a certain amount of tiles around the player, I want to keep the amount of colliders active at one time to be as small as possible for performance and currently the tilemap tool I use automatically merges colliders together.
      So instead of creating a separate colliders for each of these tiles and having the destructible behavior tied to that object (which my tilemap tool would allow me to do) I was thinking that I would store an array of all the X and Y locations for the interactive tilemap layer and let the tilemap manage the colliders. 
      Then when I hit a collider on the interactive tilemap layer, instead of of getting the behavior for how to deal with the destruction for that tile from that game object, I would pull it from the array I mentioned earlier based on the tile I attempt to interact with which I already have.
      Does this sound like a good approach? Any other recommendations would be welcomed.
    • By NDraskovic
      Hey guys,
      I have a really weird problem. I'm trying to get some data from a REST service. I'm using the following code:
       
      private void GetTheScores() { UnityWebRequest GetCommand = UnityWebRequest.Get(url); UnityWebRequestAsyncOperation operation = GetCommand.SendWebRequest(); if (!operation.webRequest.isNetworkError) { ResultsContainer rez = JsonUtility.FromJson<ResultsContainer>(operation.webRequest.downloadHandler.text); Debug.Log("Text: " + operation.webRequest.downloadHandler.text); } } The problem is that when I'm in Unity's editor, the request doesn't return anything (operation.webRequest.downloadHandler.text is empty, the Debug.Log command just prints "Text: "), but when I enter the debug mode and insert a breakpoint on that line, then it returns the text properly. Does anyone have an idea why is this happening?
      The real problem I'm trying to solve is that when I receive the text, I can't get the data from the JSON. The markup is really simple:
      [{"id":1,"name":"Player1"},{"id":2,"name":"Player2"}] and I have an object that should accept that data:
      [System.Serializable] public class ResultScript { public int id; public string name; } There is also a class that should accept the array of these objects (which the JSON is returning):
      [System.Serializable] public class ResultsContainer { public ResultScript[] results; } But when I run the code (in the debug mode, to get any result) I get an error: ArgumentException: JSON must represent an object type. I've googled it but none of the proposed solutions work for me.
      Also (regardless if I'm in the debug mode or not) when I try to do some string operations like removing or adding characters to the GET result, the functions return an empty string as a result
      Can you help me with any of these problems?
      Thank you
    • By nihitori
      The Emotional Music Vol. I pack focuses on beautiful and esoteric orchestral music, capable of creating truly emotive and intimate moods. It features detailed chamber strings, cello and piano as the main instruments, resulting in a subtle and elegant sound never before heard in video game royalty-free music assets.

      The pack includes 5 original tracks, as well as a total of 47 loops based on these tracks (long loops for simple use and short loops for custom / complex music layering).

      Unity Asset Store link: https://www.assetstore.unity3d.com/en/#!/content/107032
      Unreal Engine Marketplace link: https://www.unrealengine.com/marketplace/emotional-music-vol-i

      A 15 seconds preview of each main track is available on Soundcloud:
       
    • By RoKabium Games
      Another one of our new UI for #screenshotsaturday. This is the inventory screen for showing what animal fossils you have collected so far. #gamedev #indiedev #sama
    • By eldwin11929
      We're looking for programmers for our project.
      Our project is being made in Unity
      Requirements:
      -Skills in Unity
      -C#
      -Javascript
      -Node.js
      We're looking for programmers who can perform a variety of functions on our project.
      Project is a top-down hack-and-slash pvp dungeon-crawler like game. Game is entirely multiplayer based, using randomized dungeons, and a unique combat system with emphasis on gameplay.
      We have a GDD to work off of, and a Lead Programmer you would work under.
      Assignments may include:
      -Creating new scripts of varying degrees specific to the project (mostly server-side, but sometimes client-side)
      -Assembling already created monsters/characters with existing or non-existing code.
      -Creating VFX
      -Assembling already created environment models
      If interested, please contact: eldwin11929@yahoo.com
      This project is unpaid, but with royalties.
       
      ---
      Additional Project Info:
      Summary:
      Bassetune Reapers is a Player-verus-Player, competitive dungeon crawler. This basically takes on aspects of dungeon crawling, but with a more aggressive setting. Players will have the option to play as the "dungeon-crawlers" (called the 'Knights', or "Knight Class", in-game) or as the "dungeon" itself (literally called the 'Bosses', or "Boss Class", in-game). What this means is that players can choose to play as the people invading the dungeon, or as the dungeon-holders themselves.
      Key Features:
      -Intense, fast-paced combat
      -Multiple skills, weapons, and ways to play the game
      -Tons of different Bosses, Minibosses, creatures and traps to utilize throughout the dungeon
      -Multiple unique environments
      -Interesting, detailed lore behind both the game and world
      -Intricate RPG system
      -Ladder and ranking system
      -Lots of customization for both classes s of customization for both classes
  • Advertisement