Everything You Need to Get Started
Welcome to the HeroEngine® Wiki! This site contains all of the documentation and reference material for the entirety of the HeroEngine. 95% of this material also applies to the HeroCloud®, which is simply the HeroEngine but with the servers hosted in our cloud clusters. Pages with the SERVER image at the top are in the 5% that only apply to HeroEngine Source Licensees who are operating their own local server hardware. If you're new to the HeroCloud, dive into the pages listed immediately below. They'll get you an overview of everything you need to know to get started, after that just start searching when questions come up, or ask anything in the Forums. But please keep in mind that many developers have different lexicons when it comes to terminology, so if you don't find what you're looking for, try some other angles, or use a targeted Google search for more specific results. We strive to keep the information on the wiki up to date, but invariably things will slip through the cracks, so please let us know if you find anything out of place.
- Learn how to get started with HeroBlade, getting around in a world, building a new area and more!
- A very handy page, which you may wish to print out for reference.
- A forum post in which we list the answers to the questions developers ask about the logistics of getting and using the HeroCloud.
- There are a number of ways to place models into the world, but the easiest and most useful is the Library.
- More info about how to handle and manipulate assets in areas.
- Getting NPCs, or MOBs quickly into the game world.
- This is one of the most frequently asked questions. How to make paths and make things follow paths.
- The HeroEngine can be used to create huge areas with load screens in between them, or medium sized areas that are seamlessly linked to each other so that the player never hits a load screen.
- HeroEngine allows for the creation of extremely complex environments and game objects that are capable of dynamic changes, which can be triggered by game events or player actions.
- Detailed instructions on how to create a script which will cause an object on the screen to move when the mouse pointer approaches
- We've recorded a number of videos from our training sessions. The first of the series, My First HSL Script, is now available
- The GUI Editor is easy to use, and a relatively powerful way to get new Graphical User Interface elements into your world.
- We've recorded a number of videos from our training sessions. The Video Series "HSL For Programmers" comes in 3 parts, and assumes you have working knowledge of the fundamentals of programming languages.
- The Clean Engine comes with some default cameras, but you'll want to change and replace how cameras and mouse movement works to better suit your game.
- Quickstart on HSL, for experienced programmers
- List of the hardcoded HSL commands
- Many new developers are looking for a Main Loop, and there isn't one, since the engine is event driven, but script entry points is what you want to start thinking about.
- These tutorials are designed to bridge the gap between standard single player object oriented programming, and the far more complex online, client to server environment using HSL. They won't give you a cookie cutter implementation of common game systems. We leave that engineering work up to you as you architect the overall vision for your game and its systems.
- System Areas and like services. They are leveraged to provide most of the common service functionality in online games: Auction Houses, Matchmaking systems, etc.
- The Lobby system is part of the foundation framework pieces you can wire into your own game. It's a complicated system we've built for you that has a number of practical uses, so don't forget about it.
- Follow this page if you plan to use 3ds Max to build art assets in the HeroEngine.
- Follow this page if you plan to use Maya to build art assets in the HeroEngine.
- Information on how to setup an art depot. The art depot is a folder structure that maps to the Repository Browser, to keep the paths to your art files consistent.
- This page, along with the accompanying video tutorials, explain how to create and upload a simple textured object.
- How to create all types of assets in 3ds Max or Maya and export them via the Hero Export, so the artists can use the Repository Browser to move the asset files into the Repository
- This page should have all you need to get your Art Pipeline Setup.
- The art and rendering requirements to create a new character
- Hero Character Tools is a script that automates the steps that are normally done by hand with the initial set up of a character. Please refer to the creating static characters and dynamic characters tutorials for reference on how to do these steps manually.
- Static Characters can be considered as 'fixed' characters as they have no swappable parts and are exported with the geometry and skeleton together.
- An advanced tutorial for creating characters with swappable parts, and a glossary and flow chart showing how the parts of a character fit together.
- Various ways of applying Animation (vda) to a character, by briefly touching on the processes of different types of animations and the accompanying animation sequences (ASQ).
- We walk you through making a skin blend material on a Dynamic Character.
- We walk you through making a tintable texture on a Dynamic Character.
- The files needed to set up a character folder
Engine Architecture Level Information
- Frequently, engineers working with the HeroCloud find themselves understanding how pieces work, but not how they fit together.
- The guts of the HeroEngine architecture. Relevant mostly only to source code licensees.
- How to think about the difference between an offline and an online game.
- Ways to communicate data between players in an online environment include replication and Remote Calls.
- A flexible and powerful way to handle object definitions.
- The most commonly asked question, and the most poorly done implementations we see revolve around "Combat". But the answer to how to implement combat is really the answer to how to think about all systems in an online environment.
- Everything you do in an online environment comes down to "synchronous" connections and "asynchronous" connections.
- Many developers get stuck on thinking of a database as an information repository you dump data into and get data out of, but it's far more interesting than that in the HeroEngine.
- You'll find 3 types of prefixes for scripts in your world. E_ are example placeholder scripts. HE_ are game type specific scripts. And _ are Clean Engine scripts. Clean engine scripts are required for the engine to work correctly. Every time the engine is updated all of the _ scripts will be clobbered. So if you need or want to change basic functionality of these Clean Engine scripts, then and only then will you need to follow this link.
Project Management Tools for Your Game
- Allow team members to work together on an area, and leave notes for each other along with screenshots
- How to add worlds and monitor resource usage. Please note: the MCC is only needed by Source Licensees managing their own servers.
- HeroBlade's bug and task tracking system
Other Helpful Pages
- An advanced overview of how to go about implementing a complicated system like player housing, or player owned instances.
- An advanced overview of how to go about implementing a complicated system like vehicles in an online environment.
- This is a top level answer to the commonly asked question "How many players does the engine support". The easy answer, is that there isn't an answer, but we give you all you need to think about here.
- This page addresses how to think about setting limits for art assets and world building in order to meet your game's and your player's needs.
- List of all HeroEngine tutorials
- The various parts and systems that a licensee gets, when they license HeroEngine
- Frequently Asked Questions