New to Narrative

Design and storytelling resources for game makers, old and new.

Cartoon Daan is trying to paint a landscape on a canvas with easel.
Home » News » To Take a Step Back

To Take a Step Back

Heya friendos! I’m not feeling at my best at the moment, so this week’s newsletter will be me complaining and then figuring out halfway in that I don’t have that much to complain about. If that sounds in any way riveting, feel free to read on!

How Am I Doing?

I’ve had a rough week, to be honest. I have a cold that’s been making me dizzy and foggy-brained, and my serotonin is through the floor. Also, Nazis keep winning elections for some reason? It’s been hard to stay optimistic. Luckily I had friends over, saw a nice concert and had a wonderful time. I also have a lot of cool stuff to look forward to this next month!

I need a proper break, create some space, and come back to reevaluate. It’s a good thing I have a lovely little family trip coming up next week. We’ll be visiting a beautiful island together with my brothers, sisters and their kids. I’m looking forward to taking strolls along the coast, playing board games, and drinking cider or whatever their local drink is.

What Am I Doing?

I completely put work on Rumorweaver aside this past week. I wasn’t able to concentrate and every creative decision I tried to make felt inadequate. There will be moments in production that feel like this, and they’re exacerbated when you’re feeling down in general.

To be frank, I’m even having a hard time conjuring up the energy to write this newsletter. However, I’m glad I’m able to observe these feelings and to recognize that I need to step away from work for a while. There have been moments in my life where I didn’t have the tools to recognize my own needs like that.

Entity-Component-System

But then, what did I do this week? Well, I wrote an Entity-Component-System framework for Godot. ECS is a programming architecture pattern specifically designed to handle large amounts of data. It’s generally not the right approach for game development, but there are some genres that can really benefit from both the design philosophy and the performance gain you can get out of ECS. I’m specifically thinking about simulation games, survivor-likes, idle games and anything else that utilizes systemic design on large amounts of objects.

When I just started using Godot, I talked with a friend and peer of mine (Hi Clement!) about creating a little ECS framework, but we never got around to making it work properly. I took another crack at it the other day, to take my mind off of things since it’s a fun technical problem. And I’m happy to say that the framework I’ve come up with is super elegant!

An animated GIF where many sprites of the Godot logo are being sucked towards the center.
Minimal implementation test case of a couple of systems.

While making it, I’ve noticed how much I’ve grown as a developer and how much experience I’ve gained using Godot. It took me only 2 days to properly implement all the required features. It’s super easy and fun to code with, buuuuuut… The performance benefits are not there yet. Ideally, you want to be able to run code efficiently on tens of thousands of objects. I was able to, but only at about 30 FPS on a mid-range PC.

I’m interested in trying to figure out how to properly implement ECS in such a way that you can tease out the performance benefit. It also seems like a good excuse to learn about how Godot handles multithreading or compute shaders. I love seeing number go up!

Eastshade

I also played and finished Eastshade over the past week. It’s an extremely gentle and meditative experience, albeit a little rough around the edges. It has the quality of a really good Skyrim mod, but a huge heart. In short, you’re a painter who explores an island with beautiful architecture and nature. You take commissions from people to memorialize what they love and discover the unique cultures of the land while you’re at it.

What I particularly loved about it is that its designed in such a way that friction forces you to stop and smell the roses. For example, when you just start out, you cannot go outside at night, because it’s too cold. It’s inconvenient because there’s stuff you want to do and see at night. Later, you can find equipment that keeps you warm at night and it opens up this whole new nighttime world as a reward.

A beautiful screenshot from Eastshade, depicting a stone bridge over a babbling brook. A small manor stands atop a rocky hill in the distance.
A “painting” I made inside Eastshade.

There are similar mechanics for fast travel: you won’t be able to afford it at first. You have to manually go from place to place, and take a look at the beautiful environment while you’re at it. I think we’re so used to chafing off friction in modern design to smooth out player experience, that it’s hard for us as players to stand still and just enjoy the digital spaces we find ourselves in.

Eastshade understands this, and really made me appreciate just how gentle and awe-inspiring a little world can be again. Perhaps this will motivate me to stop and smell the roses in real life for a bit as well!

Why Am I Doing? (this)

I know I said I barely had the energy to write today’s edition, but I’m so very glad I did. Maybe even you can read how my mood has changed for the better over the course of writing this text. Forcing myself to sit down and confront my feelings, process, and put words to them is incredibly therapeutic.

If I didn’t, I don’t think I would’ve allowed myself time to be excited for my upcoming trip. If I didn’t, I wouldn’t have reflected on how profoundly I enjoyed playing Eastshade. If I didn’t, I wouldn’t have realized the growth I’ve made both professionally and personally.

That’s why I still write, even when I’m at a low point. I sincerely hope you can find a similar way of pouring your heart out!


Subscribe

Want content like this delivered straight to your inbox? Consider subscribing!