Christina Coffin's Avatar

Christina Coffin

@christinacoffin

Ex-AAA Rendering+Optimisation Programmer TechArtist, Designer. Stylized Art. #indiedev #solodev #gamedev πŸ³οΈβ€βš§οΈπŸ‡ΈπŸ‡ͺ Shader Illusionist ✨ AssassinsCreed2 / FC2 / BF3 / MidnightClub 2+3 She/Her mastodon.gamedev.place/@ChristinaCoffin

3,564
Followers
411
Following
1,369
Posts
17.10.2024
Joined
Posts Following

Latest posts by Christina Coffin @christinacoffin

Post image Post image

I just really need to make a genre blend shmup/action game - I loved playing The Guardian Legend for NES when it came out.

05.03.2026 00:11 πŸ‘ 8 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

kinda nice in some ways using the Viewpoint/Zaxxon angle, can be a bit more visually interesting. Huge fan of more dynamic camera angles though depending on whats going on. I just love them all(horizontal/vertical/iso view), always been hard to pick a favorite .

04.03.2026 23:48 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

need to move stuff from this side prototype project to main, but this is turning out to be a nice sandbox to test ideas super fast.

#devlog #godot #prototype #gamedev #shmup

04.03.2026 23:40 πŸ‘ 41 πŸ” 5 πŸ’¬ 2 πŸ“Œ 0
Video thumbnail

messing about with my quick iteration weekend shmup prototype sandbox for bits to migrate to main project.

quick line of sight visual marker test, enemy path patterns+mirroring. Need to test more tool ideas, complex formations+pathing,etc. #devlog #gamedev

01.03.2026 01:00 πŸ‘ 26 πŸ” 3 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

an example of putting part of the animation and complexity of the bullet into a shader. bits are locally rotated+animated together procedurally on gpu in quad shader since theyre close enough in the gameplay PoV to use single collision test on cpu. Then the bullet visual can be 2,3,4+ little spheres

26.02.2026 13:20 πŸ‘ 7 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
pattern prototype scene and assets for 8-turret bullet emitter animation

pattern prototype scene and assets for 8-turret bullet emitter animation

still prototyping the workflow based on using it, but so far I like simple godot curve object that I can independently adjust timing+scale to drive emission and pacing + mix together.

These combine into a block of animation , and then I can re-use + retime them sort of like composing audio beats

26.02.2026 12:49 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

prototyping some homemade workflow tools for projectile patterns for player and/or enemy.

trying quick stylized 3d sphere quad impostors for the bullets, not using texture or pre-rendered sprite.
#godot #gamedev #shmup #devlog

26.02.2026 04:29 πŸ‘ 75 πŸ” 7 πŸ’¬ 5 πŸ“Œ 0

"no im not a member, no i don't wanna be a member, i dont care if it saves me money, im not installing your malware app" i mumble as I visit every store and want to buy things.
I straight up stopped going to a boba tea place because they didnt want to take no for an answer about their app.

23.02.2026 04:09 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

imagine being me and spending alot of time in the past learning hardsurface tools and ****ing with trimsheets and all that other stuff, only to embrace lowpoly and minimalist style that also dodges texturing whenever it can. lol . I didnt even chamfer this.

22.02.2026 13:33 πŸ‘ 12 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

If you like learning by visuals, go here www.shadertoy.com
Try to learn how to code/remix shaders by hand , not just by using visual shader node editors.
And read and understand the mathematics of articles here iquilezles.org/articles/
A lot of it is practice + experimentation to find your style

22.02.2026 13:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
	ALBEDO = outline_color.rgb;
	float ramp = 0.0;
	ramp += (v_vertex_local.z-.3)*20.0;
	ramp = clamp(ramp, 0.0, 1.0 );
	ramp += (sin(  ( -v_vertex_local.z * 5.0)+  (-TIME*5.0)  ));
	ramp = clamp(ramp, 0.0, 1.0 );
	ALBEDO *= vec3(ramp*1.1);
	ALBEDO += 2.0*outline_color.rgb * step(v_vertex_local.z , -0.02);// glow the part intersecting sphere

ALBEDO = outline_color.rgb; float ramp = 0.0; ramp += (v_vertex_local.z-.3)*20.0; ramp = clamp(ramp, 0.0, 1.0 ); ramp += (sin( ( -v_vertex_local.z * 5.0)+ (-TIME*5.0) )); ramp = clamp(ramp, 0.0, 1.0 ); ALBEDO *= vec3(ramp*1.1); ALBEDO += 2.0*outline_color.rgb * step(v_vertex_local.z , -0.02);// glow the part intersecting sphere

random tech bit: The animating glowy outline on the drone nose is done by passing the model's local space z-axis vtx coord as a varying to the fragment function ,then used as gradient input for computing an animated color per pixel on that outline. no gradient texture or UV coords needed, just math

