Currents of War 2025
Engine - Unity
Languages - C#, HLSL, & Python for tools
A 'NPC Simulator' game made in Unity for the April 2025 itch.io gamejam 'Indie Game Clinic COLLAB JAM '25'
Since then, we've expanded it quite a bit!
You can play the older game jam submission for free in your browser,
Check out the Game Jam Release
If you'd like to support us,
You can find a more developed version on Steam & Itch.io
With future plans if we gain more interest!
Get Currents of War on Steam -or- Itch.io
The game jam was a collab jam, primarily consisting of 3 of us doing art and programming for Currents of War.
_ ellipsis9 - Programming; Background-Battle Logic using character/enemy stats like a RPG, and more
_ F2ptach - Programming & some Art assets; Events Handling, Player Input, and more
_ ProcStack(me) - Art & Visual Programming; character state machine shader, shop & item art, ui, and more
I set up the shop, the adjustable ui, animated cursor, characters, animations, and drew the items & most of the shop assets with help on a couple of 'em by F2ptach.
I also wrote the code + shaders to handle animation & dynamically coloring the character's faces, hair, & armor.
For art inspiration, I looked to -
Gameboy Advance games like Zelda Minish Cap,
Everything should be outlined with similar color hues blended!
Super Nintendo games like Secret of Mana & Final Fantasy 3/6,
Fantasy character designs with reason for the details
Original Nintendo games like River City Ransom.
Character proportions & vibes.
I wanted to create a semi 'tacky' weapons shop for the style.
To give some room for gags & chicanery!
No AI used in the creation of the art assets
The Fish Armor is not for sale!
I drew up most of the shop assets & many items in a single night,
Just had some chiptune fusion blasting and my huion screen-table going in photoshop.
Yes... I realize my age, but old habbits!
The animations blocked in another night
Everything in total, 3-4 days of art and asset prep for the game jam.
Besides tonal tweaks && end screens
Felt good getting into pixel art, I really haven't done much of it before.
Was like my highschool photoshop exploration years all over again,
But a new musician this time.
yeah photoshop for pixel art
pencil & mask layers
use what you know best!
Then I isolated all the limbs & body parts of the characters on different layers in photoshop,
And used the Puppet Tool in After Effects to animate the idle breathe, walking, & talking cycles.
Puppeting each body part as Pre-Comps,
Toggling Layer visibility of each armor type
Animating 4 characters at once!
It's free Real Estate
Exporting in Draft mode to keep the pixel aliasing on the art.
After Effects let me quickly animate & adjust without re-drawing each frame. Made a tool in python to process a kernel around pixels in an image;
Helping me make normal maps for the face, hair, & armor for the character's shader.
So now I got a little B/W to Normal Map converter tool!
Numpy feels like a super power sometimes...
One of the challenges was making sure the character's displayed with custom colors for their hair, face, armor, gloves/boots, and leggings.
I wrote a shader to handle the colorization of the character's face, hair, and armor.
Along with the sprite animation system to handle the character's idle, walk, and talk animations.
Running individual animation cycles/clips at their own FPS rates.
Neeing to write a custom editor script to allow the character's colors to be changed in Unity's Editor/Viewport,
And have it update in real-time for easier character creation.
Among other fun things like adding an animated cursor, outlines around items on hover, ui borders that auto size to the text and stay pixel perfect, etc. Give the game a try, it's a little game with some neat mechanics!
Try to make as much money as you can off these heroes coming to your shop!
Play the Game Jam Release in your browser!
Or support us with a purchase on Steam -or- Itch.io
Engine - Unity
Languages - C#, HLSL, & Python for tools
A 'NPC Simulator' game made in Unity for the April 2025 itch.io gamejam 'Indie Game Clinic COLLAB JAM '25'
Since then, we've expanded it quite a bit!
You can play the older game jam submission for free in your browser,
Check out the Game Jam Release
If you'd like to support us,
You can find a more developed version on Steam & Itch.io
With future plans if we gain more interest!
Get Currents of War on Steam -or- Itch.io
The game jam was a collab jam, primarily consisting of 3 of us doing art and programming for Currents of War.
_ ellipsis9 - Programming; Background-Battle Logic using character/enemy stats like a RPG, and more
_ F2ptach - Programming & some Art assets; Events Handling, Player Input, and more
_ ProcStack(me) - Art & Visual Programming; character state machine shader, shop & item art, ui, and more
I set up the shop, the adjustable ui, animated cursor, characters, animations, and drew the items & most of the shop assets with help on a couple of 'em by F2ptach.
I also wrote the code + shaders to handle animation & dynamically coloring the character's faces, hair, & armor.
For art inspiration, I looked to -
Gameboy Advance games like Zelda Minish Cap,
Everything should be outlined with similar color hues blended!
Super Nintendo games like Secret of Mana & Final Fantasy 3/6,
Fantasy character designs with reason for the details
Original Nintendo games like River City Ransom.
Character proportions & vibes.
I wanted to create a semi 'tacky' weapons shop for the style.
To give some room for gags & chicanery!
No AI used in the creation of the art assets
The Fish Armor is not for sale!
I drew up most of the shop assets & many items in a single night,
Just had some chiptune fusion blasting and my huion screen-table going in photoshop.
Yes... I realize my age, but old habbits!
The animations blocked in another night
Everything in total, 3-4 days of art and asset prep for the game jam.
Besides tonal tweaks && end screens
Felt good getting into pixel art, I really haven't done much of it before.
Was like my highschool photoshop exploration years all over again,
But a new musician this time.
yeah photoshop for pixel art
pencil & mask layers
use what you know best!
Then I isolated all the limbs & body parts of the characters on different layers in photoshop,
And used the Puppet Tool in After Effects to animate the idle breathe, walking, & talking cycles.
Puppeting each body part as Pre-Comps,
Toggling Layer visibility of each armor type
Animating 4 characters at once!
It's free Real Estate
Exporting in Draft mode to keep the pixel aliasing on the art.
After Effects let me quickly animate & adjust without re-drawing each frame. Made a tool in python to process a kernel around pixels in an image;
Helping me make normal maps for the face, hair, & armor for the character's shader.
So now I got a little B/W to Normal Map converter tool!
Numpy feels like a super power sometimes...
One of the challenges was making sure the character's displayed with custom colors for their hair, face, armor, gloves/boots, and leggings.
I wrote a shader to handle the colorization of the character's face, hair, and armor.
Along with the sprite animation system to handle the character's idle, walk, and talk animations.
Running individual animation cycles/clips at their own FPS rates.
Neeing to write a custom editor script to allow the character's colors to be changed in Unity's Editor/Viewport,
And have it update in real-time for easier character creation.
Among other fun things like adding an animated cursor, outlines around items on hover, ui borders that auto size to the text and stay pixel perfect, etc. Give the game a try, it's a little game with some neat mechanics!
Try to make as much money as you can off these heroes coming to your shop!
Play the Game Jam Release in your browser!
Or support us with a purchase on Steam -or- Itch.io
Dwitter 2018+
My account on a JavaScript code golfing website
Language - JavaScript 'Code Golfing' is the art of annoying your coworkers,
By writing the most obtuse code as possible,
In as few characters as you can.
This is the 'dwitter' for the top video,
Falling Circles [139/140 chars.]
I'm running a recursive function to draw circles over & over,
That are getting smaller as they go up.
After a short amount of time,
using Tan() to have them fall off the screen.
Since you want to use as few chars as possible,
You'll see variable assignment in the arguments of functions.
This might make things tricky to follow-
Hmmm, see how messy that looks?
Let me clean it up a bit for ya!
When all you get is 140 characters,
Better make each one count!
My account on a JavaScript code golfing website
Language - JavaScript 'Code Golfing' is the art of annoying your coworkers,
By writing the most obtuse code as possible,
In as few characters as you can.
This is the 'dwitter' for the top video,
Falling Circles [139/140 chars.]
I'm running a recursive function to draw circles over & over,
That are getting smaller as they go up.
After a short amount of time,
using Tan() to have them fall off the screen.
Since you want to use as few chars as possible,
You'll see variable assignment in the arguments of functions.
This might make things tricky to follow-
d=(j,r)=>{x.beginPath(),x.arc(j*4+S(t*3+r)*r,T(t)*r+r*5,S(t+=j&6)*r/5+r,0,7),x.fill(),r>2&&(r/=2,d(j-r,r),d(j,r))}
d(w=(c.width=999)/2,600)
d(w=(c.width=999)/2,600)
Hmmm, see how messy that looks?
Let me clean it up a bit for ya!
Built-in Variables & Functions -
function u(t) { [...] } - Call the code below
t - time in seconds.
c - A 1920x1080 canvas.
x - A 2D context for that canvas.
S()- Math.sin; C()- Math.cos; T()- Math.tan.
function u(t) { [...] } - Call the code below
t - time in seconds.
c - A 1920x1080 canvas.
x - A 2D context for that canvas.
S()- Math.sin; C()- Math.cos; T()- Math.tan.
d=(j,r)=>{ // Define 'd()' to call later vvv
x.beginPath(), // Start a 'path' to draw
x.beginPath(), // Start a 'path' to draw
x.arc( // Define a circle path to draw
j*4 + S( t*3+r ) * r, // Horizontal movement
T( t )*r + r*5, // Vertical 'random' animation + perspective
S( t+=j&6 ) * r/5 + r, // Make 'time' unique per + radius
0, 7), // Circle arc, draw a full circle
x.fill(), // --- Draw the circle ---
j*4 + S( t*3+r ) * r, // Horizontal movement
T( t )*r + r*5, // Vertical 'random' animation + perspective
S( t+=j&6 ) * r/5 + r, // Make 'time' unique per + radius
0, 7), // Circle arc, draw a full circle
r>2 && ( // Stop making circles when r gets low enough
r/=2, // Divide r by 2
d( j-r, r ), // Run 1st child Recursion
d( j, r ) // Run 2nd child Recursion
)
}
r/=2, // Divide r by 2
d( j-r, r ), // Run 1st child Recursion
d( j, r ) // Run 2nd child Recursion
)
d( // Start Recursion
w=( c.width=999 )/2, // Sets resolution & X placement
600 // Circle generation count + seed
)
w=( c.width=999 )/2, // Sets resolution & X placement
600 // Circle generation count + seed
)
... doin a wee bit in there, haha
When all you get is 140 characters,
Better make each one count!


