Alex McGilvray

2016 Q1 Plan

January 14th, 2016

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.

Japanese

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 https://github.com/AlexMcGilvray/LudoScribe

TowerJam

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.

2016 – Time to wake up

January 4th, 2016

Recently I’ve experienced a yearning to create. This year has been especially light for me to create new personal software projects. That’s not to say I didn’t start many but this has been a pretty bad year for finishing stuff. Motivation has been a little low. I’d like to change that this year.

I think to do that I need to be a bit stronger about maintaining a routine rather than working in bursts followed by recovery periods. There was an article I read about Jerry Seinfeld regarding how he attributes a lot of his success to forcing himself to spend time every day on his craft regardless of whether or not he felt like doing it. That concept has always resonated with me and I think I’m going to make a more concerted effort to work on something personal every day. It doesn’t have to be a long time, I’m aiming for 60 mins. The important thing is that I sit down and spend some time on it. It could be a drawing, a game, some music, programming theory or creative writing. As long as it has a creative aspect.

Besides that I’m planning to work more on my health. I walk to and from work every day which is slightly over 2 hours of walking but my weight did not reduce. I think there’s 2 reasons for this. First is my diet is not great. I’m going to work on that. Second is 2 hours of walking a day is not adequate when you work on a computer all day. I need to do some extra exercise to contrast the low intensity walking.

Finally I need to allow myself to play more games, read more books and watch more movies rather than feel guilty all the time that I have a million other things to do 🙂

HaxeFlixel pixel art piece : Chasing the Dead

October 6th, 2014

In the interest of finishing open projects I finished up a small pixel art piece which has its motion driven with HaxeFlixel.

Always feels good to have something finished. Makes working on existing projects easier.

You can see it here : http://alexm.itch.io/chasing-the-dead

Here’s a screenshot

chasingscreen

I’ve been doing some cooking

October 3rd, 2014

A hobby I’ve always had is cooking. I was really sad and cancelled my cable when the Canadian food channel pretty much stopped showing cooking shows and only showed reality television or “food porn” shows that aren’t actually educational. That was around the time I cancelled my cable subscription.

Despite not being able to see shows like Chef at Home and French Food at Home I still like to cook when I can. Ideally I’d like to cook more often because even when my food isn’t super healthy , I still feel better than when I get takeout.

Anyways I’ve started a Tumblr where  I post about food I cooked that turned out well. I try not to post the total disasters 🙂

If you are interested you can visit the blog here:

http://alexmfoodblog.tumblr.com/

Here’s a selection of my favorite entries I’ve put in the blog so far :

 

New Onyx Jaguar Website

January 31st, 2014

Redid the Onyx Jaguar website in anticipation for the release of some games. Onyx Jaguar is the group of artists/developers I developed NekoRush and Cult Retribution with. Hopefully it will have a nice history of artists collaborating on varied projects.

The previous version was visually unappealing. Not saying this one is beautiful but it’s definitely an improvement over the last one.

I did all the visual stuff in Brackets.io and it was amazing. Suddenly making webpages is so fun when you can code in one screen and see realtime feedback in the other.

My css coding in particular must have sped up 10x.  Not only that but with the instant feedback I got a better understanding of some of the layout modifiers like float and display.

In order to save time the news feed is the website reading the Onyx Jaguar tumblr account and transforming it for the website. The about page is Presskit.io . Both of those things really cut down my dev time. I’d estimate it at 8-10 hours including learning Brackets.

Presskit + Tumblr + Brackets + PHP = Interesting and fun solution

You can visit the site here:

www.onyxjaguar.com

 

IAmAGamer Game Jam

September 21st, 2013

About 6 weeks ago I attended the IAmAGamer Game jam with a focus on a strong female protaganist. We ended up making a game called GameChanger where you play a piece of concept art with a female protaganist who’s been thrown away due to an order from management.

The game involves you returning and entering the computer with the source code, traversing the levels and getting yourself in the game. It was quite fun, I got to see a lot of schoolmates I haven’t seen and my sister helped out with music while my partner did art.

You can see a video here

And you can play the game here:

http://mahwebspace.levelism.com/GameBuilds/GameChanger/gamechanger.html

