#unity

some crunchy gifs in case you don't want videos:

a screen recording of an early build of GUACUCO, with just a basic night atmosphere, a crude beach, and palm trees. the player picks up a 2d seashell and stares at a sea

The water shader was totally bought because I realized I didn't have enough time to experiment with shaders, I wanted to devote that to writing (Definitely the hardest part of this whole game) and figuring out texturing style for the rest of the assets.

a screen recording of an early build of GUACUCO, with just a basic night atmosphere, a crude beach, and palm trees. the player looks around the beach and then focuses on the palm tree

Early vibe check. You can see that I made the palm trees too high when compared to the camera height. Even though I was relatively early I said fuck it and just made the camera taller. A single rock is bigger than all my other projects' assets haha.

first things i set up were a really rough sculpt terrain as well as a shader (that i totally bought bc i didnt have time to do water from scratch and this one had built in splashes!). it is cool to look back and see that my first "finished" assets were the palm tree and the cactus. here's a closer look:

a 3d render of a stylized cactus, first in a clay pot and then bare, and two palm trees, one more curved than the other

I actually tried texturing the palm tree using Clip Studio Paint's 3D model functionality. It was pretty awful, not going to lie! I powered on through but the finishing touches, especially the seams, I ended up doing in Substance Painter. This close you can see how different the cactus and the palm tree are colored

spitefulfox, my programmer, put in all the placeholder text including all the wonderful jokes.

so yeah. even though im an artist foremost and focused on graphics first, the art was nowhere near done---that took a couple months, in between all the other things i had to do. games are wild and held by ducktape and that's why it's so funny to make them.



another huge time gap between this recording and the last. just shows how hard i can procrastinate.

this was intended to be some sort of quick mock-up of the new beginning sequence for the mailman simulator, but it ended as a stupid dev video that shows off the current more accurate theme i'm going for with the entire game. as a matter of fact, this was supposed to be the theming for the entire rest of the previous iteration of the game. it's rooted way more in stupidity, low quality, and looking at literally everything to get some funny text.

what i think is the coolest part of this video is the transition between screens when going through a door. an effect heavily inspired by the classic microsoft powerpoint dissolve transition. i literally studied how it looks to make sure i replicated it somewhat closely.

how it works is when you interact with the door, the screen freezes, moves the camera to screenshot the other side of the door, then uses a shader to interpolate between the two screens. the pixelated dissolve is a greyscale texture that was generated using the noise script i created for the water. that texture tiles across the screen four times (one in each quadrant) and then a float goes from 0 to 1 over two seconds. any greyscale value below the float threshold shows the first screen, and any value above it shows the screen behind the door. and of course you need to add a cool sound effect on every slide transition.

this transition effect is supposed to be used when going between any door or when switching to and from a loading screen. it somewhat intentionally stops everything else in the game when doing the transition since you really cant expect much more than that from mid 90s shareware. i would have loved to be playing a real midi file for the music, but from what i can tell, playing midi files with unity is a whole goddamn can of worms. there's plenty of user made libraries for controling midi, but i would've had to make my own script to actually play back a midi file. at that point i absolutely could not be fucked to make what is essentially a musical box. i just recorded the midi as an mp3 file and attatched that to the player. if it were a midi, notes would trail off when the music pauses.

this is unfortunately the last video i believe i have for this project. it's been on ice for a while since despite the game sounding pretty simple to make, i realized there's absolutely no reason to play the game with the current idea. you could say it's similar to an egglike, but each level was just supposed to be an open area with a bunch of funny npcs and no linear paths to go down. if you find where to deliver the package, then cool, you get to go and do it again. no reason to stay in the same level anymore. at worst, each level would need to be more carefully designed, and reminder, thats 7 levels that should all take about an hour to explore. keeping things unique for that long is difficult.

game design is difficult.



continuing my dive into the animation mines. the dev work is not very visually appealing. it's bad choosting material. Will that stop me? no. of course not.

copying in all these frame timings and configuring sprite pivots is... incredibly tedious. alas, someone's gotta do it (wait why is that someone always me ??? πŸ€”πŸ€”πŸ€”)

HOWEVER we do now have a much nicer animation workflow, after doing some ghastly extending of Unity's 2D PSD importer tool thingy (yup that's what all the gross reflection last week was for). Just plonk a lil PSB with some layered keyframes and boom, generate a bunch of clips and sprite libraries.

Look I promise this is way more practical than the Old Solution (Which Broke All The Time)



you'll notice the multi month time gap between the last recording and this one. that's how i roll.

i got really really interested in making a water visual for the mailman game, despite it being nowhere needing water. i first did a proof of concept in smilebasic, then began learning how to make a god damn shader in unity. this is using the legacy render pipeline because the newer pipelines, like most newer things from unity, are arguably better but also arguably way more fucked up to work with.

the way this works is the shader is applied to a grid mesh. each vertex on the mesh is then rotated around its original position with a random offset from center and random rotation speed. this was heavily inspired by the way water looks in half-life.

all the different blue grids i walk past in the room are different stages of me figuring out shaders. first and second grid are naively fucking around with UV coordinates to displace the texture itself. the third grid is where i figure out how to manipulate vertex points in a shader. fourth and fifth grids are experimentations with different ways to generate a random noise texture to seed a shader with random values. (i'll write about random noise later, that shit is fucked up) the main difference is the right grid is altering vertex height using a noise texture generated from a filter in paint.net and the left grid is altering vertex height based on a noise texture that i manually generated with a separate script within unity. the final grid is the main vertex displacement effect finished. i believe the values in the noise texture correspond to r = offsetFromCenter, g = rotationSpeed, b = startingRotation