Scratch To Unity: Intro

Scratch is a great little platform from which one may create stories, games and animations. It is so easy to use that it is even popular among children. Scratch is great for aspiring game developers to learn very basic concepts, but is not as feature rich as something like Unity. If you would like to graduate from Scratch to a more professional level tool, then this series is for you.

Continue reading

Meshes

I often resort to placeholder assets when putting together prototype projects. Unity’s built-in selection of primitive shapes like the Cube, Quad, Sphere and Capsule are very useful toward that purpose. More often that not, any other assets you work with will be created externally and then imported into Unity. This is especially true with something as complex as a 3D mesh. However, there are reasons to create and/or edit meshes programmatically, and this lesson will serve as a helpful introduction.

Continue reading

Intro To Unity ECS

Unity’s ECS architecture is nearing its official release, and I am getting more and more excited for it. After a brief introduction, we’ll spend some time digging in and experimenting. By the end you should have an elementary grasp of Entities, Components and Systems within this new architecture.

Continue reading

Q-Learning Agents, Part 3

A Q-Table greatly simplified the challenge of helping a computer agent “learn” to solve an environment. Unfortunately, this particular approach doesn’t scale well to the kinds of applications I would like to create. To help overcome this next hurdle, we will raise the complexity a bit more as the Frozen Lake environment is approached again, this time by using a neural network.

Continue reading

Q-Learning Agents, Part 2

Telling a computer to perform an action based on an input isn’t too hard. Teaching a computer to learn what action to take based on what it sees is a whole different challenge. Now imagine that the computer wont even know if the action is good or bad until some unknown point in the future – how hard would that be? Well, let’s find out as we take a look at a machine learning algorithm called Q-Learning.

Continue reading

Q-Learning Agents, Part 1

Machine Learning provides us an interesting way to solve special kinds of problems. If you’re just playing around, you may see that creating a good problem to work with can be a lot of work on its own. OpenAI gym has recognized this challenge and provided a great solution. They have created a whole collection of different “environments” that are perfectly suited to machine learning. To help us get started, we will be looking at one of the easy challenges which we can solve using Q-Learning.

Continue reading

SpriteKit – Anchors & Safe Area

I’m still on my SpriteKit journey and am ready to tackle a few more hurdles. Primarily, these include making some easy and reusable code to allow me to place one node relative to another. We will then expand on this solution to help us place one node relative to the screen’s edges. Finally, this solution will also show how to handle the “safe area” you’ll see on an iPhone X.

Continue reading

Core Data ECS

As a native iOS developer I have found a wide range of amazing tools and libraries that are freely available. Some of this is designed toward a specific end goal, but much of it is very flexible and could even be used for a variety of purposes including game development. With this in mind, I decided to explore what an Entity Component System (ECS) might look like when backed by Core Data. So far I am enjoying the results, and welcome you to try it for yourself.

Continue reading