Awesome Flash Games Part 2

December 12th, 2012

Super Puzzle Platformer

Super Puzzle Platformer is a combination of a shooter platformer and a color matching type puzzle game. The end result is quite interesting. Essentially you have to shoot blocks which are fairly strong. If the block is connected to another block of the same color you eliminate the entire set of connected blocks. Destroying blocks causes them to emit coins which when collected give you more health and upgrade your weapon. If a block crushes you, you lose health and your weapon is downgraded.

The game gets quite frantic and is a great way to spend about 5 mins.

superpuzzleplatformer1

superpuzzleplatformer2

Play Super Puzzle Platformer

 

NanacaCrash

This is easily the oldest flash game in this list. It probably pre-dates any other game in here by at least 2-3 years. It was the first flash game I played that I actually found fun and it’s still fun as hell.

The premise of the game is you are a girl on the bike who hits a guy. The point of the game is to hit the guy far, and keep him moving as far as you can. There are various characters that show up which the guy can collide with that have different effects such as increasing the guy’s speed, decreasing the speed, increasing the angle of bounce, decreasing it and stopping the guy entirely (which ends the game). My current high score is around 2500 meters.

At first glance this seems like a game where after the initial hit you have little control over the results. Actually you have 2 abilities you can use to affect the results. Crash up and Crash down. If the player is just leaving from a bounce on the ground you can force him back into the ground. This is useful for forcing the guy into a beneficial powerup character. If the player is coming down from a high bounce you can prevent him from hitting the ground with a Crash up move. This can be used to avoid negative powerups such as end-game.

nanacacrash1

nanacacrash2

Play Nanaca Crash!

 

Robot Unicorn Attack

Robot Unicorn Attack is similar to Canabalt in that it’s a game where you are constantly moving forward and trying to cover as much ground as possible before slipping up. it brings a bit more complexity to the table with it’s 2 button control scheme. One button is for jump while the other is for a dash attack that can be used to move through obstacles in your way.

The graphics in this game are hilarious and even moreso when mixed with an old 80’s Erasure song.

Both hilarious and funny.

robotunicornattack1

robotunicornattack2

Play Robot Unicorn Attack!

 

 

Awesome Flash Games Part 1

November 27th, 2012

Tobes Hookshot Escape

Tobe’s Hookshot Escape is a game where the screen is constantly moving upwards and you have a hookshot that shoots vertically up. If you hit a platform above you the hookshot pulls you up onto the platform. The levels are mostly randomly generated. From a cursory glance it randomly assembles hand build chunks of level data.

The game is great fun, takes about 1 min to figure out the basic gameplay and varies enough to stay interesting. The music is great and the graphics are charming.

Play Link

http://www.secretbase.com.sg/tobes-hookshot-escape/

Deepak Fights Robots

Deepak Fights Robots is a sort of platformer puzzle game which has been compared to Bubble Bobble in the past. I think the similarities stem from the one screen levels and the fact that when you beat a level you are picked up and moved into the next level. Although in this case instead of being moved into the next level inside a giant bubble you are picked up by what looks like a stoned helicopter hat.

The main point of the game is to collect little nuclei around the level. Once you catch all the nuclei a large nuclei appears. Picking it up turns you into super-Deepak and gives invincibility and the power to fly. At that point you clean up all the enemies and are taken to the next level.

The author of this game touts on his website that games should have a simple learning curve, be fun and not require learning 16 buttons with specialized functions. He certainly lives up to his design beliefs with this game.

The soundtrack is also awesome. It’s a sort of psychadelic sitar collection of songs.

Game is great fun and really easy to get into. There’s even a level editor if you choose to donate/buy the game for 4.99$

Play Link

http://deepaksave.us/play/

Canabalt

One of the best one button games around. You are playing someone who jumps out of a skyscraper and you jump from one roof of a skyscraper to the next. There is only one button to jump therefore the learning time is about 15 seconds.

I’m not a huge fan of touch-screen only games but the control scheme on this game makes it great for an Android or iPhone.

This was also the game that launched the Flixel library. Flixel is a wonderful little free library for writing flash games very quickly. I’m a huge Flixel fan.

Play Link

http://www.adamatomic.com/canabalt/