top of page
NPC Talking
The project, titled Whisper of the Forsaken, was developed by a two-person team where I served as the lead developer and primary coder. Utilizing tools such as Unity, Photoshop, Trello, and Discord, my main goal was to create an immersive survival horror experience. Throughout the project, I tackled challenges associated with working to a strict deadline, coordinating remotely with my team, and managing differing time constraints. These elements required efficient communication, adaptability, and careful prioritization of tasks to ensure that all critical features were implemented on time for an effective horror experience.
Role
Coder
Game Engine
Unity
team size
1 person
development time
3 day
Role and Responsibilities
In this project, I took on the role of coder, with a primary focus on designing and implementing a chat bubble system that allows NPCs (AI) to communicate dynamically with the player during interactions. The goal was to create a system that could be seamlessly integrated into NPC state machines, enabling contextual dialogue to appear based on the NPC's current behavior or the player's actions.
As the coder, my responsibilities included scripting interaction logic to trigger chat bubbles, managing dialogue states, and ensuring that the system worked harmoniously with the NPC’s AI state machine. I developed mechanisms for handling different dialogue triggers, such as proximity to the player, specific events, or interaction inputs. Additionally, I worked on optimizing the visual and functional aspects of the chat bubbles to ensure they were clear, responsive, and contributed to the overall immersion of the game.
This project provided me with valuable experience in AI development, including the intricacies of state management and the challenges of creating interactive systems that enhance player engagement. It also strengthened my ability to implement and debug features that connect gameplay mechanics with narrative elements, contributing to a richer and more immersive player experience.
Code Example
ChatBubble3D Script
This script creates dynamic, interactive 3D chat bubbles that appear in a game world. Each chat bubble displays text and an icon to visually convey a character's emotion (e.g., happy, neutral, or angry). The script supports customization for text size, alignment, and lifetime, ensuring flexibility and scalability for various in-game scenarios.
Key Features
-
Dynamic Creation of Chat Bubbles
-
Emotion Representation with Icons
-
Automatic Layout Adjustment
1. Dynamic Creation of Chat Bubbles
-
Chat bubbles are instantiated dynamically at runtime using the Create method.
-
Attach to a specified parent transform and position to integrate seamlessly into the scene.
2. Emotion Representation with Icons
-
Supports multiple IconType values (e.g., happy, neutral, angry) that are linked to predefined sprite assets.
-
Each emotion type is associated with a distinct icon for visual feedback.
3. Automatic Layout Adjustment
-
Dynamically adjusts the background size and position based on the text's rendered size.
-
Ensures the chat bubble's appearance is always proportional to the text, with customizable padding.
bottom of page