Featured

Day 1: 365 Days To A Published Game

I’ve created this devlog as a motivational and accountability tool to keep myself on track.  I’m on the wrong side of my 30’s and in a non-career.  I feel like my life is stuck on pause so I need something to focus on, to create, to move forward.   They say you’re never to old to learn and I’m going to put that adage to the test.

The goal:  to have a game published on Android and/or iOS and/or Steam.  My hope is that a year from now I can look back at the progress I’ve made with pride and perhaps help encourage someone else that finds themselves in a similar position.   The 5-year stretch goal is to become a game developer full-time, either as an indie or part of a studio.

GameSalad, Unity, Unreal Engine, Corona, GameMaker Studio, and Godot are just some of the game engines available

A lot of time has been spent researching which programming engine/language to use.  In the end, I wanted the flexibility to create both 2D and 3D games along with multi-platform developability, so I’ve decided on Unity with C#.    There was plenty of analysis paralysis with this decision.  I just needed to choose something and start programming!

Unity has a lot of tutorials.  But before I jump in with the game engine, I want to lay  down a knowledge base with C#.   The last time I’ve “programmed” anything was over 20 years ago, but the only thing I can actually remember goes even further back – to the days of Apple IIe and BASIC:

10 PRINT "HELLO"
20 GOTO 10
RUN

I remember being fascinated by games like Elite and RoadWar 2000.  My friend had a huge collection of floppy disks (his dad’s) and he would bring them to school for us to play.

Apple IIe
This technological marvel was the pride of my elementary school

Sadly, computers were cost prohibitive back then so I begged my parents for the next best thing: a video game console.  Coleco, Atari, and Intellivision were old news.  There were two new kids on the block.

I stared at that Consumers Distributing catalog for hours, agonizing between the NES and Sega Master System.   The fateful decision made on that day would determine who were my friends and enemies at my elementary school.   Once a side was chosen, I was bound to uphold and vindicate the supremity of that system.  The latest issue of EGM and GamePro would provide fodder for each respective side.

Consumers Distributing ad
The 80’s were a magical time

But I digress. I’ve procrastinated long enough.  It’s time to start on the  journey to become a game developer myself.

I will begin with this free course on Youtube:   C# Tutorial – Full Course for Beginners by Mike Dane.

If you are reading this, feel free to comment and leave your thoughts throughout the journey.

Onward!

Day 83: See You Next Sunday

I’ll be away for the long weekend without access to a computer that runs Unity. I picked up a book on C#7 at the library to help be productive with the downtime.

It’s closing in on three months since I started my game dev learning. Looking back through all the posts, on one hand I feel like I’ve learned a lot…but on the other, it feels like I haven’t accomplished anything.

Three months is a long time until I consider at 1 hour a day, it’s really only 2 full-time weeks of work and that helps me put it in perspective.

With my new job schedule, I’ll have a set schedule with every weekend off for the first time in years. As such, this will be my last daily post. I will instead be posting a new weekly update every Sunday night starting with May 26th.

I trust that I am disciplined enough at this point not to require a daily check-in, but I’ll reeveluate that if I feel myself slacking 😛

Onward!

 

Day 80: Prototyping

All the advice I’ve read regarding prototyping is to get out a product fast and improve on each loop.  It makes sense.  But isn’t it difficult to judge the merit of a game without seeing it fleshed out?

In the Haunted Jaunt tutorial, we’re scripting the character movement and his animations include him trembling, knees knocking, tiptoeing, and a scared expression. (The model & animations have been created for us already- we just import the assets)

It wouldn’t be the same if I just had a cube moving around.  Can I judge how fun a game I’m creating is without being fully immersed in it?  Sure, it depends on the type of game – but in survival horror, atmosphere is everything.  Something I need to think more about.

Onward!

 

Day 79: Browsing

Today was the first day of my new job…and my brain is frazzled. All I managed to do was browse the Unity Asset store and see if there was anything I wanted to purchase before May Madness ended.

Tomorrow I’ll try harder to actually accomplish something after work regardless of how tired or anxious I’m feeling.

Onward!

Day 78: GoldenEye (N64)

Some of my favorite memories playing games were the GoldenEye tournaments my friends & I would host. We’d have three N64’s set up with four of us huddled around each one.

It’s still so vivid; the smell of pizza and the feel of sticky controllers from spilled pop, the cries of “No Oddjob!”, and the ocassional ‘tsk, tsk’ from my mother checking in on us and complaining how the game was too violent. Those were good times.

I was only reminded of those days because of the following snippet in the Haunted Jaunt tutorial:

 
Now you need to fix a small problem. The movement vector is made up of two numbers that can have a maximum value of 1. If they both have a value of 1, the length of the vector (known as its magnitude) will be greater than 1. This is the relation between sides of a triangle described by Pythagoras’ theorem.

This means that your character will move faster diagonally than it will along a single axis.  In order to make sure this doesn’t happen, you need to ensure the movement vector always has the same magnitude.  You can do this by normalizing it.  Normalizing a vector means keeping the vector’s direction the same, but changing its magnitude to 1.  

Playing multiplayer GoldenEye, we had discovered that we could go faster by straffing diagonally than just foward or backward. I had always thought it was a glitch – and maybe FPS purists would classify it as one. It wasn’t until 20+ years later that I understood the math behind it.

Onward!

Day 77: Haunted Jaunt

Some days it’s so hard to get even one hour of ‘game dev’ time in. I only managed to import the Haunted Jaunt assets and set the project up.

Tomorrow I’ll be working on creating a prefab for the player character, animating it and getting it to react to physics.

Going forward, I’ll likely keep these daily updates even more brief. It’ll be just a check-in of sorts to make sure I’m getting at least 1 hour of dev time in, whether it’s creating, reading, researching or whatever. Just something.

Onward!