Alex McGilvray

2016 Q1 Plan

2016/01/14 8:19:13 AM

Usually when a new year hits I write a list of all the projects and goals I’d like to achieve for the year. It’s always way too much but I’m doing that consciously. I just want to get everything down that I would like to do on paper. From that point I would then select what I like and make a rough timeline over the year planning out projects schedules.

I’ve found this method has one major flaw. It looks too far into the future. In 9 months my life could change in a way where the projects I had initially planned dont make as much sense. To counter this my plan is to treat my year list of goals as a backlog. From that point each quarter I select the tasks I want to accomplish and plan them out so I never plan more than 3 months ahead of time. I’m hoping this will yield better results than planning the whole year at once.

So without further ado here is my goals for Jan-Mar inclusive.

Reach 235lb

I’m currently 250lb. The result of working a desk job and having a poor life balance as well as a bad diet. Even at my worst I still got about 1-2 hours of walking exercise a day but still gained weight.

It’s quite obvious what I need to do to achieve this goal. I need to have a better diet, improve my life balance and supplement my exercise routine with higher intensity exercise. My diet habits are quite terrible right now. I tend to eat the most late at night when I get home before bed. I’ve already begun to cut this back significantly and while I haven’t lost a lot of weight I FEEL a lot better in the morning. I have more energy. I’ve heard that this can occur because going to sleep on a full stomach gives you a less effective sleep. Whether or not this is true is irrelevant because the end result is I feel better and have more energy in the morning.


I’ve been studying Japanese the last year or so very infrequently. I want to make studying a daily habit this year. Even 30-60 minutes a day would be a profound improvement. I use a spaced repetition program called WaniKani for learning how to read Japanese and it’s very effective when used consistently. I can understand about 200 kanji right now and maybe 500 words. This is without a consistent study schedule.

WaniKani uses a level up system to track progress. You can reach up to level 50 at which point you would know approximately 2000 kanji and 5000 words (if I recall correctly). I’m currently at level 10 and my goal is to reach level 14 by the end of this quarter.

Besides that I’m also studying speaking by having weekly sessions with my partner,  taking night classes and playing Monster Hunter X on a Japanese 3ds.

Functional programming and F#

Over the last couple years I’ve heard more and more about the benefits of functional languages for certain types of programming projects. Recently I’ve decided to dive in and begin learning F#. I initially started with Racket lisp but I found I like the ML style of lisp with strong typing better. Coupled with the fact F# runs on the .NET runtime and allows some imperative programming features when needed I decided it was the ideal functional language for me to start working with.

So the plan is to do a small project as well as some reading. My reading list is the following :

  • Functional Programming Using F# – This is an introductory book by Michael R. Hansen and Hans Rischel that goes over all the basic language features along with some very basic examples
  • F# Deep dives – This is a more advanced book with more real world and practical examples written by Tomas Petricek and Phillip Trelford with contributions by many people in the F# community. I’ve visited Tomas’ page farily often which is how I found out about this book. The chapter titled “Parsing text-based languages” is what initially caught my eye. Other chapters such as making games in XNA with F# also were appealing. I’m not sure I agree that a functional language is good for writing games but I won’t really know until I try!
  • Functional Data Structures – This is a pretty popular book by Chris Okasaki which I hear about frequently on various programming forums and websites. I’ve read a bit already and it’s really helped explain how immutable data structures can still be efficient when constantly manipulated and returned from various functions. I can see why this book has recieved a lot of praise.

Of course a reading list is not very useful without a project to go with it. For that I have a small project for writing game documentation. Ultimately it’s a text transformation program that converts markdown to various output formats such as websites or pdf documents. The idea that the documentation is written in readable text but can be output in more executive friendly formats. I have a github repository for the project here


Game jams have always been there to help me remember why I love game programming. Small projects that I can throw away give me a huge amount of mental freedom. Working on jams is stress free and fun for the most part. It also allows me to experiment and try things I can’t risk in a work setting.

The tower jam is exactly what it sounds like. It’s a game jam with the theme of a tower. I won’t get too much into what I have planned because I will be blogging about it. I can however say it will be more of an art project than a programming project.

Developing a card game

Fellow game developer Josheph Burchett suggested I branch out and try some game design without using a computer. Among the suggestions was designing a card game. The idea immidiately hit a chord with me as I love playing card games and actively play quite a few already such as Ascension, Dominion, Hearthstone, Magic, Yomi and Uno. Designing a card game would be a great experience. I plan to do this for the second part of the quarter after the tower jam is complete but I’m already thinking of ideas. I’m tossing the idea of making a game designed around cooking.

NekoRush +

This one is a bit of a stretch goal. My partner and I made a game for the Sony Vita a couple years ago and it turns out she really enjoyed the process. Enough to want to make another game. For this we won’t try anything too crazy. It’s more about doing a project together.

Our plan is to redo the game in HaxeFlixel so we can spend more time on the gameplay and game itself rather than struggling with frameworks. HaxeFlixel has always been great and allowed me to focus on pure gameplay code.