Go Back
Penanggal
Project Info
Project Status
Project Type
Project Duration
Game Engine
Language(s)
Platform
Primary Role(s)
Team Size
Closed
Group Project Studio 2 (GPS2)
3 Months (September 2023 - December 2023)
Unity
C#
Android
Gameplay Programmer, VFX Programmer, UI/UX Programmer
10 (3 Designers, 3 Artists, 4 Programmers)
About
Penanggal is a 3D horror game for Android, where players take on the role of a pregnant woman returning to her childhood home, only to become trapped within its haunted walls. To survive, players must evade a malevolent ghost by hiding in wardrobes and solving environmental puzzles that unlock pathways through the house. In this project I focused primarily on the visual aspects of the game. I deepened my understanding of lighting techniques. I was also responsible for creating particle effects and applying post-processing techniques, which enhanced the game's polish and atmosphere. This way my second experience working in a collaborative, studio-like environment, with 3-6 months of Unity experience at the time.
Roles and Responsibilities
-
Designed and Implemented Gameplay Mechanics, including:
-
Player head bobbing (Polish)
-
Integrated scripted events to guide narrative progression and create scares and immersion
-
-
Developed and Integrated UI Elements, such as:
-
Main menu, options menu, pause menu
-
Level loader with fade-in and fade-out transitions to enhance scene transitions
-
-
Implemented Visual Effects:
-
Created candle flame particle effect and flickering effects
-
Dust particles in the environment
-
Blood splatter when player is attacked
-
Baked lightmaps for bright and dark settings, dynamically switching based on candle light
-
Applied post-processing effects, including tonemapping, color adjustments, bloom, depth of field (DOF), vignette, chromatic aberration, and film grain for a cinematic horror look.
-
-
Implemented Audio System for:
-
Ambient noise, sound effects (certain sound effects are 3D audio)
-
-
Level Design and Optimization:
-
Built all levels according to designer's mockup
-
Imported and implemented 3D models, 2D textures, and animations
-
Player Head Bobbing
Head Bob scripts creates a head-bobbing effect while walking by adjusting the camera's position with horizontal and vertical offsets based on sine and cosine calculations. The camera smoothly moves towards the target position, and snaps to it when close enough to prevent jittering.


Scripted Events
I implemented most of the environmental scripted events such as scripted event: 2, 4, 6, 7, 8. (Watch the gameplay video to see.)
-
Scripted Event 2:
-
Triggers a woman's crying sound (3D audio) when player step foot into the hallway.
-
-
Scripted Event 4:
-
Break all lights in the house, plunging player into darkness when they picks up the lighter.
-
-
Scripted Event 6:
-
Glass-breaking sound will be triggered from a distance when player burn their first cursed paper.
-
-
Scripted Event 7:
-
TV will turn on by itself and play a song in the background when player picks up the bedroom key.
-
-
Scripted Event 8:
-
Initially, the pocong face forward, toward the player. After the player burns the last cursed paper and walks past them, a sudden sound of chairs moving fills the room. When the player turns back, they see that all the pocong have turned to face them.
-
UI / Menu
-
Main Menu
-
Options Menu
-
Credits Menu
-
-
In-game HUD:
-
Pause Button
-
-
Pause Menu
-
Game Over Screen




VFX
Candle Light with Flickering
Flickering effect done by adjusting a light source's intensity over time. Using a sine wave, it varies the light's brightness based on flickerIntensity and flickerPerSecond, with speedRandomness adding subtle speed variation for a more natural flicker effect.


Dust Orbs
Blood Splatter
Post Processing
Applied tonemapping, color adjustments, bloom, depth of field, vignette, chromatic aberration, and film grain to enhance the visual quality and intensify the eerie atmosphere of the game.




Without Postprocessing




With Postprocessing


