Porcelain
A newly awakened crystal being must join a team of doll-bodied warriors to protect the last free members of their kind from an ancient, encroaching darkness, all from 25 inches off the ground.
Porcelain is a third-person action game set in a world of hidden magic and human scale danger. You play as a Crystalline being who explores the world in a handcrafted resin body. Your team fights to protect themselves and the few humans who shelter you from a powerful and underestimated enemy called "The Navigator". The player steps into the role of the newest member of the team, ready to fight in a world they don't fully understand while carrying hazy memories of a place that no longer exists. Guided by the elderly Lethia Hagen and supported by three veteran teammates, the player must choose a fighting style, earn their place in the group and uncover the truth about what The Navigator is hunting for. They are small beings in a big world, and the stakes are high.
Joseph
He / Him · Support · Light ClassJoseph has been fighting for ten years and has never quite gotten used to it. He is the lightest and quickest of the three, a support fighter who prefers to work from a distance. He throws daggers, lays traps and does his best to stay out of reach. It's not because he lacks courage, but because he is honest enough to know his limits. His deep voice tends to surprise people who expect it to match his nerves, and his nerves tend to surprise people who expect them to have faded by now. He is thoughtful, self-deprecating, and quietly loyal. He will complain about every mission and show up for every single one.
| Asset ID | Line Type | Bark | Delivery Note | Char |
|---|---|---|---|---|
| JOE_ATK_1 | Attacking | "Okay, okay… here goes!" | Hesitant, muttered under his breath. | 22 |
| JOE_ATK_2 | Attacking | "Don't take it personally." | Apologetic. He genuinely means it. | 25 |
| JOE_ATK_3 | Attacking | "I really don't want to do this…" | Spoken mid-swing. Conflicted. | 31 |
| JOE_ATK_4 | Attacking | "Hyaaah!" | Swinging above his head. | 7 |
| JOE_ATK_5 | Attacking | "Just stay down, please." | Exhausted plea. | 23 |
| JOE_INJ_1 | Injured | "Ow! Why?!" | Sharp and panicked. Immediate. | 9 |
| JOE_INJ_2 | Injured | "I felt that." | Annoyed. | 12 |
| JOE_INJ_3 | Injured | "Okay, okay- I think I'm okay." | Self-reassurance. He is not okay. | 29 |
| JOE_INJ_4 | Injured | "Uh…. a little help?" | Shaky, nervous chuckle. | 19 |
| JOE_INJ_5 | Injured | "This is not worth it!" | Muttered to no one in particular. | 21 |
| JOE_LWH_1 | Low Health | "Oh, this is bad…" | Quiet panic. | 16 |
| JOE_LWH_2 | Low Health | "I need a second." | Scared. Retreating. | 16 |
| JOE_LWH_3 | Low Health | "Just… give me a second." | Barely holding it together. | 23 |
| JOE_LWH_4 | Low Health | "I'm not going out like this." | Stubborn. Surprising himself. | 28 |
| JOE_DIE_1 | Knocked Down | "I'm sorry-" | Cut off before he can finish. | 10 |
| JOE_DIE_2 | Knocked Down | "Ahhhh!" | Low scream, as if having gut pain. | 6 |
| JOE_DIE_3 | Knocked Down | "Oh, no-" | As if fainting. | 7 |
| JOE_KIL_1 | Defeating | "Is it over?" | Disbelief. | 11 |
| JOE_KIL_2 | Defeating | "Okay. Okay, that's done." | Talking himself down. Still shaky. | 24 |
| JOE_KIL_3 | Defeating | "I didn't enjoy that." | Completely sincere. | 20 |
| JOE_IDL_1 | Idle | "We're fine. This is fine." | Personal mantra. | 25 |
| JOE_IDL_2 | Idle | "There are too many hiding spots in here… I don't love that." | Nervous energy. Scanning the environment. | 59 |
| JOE_IDL_3 | Idle | "I wasn't scared. I was being cautious. There's a difference." | Unprompted and defensive. | 60 |
| JOE_IDL_4 | Idle | "I think it's going to rain later." | Uncomfortable with silence. | 33 |
| JOE_IDL_5 | Idle | "How does everyone else make it look so easy?" | Said softly. | 44 |
| JOE_BLA_1 | Team Talk | "Nikee, stop talking and start running." | Things are getting serious. | 38 |
| JOE_BLA_2 | Team Talk | "Tirta, you're going first. Obviously." | Matter of fact. Big monster ahead. | 37 |
| JOE_BLA_3 | Team Talk | "That's a lot of them. That's…. A lot." | Counting and then regretting counting. | 37 |
| JOE_BLA_4 | Team Talk | "Nobody panic. I'm panicking a little already, but nobody else should." | Spoken quickly. | 69 |
| JOE_BLA_5 | Team Talk | "I'm saying there might be a smarter way to do this. I'm not saying I know what it is." | With self-awareness. | 85 |
Nikee
She / Her · DPS · ScoutNikee doesn't wait. She is the team's scout and its sharpest edge. She's a close-to-mid range fighter who moves like she's already three steps into a plan that nobody else has even heard yet. She is not cold, but she is economical with words, movement and patience. The betrayal of the brother-like character known as Beresh hurt her more than she will ever admit.
| Asset ID | Line Type | Bark | Delivery Note | Char |
|---|---|---|---|---|
| NIK_ATK_1 | Attacking | "You've had your chance." | Cool and cold. | 23 |
| NIK_ATK_2 | Attacking | "Don't blink." | Primed for action. | 12 |
| NIK_ATK_3 | Attacking | "Come on then!" | Invitational taunt. | 13 |
| NIK_ATK_4 | Attacking | "Eyes on me." | Deliberate. | 11 |
| NIK_ATK_5 | Attacking | "You don't know who you're messing with." | Flat. Factual. | 39 |
| NIK_INJ_1 | Injured | "Good hit." | Briefly impressed. | 9 |
| NIK_INJ_2 | Injured | "I'm still here." | Low and even. | 15 |
| NIK_INJ_3 | Injured | "That's gonna leave a mark…" | Dry. Level-headed. | 26 |
| NIK_INJ_4 | Injured | "You think that's enough?" | Exasperated. | 24 |
| NIK_INJ_5 | Injured | "Try again." | Provoking. Unafraid. | 10 |
| NIK_LWH_1 | Low Health | "Not yet…" | Stubborn refusal. | 8 |
| NIK_LWH_2 | Low Health | "I can still move." | Checking herself. Confirming it's true. | 17 |
| NIK_LWH_3 | Low Health | "Keep going. Keep going." | Above a whisper. Pushing through. | 23 |
| NIK_LWH_4 | Low Health | "It's fine, don't stop." | Said to herself. | 22 |
| NIK_DIE_1 | Knocked Down | "No-" | Short. Cut off. | 3 |
| NIK_DIE_2 | Knocked Down | "Finish it. Finish the fight." | To her teammates, not her enemy. | 28 |
| NIK_DIE_3 | Knocked Down | "Ughhh!" | As if shocked. | 6 |
| NIK_KIL_1 | Defeating | "Hmph." | Disdain. | 5 |
| NIK_KIL_2 | Defeating | "It's over." | Unbothered. | 10 |
| NIK_KIL_3 | Defeating | "That's done." | Uncelebrated. | 12 |
| NIK_IDL_1 | Idle | "I feel like we're being watched." | Instinct. She trusts it. | 32 |
| NIK_IDL_2 | Idle | "Beresh used to hate waiting…" | Said quietly. She doesn't elaborate. | 28 |
| NIK_IDL_3 | Idle | "Something's off." | On the lookout. | 16 |
| NIK_IDL_4 | Idle | "We're losing time." | Impatient. | 18 |
| NIK_IDL_5 | Idle | "Don't fall behind." | Over her shoulder. She's already moving. | 18 |
| NIK_BLA_1 | Team Talk | "Joseph, I need you to focus." | Fond impatience. | 28 |
| NIK_BLA_2 | Team Talk | "Tirta, you're needed up front." | Direct. No filler. | 30 |
| NIK_BLA_3 | Team Talk | "If something moves, you tell me." | Diligent. | 32 |
| NIK_BLA_4 | Team Talk | "I've got eyes on it. Hold your position." | Calm authority. | 40 |
| NIK_BLA_5 | Team Talk | "We don't leave anyone behind. Move." | Said once. Non-negotiable. | 35 |
Tirta
They / Them · Tank · Heavy ClassTirta is one of the heaviest things in any room they walk into, and not just because of the metal components making up their body... but because they are the team's anchor. A tank fighter who absorbs damage with the same calmness they bring to every conversation. Their crystal is larger than the others' in the team and this contributes to their mass. Non-binary and unbothered, Tirta is the simulacrum on the team who says the hard things plainly. They are not fearless. They have simply already decided that fear is not enough of a reason to stop.
| Asset ID | Line Type | Bark | Delivery Note | Char |
|---|---|---|---|---|
| TIR_ATK_1 | Attacking | "You picked the wrong fight." | Deadly. | 27 |
| TIR_ATK_2 | Attacking | "I'll make this quick." | Not a boast. | 21 |
| TIR_ATK_3 | Attacking | "Stay behind me." | Steady. Protective. | 15 |
| TIR_ATK_4 | Attacking | "Don't get up." | A warning. Not a boast. | 13 |
| TIR_ATK_5 | Attacking | "I said stay back." | Repeated warning. Still calm. | 17 |
| TIR_INJ_1 | Injured | "Is that all?" | Genuine curiosity. | 12 |
| TIR_INJ_2 | Injured | "Ha." | One syllable. Completely fine. | 3 |
| TIR_INJ_3 | Injured | "You're going to need to hit harder than that." | Even tone. No anger. | 45 |
| TIR_INJ_4 | Injured | "Good. Now I don't need to hold back." | With a smirk. | 36 |
| TIR_INJ_5 | Injured | "I felt that one." | Rare admission. Still not stopping. | 16 |
| TIR_LWH_1 | Low Health | "Something's wrong with the body." | Clinical. No panic. Analytical. | 32 |
| TIR_LWH_2 | Low Health | "I need a moment. Just a moment." | Rare for them to say this. | 31 |
| TIR_LWH_3 | Low Health | "Still standing." | Said to reassure the team. | 15 |
| TIR_LWH_4 | Low Health | "Don't stop, I'll keep up." | Waving off concern. | 25 |
| TIR_DIE_1 | Knocked Down | "Keep going." | Simple. Final. To the team. | 11 |
| TIR_DIE_2 | Knocked Down | "I'm…not…done." | Struggling to stay conscious. | 13 |
| TIR_DIE_3 | Knocked Down | "...oh." | Surprised by it. The quietest fall. | 6 |
| TIR_KIL_1 | Defeating | "Rest now." | Quiet dignity. | 9 |
| TIR_KIL_2 | Defeating | "Good." | Satisfied. | 5 |
| TIR_KIL_3 | Defeating | "Next." | Already looking ahead. | 5 |
| TIR_IDL_1 | Idle | "The metal helps. Being this heavy keeps me present." | Reflective. Grateful. | 51 |
| TIR_IDL_2 | Idle | "I like it here. It's quiet." | Peaceful. | 27 |
| TIR_IDL_3 | Idle | "The body is heavy today. That's alright." | Grounded. | 40 |
| TIR_IDL_4 | Idle | "The air is a little chilly." | Distracted. | 27 |
| TIR_IDL_5 | Idle | "I wonder if the Navigator feels anything." | Mind wandering. Unsettling. | 41 |
| TIR_BLA_1 | Team Talk | "Joseph, breathe…" | Plain. Said once a day. | 16 |
| TIR_BLA_2 | Team Talk | "Nikee went ahead… again." | Smiling. Not afraid. | 24 |
| TIR_BLA_3 | Team Talk | "We've been worse… Have we been worse?" | Dry humour. Rare for them. | 37 |
| TIR_BLA_4 | Team Talk | "Stay close. Both of you." | Protective instinct. | 24 |
| TIR_BLA_5 | Team Talk | "Nobody dies today." | Meant completely. | 18 |