Weekly Update 8/31/18
August 31, 2018
I am notoriously bad at scheduling my time. My usual approach to planning and doing stuff is as follows:
- Think of a thing I need to do
- Say I’ll do the thing on a given day
- Repeat steps 1 and 2 fifteen or so times
- Get to the day I said I’d do stuff
- Get one or two things done, at best
- Get grumpy
About a month or so I got really fed up with this and decided to take a stab at actually using some sort of agenda to block out my time. I did it for a couple days somewhat successfully, but usage dropped off and I went back to the old cycle of poor planning. After suffering a serious stint of existential dread and fear of my inability to complete projects, I took another stab at it and (so far) have been pretty successful at blocking out my time for the week and tackling the tasks I have at hand.
The planner itself is pretty simple. I set up a Google Calendar that’s explicitly for everything I think I need to get done. When I come up with a task that’s gonna take 15min or more, I add it as an event that’s as long as I think it’ll take. I can shuffle it around depending on what else I’ve got to take care of and when it needs to get done by. Once it’s in place, I do my best to make sure that I get it done when I planned for it and in the duration I assume it’ll take. Once it’s finished, I update the start and end times to how long it actually took. This way I can (hopefully) get better at estimating task duration, and it frees up time in my schedule for other tasks. I reorganize items accordingly and move on to the next thing.
So far it’s been pretty great. I worked on some neat stuff this week because of it (this blog post included), and look to keep outline the highlights in a weekly blog post (not unlike this one).
Unity’s ECS/Job System Stuff
I told some folks on Tuesday that, due to being unable to meet up at BGS’s weekly open co-working night for working on game dev, I’d instead try to livestream what I’d be working on that night instead. I didn’t, and frankly I think that’s a good thing since I was just reading documentation for a couple hours.
The developers at Unity are working on a proper Entity Component System for the engine, which is stupidly exciting to me. I’ve experimented with ECS in the past and found the approach to programming really satisfying. Something about expressing the world and all it’s contents as just buckets of data operated on by simple, single-purpose systems just makes sense to me. I also have a gut feeling that ECS is well suited to making roguelikes, but since I haven’t written one with it I’m not gonna let myself get too excited about it.
The documentation on it is pretty solid. Still obviously a bit WIP, but easy to read and very informative. I highly recommend checking it out, especially if you don’t have any prior experience with proper Entity Component Systems as it covers both the essentials and the nitty-gritty of their implementation.
Having read through most of the docs, next steps for me are to dig into the example code, then start messing with it in my Scratchpad project to get a feel for how it works when writing from scratch, and then finally converting what I’ve got so far for Carbon to it. And then, you know, m e c h g a m e.
A super cool side project I’m working on involves the creation of a number of short, looping animations. I’ve had a couple ideas involving water, so I took a stab at seeing what I could create that wasn’t a full-blown simulation. The above render is actually using a slightly modified version of a cycles material I found on the Blender Stack Exchange. Hopefully I can share more from this soon (and hopefully I’ll have made more to show by then, lol).
I try to do as much from the command line as possible, and being mainly on Windows machines for work that means I’m usually using Powershell. I’ve done a little bit of scripting in it for some quick helper functions, but I’ve found there’s just some shit it can’t do as well as bash scripts on linux. Part of this has to do with Windows not having a proper job scheduler like cron. I was able to get this particular script running in Task Scheduler, but every time it runs it pops open a Powershell window. The best solution I found to hiding it entirely is by wrapping it in a VB script. That’s not happening, because that is dumb.
I’m looking into running cron as a service via Cygwin, I expect I’ll have more to say about this in the not-too-distant future.
Recommended Tunes: “Former Selves” by Full Eclipse
I listen to a LOT of music, so I thought it’d be fun to share what cool stuff I dig up as I work. This week’s pick is the album “Former Selves” by atmospheric synthpop band Full Eclipse. I’d never heard of them before, but scrolling through my Twitter feed I spotted Bart Graft mentioning it, so I figured I’d give it a shot. Not sure exactly what I was expecting, but it’s definitely up my alley. A lot of it reminds me of some of the more melancholy tunes from “Heartbeat City” by The Cars. 12 moody tracks featuring some great guest artists make for an album I really dug, and I’m sure I’ll be keeping an eye on this band for future releases/tour dates.