Hi!

My name is Jamie Shepherd. I’m a Software Engineer.

This website is mostly for my own enjoyment. It’s probably not that interesting. I’m currently running the Terminal theme for Hugo.

Zola to.. Astro?

2023

Every year at some point I like to give my website a little revamp. It’s usually around January when I’m full of motivation and creativity - and I tell myself I’ll actually commit to writing more often. Writing really helps me solidify my thoughts and learning, so it’s usually a well-intentioned spur of motiviation. Inevitably - as the year goes on and as work and family life gets in the way, this goal often gets side-tracked.

[Read more]

Wordpress to Zola

Some background

I recently migrated my personal website from WordPress to Zola, a Rust-powered static site generator. I’ve used static site generators in past versions of this site - but opted for WordPress in the 2020-2021 version because static sites do come with some extra manual work no matter how you cut it. WordPress with its online admin interface abstracts a lot of that away - and it’s genuinely a pleasurable experience to actually write and publish.

[Read more]

Experimentation

It’s been a while since I last wrote anything about game development. I often think about writing something new I’ve learned or an idea I had along the way - but never do.

I do however think there is value in writing - even if I’m writing into the void. Writing thoughts down is a good way of solidifying thoughts. You can be retrospective and even learn something new along the way. I’m going to try to post more regularly - even if the only goal is to see my progress over time in my constant game experimentation.

[Read more]

Unity DOTS NativeArray defaults

I wanted to create a set of chunks in a grid along the X + Z axis in Unity (with the power of DOTS). To track which chunks I have already instantiated, I created a NativeArray<float3> named chunkPositions. I set the size of this array to my world size (width by height) and I have a job that loops through all of the positions on the screen, checking which exist in chunkPositions. If the position does not exist, I can create a new chunk there.

[Read more]

Phase: Discovery

I’ve had a lot of thoughts as to what my game might be, and I have some interesting ideas of cool gameplay mechanics. When approaching new projects (not just in game dev) I always have a general “feeling” of what I’m trying to build. I can’t always visualize or explain the feeling, but I’d be able to tell you if I saw it.

Over the past week in my evenings I’ve been looking at procedural generation in both Unity and Unreal - exploring the options available to me here. Unity’s DOTS stack is very interesting, but there are some holes in both my knowledge and their current implementation which make my goals challenging.

[Read more]