Upcoming GameDev plans

Now that Devember is over and I’ve gotten back into the rhythm of regular workdays again, it’s time to proceed with more game development plans!

I’ve mentioned before that I used to do game development in the past, although back then my audience was limited to basically myself and friends. I gained some critical acclaim in a rather boring drafting class in high school by writing a multi-player Tron game that had a boss key that popped up a visual of the drafting software that we used, but that’s about the widest audience I ever achieved.

Since that time technology has moved on quite a bit (why back in MY day, I had to develop my games in the snow, uphill, both ways!) and although I am a software developer by trade, what few specifics of programming games I used to know are a little bit hazy and outdated.

Time to fix that!

As a software developer I have a real itch to just write code, but I started looking around for software that would make at least creating a prototype of a game easier, with the idea being that I could test out ideas to see if they seemed like fun before “digging in” to the code. On this front I ran across things like GameMaker and Unity, as well as RPG Maker (one of my favorite types of games is JRPG’s).

These tools are great, but as a guy that is usually “under the hood” on these sorts of projects, I was always butting my head against something I wanted to do but being hamstrung with trying to figure out how to get the tool to actually DO it. As a result I set them aside and decided to just try digging in to learning (or relearning) some of the skills that I had lost.

While I was bumbling around trying to learn stuff I ran across @ChrisDeLeon, who also runs @GameDevsLikeYou, and in particular some training videos and a textbook that he has created for helping others achieve their dreams of making games. Chris is a great teacher, but what really resonated with me was that he has the same basic thought as me: Tools like Unity are great, but it’s a good idea to know the how and the why of them so you can use them more effectively. Apologies to Chris, I’m terrible at paraphrasing. In fact, you know what? Read this. I’ll wait.

There are a couple of Udemy courses taught by Chris; Code Your First Game and How To Program Games. I’ve taken both of them, and quite frankly if you’re interested in making games, I can’t recommend them highly enough. The second course also comes with a text book, which as far as I’m concerned is worth the price just on its own. The textbook expands on the course and includes extra “assignments” for you to do to enhance the games that the course helps you to write. These assignments give you hints about how you could accomplish them, but without straight out telling you.

I worked through almost all of the ones for the initial Tennis game (the course teaches you how to make games by showing you how to recreate classic games) before I set the book aside to apply a bit of what I had learned to a side project (the JavaScript code I ported for Devember), because I’m very much the sort of person that learns by doing. Then Devember came along.

So, long rambling post, but the upshot is this: time to go back to school. I have pulled the engine branch from my devember-2015 repository and turned it into a new project, ts-game-engine. This contains just the commits to the engine branch, and redacts my boo-boo of checking in the wav file version of the sample music.

My plan going forward is primarily to fork that project and work through the rest of Chris’s textbook and work through all of the exercises therein to exercise my game development muscles. This will initially require porting the versions of the projects from the straight JavaScript to the new TypeScript version, which should not take very long.

Side projects along the way may involve working on small proof of concept game dev topics, adding features to the engine, or maybe just doing some tooling work in support of game development (sometimes the urges for code projects are really weird).

I also want to keep making regular (weekly at least) blog updates. Besides anything else, this sort of written record is a great way to gauge progress made. I’m going to try to keep to the same style of updates as I did during Devember for those blog posts.

Hopefully they won’t be nearly as long as this one.