Other FAQ

Jump to: navigation, search


When can I upgrade to the latest version of HeroEngine?

Because an upgrade applies to the entire world, as there are both server and client changes, there are a few conditions that need to be met before you can upgrade:

Once these conditions have been met we can look into scheduling your world for an upgrade slot.


What is the blinking cursor on the screen?

Thats a debugging aid in the player client, basically it is notifying you that there are error messages that you may want to review. Toggling the error message display is done via the client external function call NotifyStateChange("OBFUSCATE_TEXTMSG"). However, it occurs to me that we did not expose an easy way to simply disable the display. We'll default it to not display and expose an external function (I think) to toggle the capability on if you need it in the next release.

Why do I get a "diff error" when I try to open a history file?

The diff tool used by the script editor is a configurable option, by default we use P4Merge/Diff which is available as a free download from Perforce's website. You are free to use whatever tool you prefer however and can configure it via the Tools->Options menu in the script editor.


What types of fonts does HeroEngine support?

HeroEngine supports both TruType (.TTF) and Microsoft Windows bitmapped (.FON) fonts.

How do I reset the HeroBlade panels to their default locations?

The panel configuration is saved in an xml file on your computer, deleting that should cause the panels to revert to their defaults.

Missing panel#One of my HeroBlade panels is broken.2Fmissing.2Fbuggy

The Tools->Options thing is a known issue pending the expansion of the options menu to cover all of the features we intend it to support, and does not currently save.

When I create a new class in the DOM editor what package should I use?

Definitions/scripts/files created by a licensee should always be in the default "GAME" distribution package. Distribution package overview

Enhancements, bug fixes and new features often rely on the inclusion of definitions/scripts/files that support them. Distribution packages are used by HeroEngine to identify the definitions/scripts/files that must be included in an update of HeroEngine. Anything marked as part of a non-game distribution package is bundled up and applied as a part of the upgrade process for a licensee world(s). An intended consequence of this is that things in the non-game distribution packages are overwritten by version included in an update.

So, for example, while you are free to make modifications to scripts in the required package any changes made will be replaced by the new version of the script included in the update. Generally, modification of required scripts is done to debug or understand how something works.

external function EnumerateGraphicsOptionSwitches() as List of String
external function SetGraphicsOptionSwitch(option as String, value as Boolean)
external function GetGraphicsOptionSwitch(option as String) as Boolean
external function EnumerateGraphicsOptionValues() as List of String
external function SetGraphicsOptionValue(option as String, value as Float)
external function GetGraphicsOptionValue(option as String) as Float
external function SetFullScreenMode(width as Integer, height as Integer) as Boolean
external function SetWindowedMode()
external function GetAspectRatio(bestGuess as Boolean) as Float
external function SetAspectRatio(ratio as Float)
// Shadows --------------
external function SetDirectionalShadows(setValue as Boolean)
external function SetOmniShadows(setValue as Boolean)
external function SetStaticShadowFiltering(set as Boolean)
external function SetUltraStaticShadowFiltering(set as Boolean)
external function SetDynamicShadowFiltering(set as Boolean)
external function SetStaticShadowViewableRange(set as Float) // 50 units by default
external function SetDynamicShadowViewableRange(set as Float) // 10 units by default
external function SetHighShadowResolution(onoff as Boolean) // If onoff is true, it sets it to high resolution, else low resolution
external function SetBlobShadows(onoff as Boolean)
external function GetBlobShadows() as Boolean
external function GetDirectionalShadows() as Boolean
external function GetOmniShadows() as Boolean
external function GetStaticShadowViewableRange() as Float
external function GetDynamicShadowViewableRange() as Float
external function SetTerrainSlopeThreshhold(angle as Float)  
// sets the threshhold for the "Too Steep" checkbox on the terrain panel; default = 45

Is there a fast way to search for scripts in the HeroScriptEditor?

The HeroScript editor does have a "Find in All Scripts" search capability so you can easily search on all server or all client scripts for any term of interest.

In the HeroScriptEditor, simply hit cntrl-shift-A to invoke the search GUI or use the menu option Search -> Find in All Scripts


An upcoming feature of HeroEngine is the Named Package Group system which allows your developers to group scripts, DOM definitions, areas, prototypes etc into conceptual categories, the primary use is for the World and Live Push technologies but the grouping is also useful for purely informational purposes as well.

Does HeroEngine support an offline mode, where players can explore the game world alone?

At one time in very early development HeroBlade supported this, but as the engine has matured the ties between server and client have grown and we did not provide offline analogs for the countless systems that would need them to provide for an offline mode. Even if we were to create a viewer allowing you to view the LRC's cached version of the area while offline, it would not allow you to "wander" the area because wandering would depend on characters, scripts and the GOM/DOM (all of which require connections to the server for one thing or another). The best you could do would be fly a camera through the game level without any kind of game logic running.

How do I implement and test abilities that I have created?

Allow me to take a moment to point out that the ability system in your evaluation world is 100% a Hero's Journey concept and not part of the engine itself. Of course we don't mind you using it during your evaluation period, but it is important to know that how it works does not necessarily have anything at all to do with how you might write your own ability/spell/whatever system for your game.

There is a /ability chat command implemented for Hero's Journey that allows you to arbitrarily add a new ability to your list of abilities which will allow you to test out the ability. I believe that will add an icon to the HJ ability bar automatically which you can view the game GUI by entering player mode and hitting cntrl-G for "game" mode.

As far as testing an NPC ability, you should be able to grant the ability to yourself in the same fashion. Making an NPC use an ability is a much bigger topic where you must consider how you define and factory up yours NPCs (Hero's Journey uses our NPC spec oracle) and implement AI that has the smarts to use abilities. This is treading into a large number of HJ's systems that are interlaced to take advantage of functionality of the others (NPCs, spawn mechanics, AI, ability specs, ability lists, combat effects specs, events raised by HJ specific systems and so on).

Why can't I travel between areas?

The most common reason for travel to fail is that there was insufficient resources to spin up a new instance, this might occur if you have spun up a lot of instances of areas and marked them to be kept up or disabled the area spindown mechanism that normally spins down inactive areas after a period of inactivity $HEROENGINEAREASPINDOWN. The other somewhat common reason would be that your database server is under load due to external processes (backups etc) which would result in areas timing out while trying to spin up.

Does HeroEngine support double sided polygons?

No HeroEngine only supports single sided polygons.

Does HeroEngine support vertex coloring?

Yes, you can use the vertex paint modifier in max to vertex color an object.

How often does a plugin pump function get called?

HeroScript Extension Plugins that are set to be pumped are called each server frame.

Where did my area go? I'm not seeing what I created.

If you are either "stuck" at the splash screen, or your character seems to be floating in a void and you can't see anything, what may have happened is that your work in your last session was being done in a play instance and not in an edit instance. If this is the case, your work was unfortunately lost. Your character is now in the last known location from the play instance, but if the character was standing on a heightmap, and the heightmap is now gone, this means that the "room" information was lost as well.

Personal tools