22.02.2026 12:56 πŸ‘ 6 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

lowpoly shmup style 'option' type drone
with a stylized inversion shader for the thrust sphere with some visual goodies depending on the viewing angle.

#godot #gamedev #shaders

22.02.2026 12:44 πŸ‘ 132 πŸ” 14 πŸ’¬ 4 πŸ“Œ 0
My cat Safir

My cat Safir

My cat Saffran

My cat Saffran

It’s been 1 year since I adopted my cats Safir and Saffran from a shelter. Time flies. I love them very much and I’d say they have healed me in a way that’s hard to describe. Every shader witch needs a familiar or two :)

22.02.2026 06:11 πŸ‘ 118 πŸ” 3 πŸ’¬ 3 πŸ“Œ 0
Preview
A MAZE. / Berlin 2026 Get your early bird tickets and save the dates for A MAZE. / Berlin 2026 on May 13 β€” 16, 2026.

since im awake at 5am and feeling productive,

booked tickets for A MAZE. / Berlin 2026 (May13-16)
2026.amaze-berlin.de

and Nordic Game (may26-28)
nordicgame.com

22.02.2026 04:58 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Got my ticket to GodotCon !

Looking forward to going!
Always a joy to chat about shaders and gamedev stuff at conferences :)

22.02.2026 04:32 πŸ‘ 25 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

ingame test

21.02.2026 21:14 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

#godot #rtvfx #wip #gamedev
*vfx photosensitivity warning*

indulging in some in shader/vfx stuff today , I limit myself to 1 day on a new thing. And then its back to gameplay + systems workstuff.

laser + hit impact test
no textures, basic primitives + builtin particle system. +custom shaders

21.02.2026 21:08 πŸ‘ 135 πŸ” 14 πŸ’¬ 4 πŸ“Œ 0
Post image

back to blender for a bit to work through some model sketch ideas

21.02.2026 02:04 πŸ‘ 15 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

one of the reasons I like large hp bars + extra non diegetic ui over compact mini ones is when things go crazy with missile swarms, these stand out.
There's also aesthetic flavor and setting being reinforced by them.
One thought is players may think target threat level = more ui details as well

20.02.2026 20:20 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

A fixed 'boss bar' at top of the screen or a mini lifebar on swarms of fodder stuff still makes sense for some things, so i'll see where the balance of different ui display methods goes

20.02.2026 19:58 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

one of my ui prototype goals was to come up with a dynamic infoplate (for elite/boss) that would slide to the opposite side of the enemy relative to the player to try some more complex and tactical ui info on a couple targets that keeps the line of combat+action between target and the player clear

20.02.2026 19:57 πŸ‘ 22 πŸ” 2 πŸ’¬ 2 πŸ“Œ 0

caught using a unique named node in a script that's attached to nodes in 2 different heavily instantiated scenes, but that unique named node is not present in one of the scenes that's optimized to have less nodes + be more lightweight.

I still love % unique named nodes

20.02.2026 18:37 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

"hmm what's that lag"

"oh.."

(fixed now, funny node not found error bug+spam while creating a bullet hell experiment)

20.02.2026 18:26 πŸ‘ 9 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

getting free dopamine from my new test loot pickups and loot vacuum + collection UI. I think we call this done for now.
#godot #gamedev #prototype #devlog

20.02.2026 13:48 πŸ‘ 45 πŸ” 5 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

fun bug/feature : if you never mouse cursor hover the dropped item, it will follow you forever, kind of like a shmup style bit/option, which I should work on too!

20.02.2026 02:06 πŸ‘ 6 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0
Video thumbnail

saving my mouse clicking finger implementing vacuum looting thats also sped up just hovering the cursor over the item. Trying out having Items also tend to slowly smoothfollow and orbit when dropped

20.02.2026 01:47 πŸ‘ 25 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0

Every time someone asks me that, they want something realistic and not stylized, +want me to put it in a game engine that starts with the letter β€˜U’ and I just run away real fast laughing :)
Maybe I’d do stylized stuff for someone else, but a lot of stars have to align for that

19.02.2026 15:35 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

yea I have controller input as an option where its more twinstick shooter-y and you need loot vacuum for those players.
The default looting system being tested is everything is sort of collected unidentified + 'unboxed' after return to base, and then mass ID +recycle some loot for R&D techtree/craft

19.02.2026 13:59 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

the eternal battle between loot friction and accessibility rages on

19.02.2026 13:51 πŸ‘ 6 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

also most of my loot is high techy datacore/blueprint things that are 'scanned'/decrypted and less physical objects, so its not really a physical things like fantasy arpg weapons and armor anyways

19.02.2026 13:50 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0