100 Days of Code: Building a Voxel Engine
Over the years, I’ve watched my friends (most recently @geometricdaydream) and various people I follow take on various 30/100/365 day challenges. I’ve always sat in the stands rooting for them and at the same time, wishing I was in the game. Welp, here’s me saying, “Put me in coach!”
I’m taking on the #100daysofcode challenge and I’m doing it for a few reasons:
- Starting is Easy. Finishing is Hard (without some accountability of course). Accountability is always present at work, but rarely for things I do in my spare time. So this is a good way to get some built-in accountability.
- I want some structure to do something related to my work, but just enough outside that it’ll feel fresh, I’ll learn something, and in-turn, help myself personally and professionally.
- I want to engage more on Twitter rather than just use it as a one-way source of information. I’m hoping to connect with other people who are also doing this challenge and also people who know more (or less!) about this subject matter than I do.
Why Voxels?
I follow a lot of graphics and graphics programmer accounts and nothing gets my split-brain going more than some gorgeous #voxelart. Something about the underlying simplicities and complexities of a grid being transformed into a graphically beautiful thing speaks a lot about the nature of computation and representation.
From what I can tell from the outside looking in, there are a lot of interesting optimization problems in this space that I’m looking forward to tackling. My hope is that it will give me quite a confined space to dig deeper into the types of things I deal with on more of a surface level every day, including:
- Efficient representation and transfer of data
- Algorithms specific to graphics programming
- The mathematics behind lighting and materials
- GPU optimization techniques
End Goal
Here’s what I want to do in 100 days: build a basic voxel engine that allows me to create some interesting art in an interactive and performant way.
Is 100 days enough? We’ll find out. It’s purposefully a pretty broad goal and I’m sure I’ll adapt it to the bumps I hit along the way. Looking forward to joining the #100daysofcode challenge and meeting all of you along the way!