User Tools

Site Tools


Sidebar

hpl3:engine:naming_convention

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.

Remember also to look at existing code and try and copy the looks.

Entities

Type Style Example Info
Prop [Name]{_Description}{_#} Throne
Pillar_Left
Pot_Blue_12
The most important aspect remains the capitalization
Item Item_[Description]{_#} Item_MagicSword Item that the player can pick up (ends in Inventory)
Readable Readable_[Description]{_#} Readable_DeathNote Item that the player can read (ends in Notes)
Actor [Type]_[Description]{_#} Ghoul_DarkCorridor
Flesher_Patrol_2
Blocker Blocker_[Description]{_#} Blocker_DoorFrame_2 Entity used as boundary box


Areas

Type Style Example Info
Start Position Start{_DS}_[Location] Start_Begin
Start_Corridor
Start_DS_MonsterNest
The first StartPos is always called Start_Begin
Use DS for Death Scenarios
Trigger Trigger_[Verb][Object] Trigger_OpenPortcullis
Trigger_ActivateMonster
Trigger_StartSeq1
Triggers are only considered as areas that trigger
functions OnCollide and OnLookAt
Fog FogArea_[#] FogArea_14
Death DeathArea_[Location]{_#} DeathArea_Chambers_1
DeathArea_Corridor
Sound Area SoundArea_[Description] SoundArea_RockFalls Area (empty Trigger) used to position a sound
created through script
Soundscape Soundscape_[Description]{_#} Soundscape_MedRoom_2
Path Node PathNode{_RouteName}_[#] PathNode_2
PathNode_ChamberRoute_13
Player Path PlayerPath_[Location]_[#] PlayerPath_Corridor_14 Area (empty Trigger, not actual PathNodes)
used to define a sequence of player's positions
Other Types [AreaType]{_Description}_[#] GhoulHole_Chambers_1
SpawnArea_4

Sounds

Type Style Example Info
Sound Sound_[Description] Sound_RockFalls Mostly used for OneShot sounds

Lights

Type Name Example Info
Any Light{_Description}_[Type]_[#] Light_Point_3
Light_Spot_14
Light_MonsterAppears_Point_2
Allows for good use of wildcards

Particle Systems

Type Style Example Info
Any PS_[Description]{_#} PS_CeilingCrumble

Script

The following is an overview of how different game elements should be named when created inside a script. 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.

Remember also to look at existing code and try and copy the looks.

Objects

Type Style Example
Timer Timer_[Description] Map_AddTimer(“Timer_MonsterLeaves”,3,“OnTimer_MonsterLeaves”);
Sound Sound_[Description] Sound_CreateAtEntity(“Sound_MonsterScream”, …);
Particle System PS_[Description]{_#} ParticleSystem_CreateAtEntity(“PS_CeilingCrumble”, …);

Methods

Type Style Example
Trigger On[Verb]Trigger_[Name] OnCollideTrigger_DeactivateFog(){}
​​​​​​OnLookAtTrigger_PillarMusic(){}
Interaction OnInteract_[Object] OnInteract_ConfigNote(){}
OnInteract_ChamberLever(){}
Death OnDeath_[Cause] OnDeath_MonsterCorridor(){}
Change State OnConnectionStateChange_[Object] OnConnectionStateChange_PortcullisLever(){}
Sequence Seq_[Description] Seq_CallElevator(){}
Timer OnTimer_[TimerDescription] OnTimer_MonsterLeaves(){}
End Of Track EndOfTrack_[MonsterName] EndOfTrack_Monster_Corridor(){}
Other [Object]_[Verb] Corridor_SetupAfterDeath(){}
Corpse_Reset(){}
LeftPillar_Move(){}
Monster_ClimbWindow(){}


hpl3/engine/naming_convention.1495609027.txt.gz · Last modified: 2017/05/24 06:57 by alexkalopsia