#4: A deep breath before the plunge

You give but little when you give of your possessions. It is when you give of yourself that you truly give.
— Kahlil Gibran

Project update

Eight days remain between me and the start of my script writing for The Vessel of Argeus. I’m ready. Let’s do this thing.

Long post today! I’ve finished what I’m calling my artistic direction guide, which is like my spiritual compass for the creation of TVoA. You could think of it like the guiding principles which I ought to have in the back of my mind at all times in order to make good on the promise of this game, to myself. These are things like my vision and mission, my purpose for making the game, what it is, why I’m making it, and the emotional cadence of the different acts and chapters. To forget the direction I’m going in and why would be to invite a sprawling and directionless exercise that is unlikely to bring about the storytelling that I want.

I spoke with Ylaria briefly about our experiences and feelings regarding turning real life experiences into artistic works, and it was fascinating. There are many similarities between what we are doing, and there are just as many differences too, but there is so much to be gained in finding the universalities, together with the points of difference, that teach us something about the act and process of being human. Ylaria is writing a musical about individuals who have experienced child sexual abuse, with interview transcriptions as the spine of the work. There are so many things to be said about that, that for the moment, I will simply let that sit with you, save to say that it is a work she is bringing into the world with love, tenderness, care and a tremendous amount of forethought. Like me, she seems to be driven by a desire to use art to leave the world better than she found it. I am privileged to have the opportunity to work with her. I also hope that by stepping into videogame land for even a short time, her own artistic world will expand with possibilities.

Extracurricular game dev update

Very long update in this section this week! It doesn’t have to be, I could have trimmed it down, but I felt like really having a chat about some stuff.

My game that I created for a 1-week game challenge, The Inner Island, is available to play for free, here at this link!

I learnt a lot making this game in about 10 days. I didn’t learn advanced techniques, but I raised the floor in numerous areas I knew nothing about at all, in particular I learnt the basics of numerous art and design topics. I learnt about environmental lighting, lighting with objects, sculpting terrain and creating different biomes, utilising trees, grass and wind, creating rudimentary weather (though in this case I used a weather system someone else made), 2D and 3D sound, both music and sound effects, the world’s most basic “cutscenes”… and I made a water shader.

If, like me one week ago, you don’t know what shaders are, then let me tell you: A “shader” is like a coat of paint you apply to a digital object. Let’s take, for example, a cube. Instead of a colour, what you’re painting on when you apply a shader is actually a mathematical algorithm that you, or someone else, has to design (although that doesn’t prevent shaders having colours too!). What does it mean to paint an algorithm onto an object? Well, what can you do with maths? Frickin’ everything in the world.

Under or over the shader, which we now know is just a word that means a collection of maths rules, there is likely to be an actual coat of paint on our cube, say, a lovely forest green. Wonderful! There are many reasons why you might like to dynamically make the forest green a different colour, though. For example, you might want it to become yellow if you shake it, or become orange and then back to green over time, repeatedly. You might want the top 50% of an object to be dark green, and the bottom 50% to be dark blue, with different transparencies for each colour. You might want leaves to go from green to brown over time, like seasons, or you might want the surface of the cube to ripple with a sine wave, like an alien artifact. If you created a shader that was meant to simulate the exterior of a rotting apple, you would want the colours to become moldy and gross over time, and you would want the object to go from shiny and waxy to putrid and matte. But remember, this is just a collection of maths rules, so what about object properties like width, depth, height? We can manipulate any of that, too. You might want the cube or apple to change shape or size over time, or in response to its location in the world. I’m telling you, computer programming is wizardry.

I’m still trying to comprehend the water shader that I built for my game under the guidance of a tutorial, but it does almost all these things: The water shader, applied to a flat plane, does all of the following magical things because it is all happening digitally and isn’t bound by physical laws (remembering that ‘water shader’ really just means “some maths rules that kind of describe water”):

  • Creates the illusion of depth in an object with zero thickness.

  • Overlays two perpendicular colours atop one original colour to give the illusion of water moving in multiple directions simultaneously.

  • Applies a topographical map to the colours so that they appear to be moving over time.

  • Raises and lowers the height of the plane so that it appears that the water is going in and out like a tide.

Granted, all of this results in a pretty amateurish looking body of water because the movement of fluid is famously complicated.

In other news, my 3 textbooks arrived, and I now have a plan to consume all 3 of those during 2024. Also, because I’m a glutton for punishment, I’ve signed myself up this year for not one, but two, indie game development courses to complete over 2024. Look out for more games in the next 12 months!

Games I played

This week I only had time to play one game:

  • A Bird Story (“A simple & surreal 1-hour interactive animation about a boy and an injured bird, told without dialogues“).

    • I was prepared right from the beginning to have my heart broken into a hundred pieces by a game about a small boy and an injured bird, but this was a delightful short experience that put a smile on my face and warmth in my heart. With no dialogue at all, there is a wealth of interpretation to be made of visuals and sounds, and doing so is joyful. There is a lot of cleverness in this little game, and it was a sweet pick-me-up that illustrated the power of saying more with less, and trusting that players are clever enough to tell a story in their own mind without it being forced.

Personal reflections

For the past week, I’ve been thinking about the experience of building my game The Inner Island and what it’s brought up for me. There’s very little about the game which is polished, and the very purpose of the exercise was to work fast without thinking about polish, to complete the 95% of making a game that can be done quickly and dirtily, before sitting back and observing how that went.

I learnt a huge amount, over so many areas, yet I still spent most of the time feeling frustrated and annoyed that what I was learning wasn’t what I set out to learn, but rather peripheral, unexpected skills to do with game development more broadly. I am both grateful for having learnt those skills, while remaining annoyed that I learnt things that were outside the scope of what I intended to learn, and I can’t stop thinking about the lesson there to do with expectations. There is no question at all that the things I learnt are of immense value, but because I was anticipating other things of value, I resent having to learn the unanticipated skills at this particular moment. It’s like being cranky that someone brought you a delicious cake but it was chocolate instead of strawberry.

Meditation over many years has taught me that I shouldn’t attempt to fight down the feeling of irritation at an unexpected gift, but just to observe that the feeling is present, let it sit for however long it takes to subside, and be thankful for the reminder as to the importance of context in everything that we do and experience.

Previous
Previous

#5: Setting sail

Next
Next

#3: Keeping tempo