Outside of work, Nick loves to play and create games! These articles focus on various aspects of game development.
(You can check out the prior week of RPG development here) Well, so far not so great for getting weekly posts on RPG development! It's probably better for me to aim to do these periodically and summarize the last week or so of work. Fewer commitments that way and it's a bit more realistic for me to achieve. With that said, let's dive into it! Entity Filtering in an RPG Our RPG has had some notion of entity filtering for a long time, but to understand the current state of filtering, it's important to understand the two major sets of entities and components we have: Game Objects + Behaviors: Everything in our RPG game world is represented as a "game object" and the properties/capabilities are captured by components called "behaviors" Definitions + Generator Components: The content for our game is…
If you're building a 2D game in Unity3D, odds are you've come across the TileMap component. The TileMap is a powerful tool that allows you to create a grid of tiles that you can render your tiles with instead of hand-placing individual game objects with sprites. It has a host of built in functionality that you might otherwise find yourself manually writing, like mapping coordinates to particular cells on a map. And what's even cooler about using a TileMap? You don't need to handroll your own editor to paint tiles! I think I'd pass on having to do that. But have you found yourself in a situation where you want to get all of the painted tiles on a TileMap? You may have found it's not quite as obvious as you'd have hoped! What We Have To Work With On…
As I've been trying to get more YouTube content put together more steadily, one of the themes I'm interested in is doing some behind-the-scenes of the role playing game (RPG) I'm making with some friends in Unity3D. I've found that being able to work on an RPG outside of my regular day job is a really awesome way for me to keep up on my technical skills. I love coding, and the further along I move in my career as an engineering manager, the less time I actually spend writing code myself. I pride myself in being a technical engineering manager, so for me working on this RPG is a great outlet for creativity and practice. I mentioned this in my LinkedIn post here: Persisting Game Objects Across Maps In this video, I focus on one of the challenges the…
Looking for a better way to make Unity3D user interfaces? Love WPF/XAML but not the Unity UI Framework? You probably aren't using Noesis GUI, but you should be!
Modern role playing games (RPGs) can have incredibly complex loot systems. This article introduced a video stream on how to structure cross domain information.
Check out the second entry in the RPG progress pulse where I discuss the progress on my role-playing game, Macerus! This is a hobby project in Unity3D.
An progress pulse update into the development of Macerus RPG and ProjectXyz game framework leveraging Unity3D. Part 1 of the progress pulse series.
Check out the progress on my Unity3D RPG built using C# and dotnet technologies! This is a labor of love and an ongoing project of mine.
Who Needs A Team?! I've been building RPG backends for as long as I've been able to code. I think my first one that I made for my grade 11 class is the only RPG that I "finished"... It was text-based and all you could do was fight AI via clicking attack, buy better weapons, level up, and repeat. It was also 10000 lines of VB6 code and so brutal that I couldn't add anything to it without copying hundreds of lines of code. Since then, I've had the itch. I keep rewriting this thing. I keep taking "Text RPG" (super cool and catchy, I know) and rewriting it. I had my first visual representation of this game called Macerus (here's another rewrite for unity), which is actually how I landed my first co-op job. But every time I'd get…
In Unity3D, the scripts we write and attach to GameObjects inherit from a base class called MonoBehaviour (and yes, that says Behaviour with a U in it, not the American spelling like Behavior... Just a heads up). MonoBehaviour instances can be attached to GameObjects in code by calling the AddComponent method, which takes a type parameter or type argument, and returns the new instance of the attached MonoBehaviour that it creates. This API usage means that: We cannot attach existing instances of a MonoBehaviour to a GameObject Unity3D takes care of instantiating MonoBehaviours for us (thanks Unity!) ... We can't pass parameters into the constructor of a MonoBehaviour because Unity3D only handles parameterless constructors (boo Unity!) So what's the problem with that? It kind of goes against some design patterns I'm a big fan of, where you pass your object's…