Home | Archives | Atom Feed

Breakout clone in Unity


No I am not talking about the Swing Out Sister song! It's been a little while since I worked in Unity®, so earlier this week I decided to create a Breakout clone using it! I had started on something similar many months ago when I was first introduced to Unity, however some things came up and I never got it beyond the initial "the ball bounces and breaks bricks" stage. I didn't ...

Encoding/Decoding Base64


The other day I made a post on bitwise operators, and since then I wrote up an implementation of encoding/decoding a hex string to base64 and back. To do this I used a good amount of stuff from the bitwise post, so if you aren't up to speed on that I suggest you read over it.

What is Base64?

Base64 gives us a way to represent binary data as textual data. This ...

Bitwise Operations in C++

Why am I talking about messing with bits?

A while ago I decided I wanted to learn more about how cryptography works. In the past I have used encryption in some projects through libraries such as PyCrypto, but I wanted to get a better understanding of how it is actually doing what it does. When doing cryptography you always want to operate on raw bytes rather than encoded strings, so the first thing I needed ...

Creating an event system in C++


The other day I decided that I wanted to write the fsm manager I went over before in C++. One of the things in that is the ability to listen to and trigger events, which C++ doesn't have built in to the language like C#. No biggy though, and that is what I am going to go over today!

Observer Pattern

The event system C# is just an implementation of the Observer Pattern ...

A finite state machine framework

The goal

In my previous blog post about finite state machines(fsm) I went over the basics and how to implement a simple state machine. Here I will show you the way I chose to implement a more extensible state machine "framework". With the code I go over you should be able to create any number of state machines in your program, each with their own set of valid transitions that you define. After going ...

Singletons in Unity

Singletons?! What're they?

A singleton is a class that can't be directly instantiated, and should have a single instance that is accessible via a method or property of the class. There are a few methods of making sure that the single instance of the class has been created. Two popular methods are eager-loading and lazy-loading.

With eager-loading the instance is always created immediately, and that instance is returned every time the access method ...

Implementing a basic Finite State Machine in Unity

In this post I am going to show an example of a basic Finite State Machine written in C#, and being used in Unity. Before I get to the code let's give a quick primer on finite state machines.

What is a Finite State Machine

My basic explanation of a Finite State Machine(or Finite State Automaton) is to think of an abstract machine that has a finite set of possible states and ways ...

In-game Menu in Unity

I wrote before about beginning to use Unity® for some fun projects in my spare time. After getting my feet wet with Unity a bit I started to think about what it is that, so far, seems like something required for each project I make. I guess you could consider this the first of a series of blog posts that will introduce concepts and show how I fit them together to become a "project template ...

Unity, the game engine I wish I had 10 years ago!

Unity Logo

A few weeks ago, on the recommendation of a good friend, I started to play around with Unity®, a 2D/3D game engine created by Unity Technologies. I have known about it for a long time, but just never got around to checking it out. If you haven't heard of it yet and you are interested in game development at all you should definitely go take a look. They have some great tutorials about ...


Hello all! Welcome to my new site. When I decided to create this site a couple days ago I came up with the following criteria I wanted to meet:

  • Have a place to occasionally make blog posts.
  • A place to share some projects I have done.
  • Easy to maintain.
  • Work/look as nice on phones/tablets as it does on the desktop, aka be responsive.

Maintain a server? no thanks!

To meet the no maintainance ...