<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="https://oldwiki.frictionalgames.com/lib/exe/css.php?s=feed" type="text/css"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Frictional Game Wiki hpl3:engine</title>
    <subtitle></subtitle>
    <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/"/>
    <id>https://oldwiki.frictionalgames.com/</id>
    <updated>2026-06-11T00:03:25+00:00</updated>
    <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
<link rel="self" type="application/atom+xml" href="https://oldwiki.frictionalgames.com/feed.php" />
    <entry>
        <title>Entities</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/entities?rev=1443428949&amp;do=diff"/>
        <published>2015-09-28T08:29:09+00:00</published>
        <updated>2015-09-28T08:29:09+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/entities?rev=1443428949&amp;do=diff</id>
        <summary>Entities

General

In general all “.ent” files are created in the model editor tool. Exactly how an entity functions is largely up to the app using the engine. Entities can be background props, enemies, and pretty much whatever. For more specific information on the basic types that are provided in the default game setup, check the</summary>
    </entry>
    <entry>
        <title>Graphics Debug</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/graphics_debug?rev=1442487266&amp;do=diff"/>
        <published>2015-09-17T10:54:26+00:00</published>
        <updated>2015-09-17T10:54:26+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/graphics_debug?rev=1442487266&amp;do=diff</id>
        <summary>Graphics Debug

Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities.

Start Depth.exe in Dev mode and then press F1 to bring up the Debug Toolbar. The two groups that are important are the</summary>
    </entry>
    <entry>
        <title>Materials</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/materials?rev=1349771950&amp;do=diff"/>
        <published>2012-10-09T08:39:10+00:00</published>
        <updated>2012-10-09T08:39:10+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/materials?rev=1349771950&amp;do=diff</id>
        <summary>Materials

----------

General

The size of texture simply means in relation to other textures of the material. 100% means that it is max size (which is normal whatever size diffuse) has, while 50% means half of the max, size and so on. This information just general outlines though. It is nothing that needs to be followed, but is good for optimization needs.</summary>
    </entry>
    <entry>
        <title>Model Export</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/model_export?rev=1543909678&amp;do=diff"/>
        <published>2018-12-04T07:47:58+00:00</published>
        <updated>2018-12-04T07:47:58+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/model_export?rev=1543909678&amp;do=diff</id>
        <summary>Model Export

HPL3 mainly uses Collada for importing models into the engine binary format, so this guide will only be about the Collada format (.dae). First of there will be some general information that concerns all 3d modelers. After that there will be some more specifics for the mayor packats</summary>
    </entry>
    <entry>
        <title>Naming Convention</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/naming_convention?rev=1497521458&amp;do=diff"/>
        <published>2017-06-15T10:10:58+00:00</published>
        <updated>2017-06-15T10:10:58+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/naming_convention?rev=1497521458&amp;do=diff</id>
        <summary>Naming Convention

Level Editor

The following is an overview of how different game elements should be named when created inside the Level Editor. For anybody working for Frictional Games, this is a must. For all else, see it as guidelines to have consistent style, which is especially good if you want share your stuff.</summary>
    </entry>
    <entry>
        <title>Optimizations</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/optimizations?rev=1442487548&amp;do=diff"/>
        <published>2015-09-17T10:59:08+00:00</published>
        <updated>2015-09-17T10:59:08+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/optimizations?rev=1442487548&amp;do=diff</id>
        <summary>Optimizations

Below are various important adivice on how to get the most out of the engine. Most of these have to do with getting it to run as fast as possible, but some have to to with visual quality aswell.

Transparency

Avoid overlap

Translucent materials are quite costly perfomance-wise to render and because they both have to read and write for each pixel. At the same time many effects that use translucent materials, like billboards and particle systems, have effects that depend on overla…</summary>
    </entry>
    <entry>
        <title>Rendering</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/rendering?rev=1400578389&amp;do=diff"/>
        <published>2014-05-20T09:33:09+00:00</published>
        <updated>2014-05-20T09:33:09+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/rendering?rev=1400578389&amp;do=diff</id>
        <summary>Rendering

Environment Particles

Overview

Environment particles is a way of adding a uniform volume of particles that cover an entire world in the engine. It is useful for things like rain, snow and water particles. They way it works is the engine keeps track of a single volume that is then tiled across the entire map. Think of this volume just like a texture that tiles across a large 2D plane. When each particle is reaches the edge of the tiled volume, it wraps a around, thus forming a seamle…</summary>
    </entry>
    <entry>
        <title>Script</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/script?rev=1593587227&amp;do=diff"/>
        <published>2020-07-01T07:07:07+00:00</published>
        <updated>2020-07-01T07:07:07+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/script?rev=1593587227&amp;do=diff</id>
        <summary>Script

Code style

The following is an overview of how the code should look like. For anybody working for Frictional Games, this is a must. For all else, see it as guidelines to have consistent code which is especially good if you want share your stuff.</summary>
    </entry>
    <entry>
        <title>Sound</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/sound?rev=1391694819&amp;do=diff"/>
        <published>2014-02-06T13:53:39+00:00</published>
        <updated>2014-02-06T13:53:39+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/sound?rev=1391694819&amp;do=diff</id>
        <summary>Sound

FMOD

HPL3 uses FMOD to handle all sound playback. See fmod.org for more details, documentation and help. When working with sounds it is mainly the FMOD Ex Designer tool that will be of interest, the easiest way to learn how it works is to check the tutorials in FMOD's YouTube channel.

General</summary>
    </entry>
    <entry>
        <title>Static Objects</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/static_objects?rev=1339673301&amp;do=diff"/>
        <published>2012-06-14T11:28:21+00:00</published>
        <updated>2012-06-14T11:28:21+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/static_objects?rev=1339673301&amp;do=diff</id>
        <summary>Static Objects

General

Static objects are placed in the editor in the static objects edit mode. Static objects are usually the performance wise the best objects since they are combined when the level is loaded. What happens is that the engine will look for nearby objects that share the same material and settings (shadows, collider, occluder, etc) and combine these into a single mesh. This heavily reduces the number of draw calls the renderer has to do and thereby speeds up the rendering.</summary>
    </entry>
    <entry>
        <title>Terrain</title>
        <link rel="alternate" type="text/html" href="https://oldwiki.frictionalgames.com/hpl3/engine/terrain?rev=1417107228&amp;do=diff"/>
        <published>2014-11-27T16:53:48+00:00</published>
        <updated>2014-11-27T16:53:48+00:00</updated>
        <id>https://oldwiki.frictionalgames.com/hpl3/engine/terrain?rev=1417107228&amp;do=diff</id>
        <summary>Terrain

----------

Geometry

How it works

The terrain works by generating all of the visible geometry in real-time. The only data of the terrain that exists is really the heightmap. What happens is that a patch with a grid is rendered many times, each time rendering a different part of the heightmap. So if the patch size is 32 and the heihtmap is 64×64 then it takes 4 patches to render the terrain.</summary>
    </entry>
</feed>
