Content that is all about development in Unity and programming! Find examples of code often written in C# along with tutorials.
(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!
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.
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…
Why Consider Using Autofac With Unity3D? I think using a dependency injection framework is really valuable when you're building a complex application, and in my opinion, a game built in Unity is a great example of this. Using Autofac with Unity3D doesn't need to be a special case. I wrote a primer for using Autofac, and in it I discuss reasons why it's valuable and some of the reasons you'd consider switching to using a dependency container framework. Now it doesn't need to be Autofac, but I love the API and the usability, so that's my weapon of choice. Building a game can result in many complex systems working together. Not only that, if you intend to build many games it's a great opportunity to refactor code into different libraries for re-usability. If we're practicing writing good code using constructor…
Unity3D Default .NET Framework I recently wrote that I wanted to start writing more Unity3D articles because I'm starting to pick up more Unity3D hobby work. It felt like a good opportunity to share some of my learnings so that anyone searching across the web might stumble upon this and get answers to the same problems I had. Unity3D as of 2018.1.1f1 (which is the version I'm currently using), still defaults to using .NET 3.5 as the framework version. Nothing wrong with that either. I'm sure there are reasons that they have for staying at that version, probably because of Mono and cross platform reasons if I were to guess, so I'm not complaining. For reference, this setting in Unity3D is referred to as "Scripting Runtime Version". So if you're googling more about this later, that's what Unity calls it.…
I recently wrote about how and why I'm looking into doubling down on my strengths to improve a weakness, and I figured it would be a great follow-up to try and explain the specifics of my strategy. It's an interesting learning opportunity for me, so why not share it with those that are interested? The format of this post is really just to call out the specifics of some strategies I'm looking at exploring when building the brand for my vehicle to help with sponsorship opportunities. Reach Outside Core Audiences This one shouldn't be a shock to you if you're familiar with this blog already. It's primarily aimed at programming, leadership in a tech environment, and self-reflecting as a means to improve. One of my goals is to explore attracting other audiences that might have a bit of overlap with…