Downtime? Easy Path to Learning By Building!

The COVID-19 pandemic has caused many of us to stay isolated and at home, but that's OK! I genuinely enjoy developing software and wanted to take this opportunity to focus on learning. Having some downtime has afforded me to try putting together a system that I otherwise might not have explored building. In this article, I'll share different aspects about an application I'm building that purposefully put me outside of my comfort zone. In my opinion, having downtime is an opportunity to learn and grow! It's time to take advantage of that. When the app and system is ready to showcase I'll share more insight into what's actually being built! The Client Framework The application being built was intended to run on multiple mobile platforms, so Xamarin was my choice here. I have briefly used Xamarin several years ago, but…

0 Comments

Firebase and Low-Effort User Management

I've found myself with some additional time to be creative during the great COVID-19 and lockdown/quarantine days. That's why there's more blog posts recently! Actually, I wanted to take the time to experiment with some unfamiliar technologies and build something. For a project, I wanted to leverage authentication but I'm well aware that user management can become a really complex undertaking. I had heard about Firebase from Google and wanted to give it a shot. For the purposes of this discussion, Firebase would allow me to create something like an OAuth proxy to the system I wanted to build, and by doing so, would end up managing all of the users for me. What I needed to do with Firebase to get that setup was actually quite straight forward. First, you start off in typical fashion registering for Firebase. From…

0 Comments

CircleCI + BitBucket => Free Continuous Integration!

CircleCI is a service that I heard about from a friend that allows you to get continuous integration pipelines built up for your repositories... And it does it quick and easy. Also, free if you're someone like me and you don't have a large demand for getting builds done! I wanted to write about my experience with getting CircleCI wired up with BitBucket, which I like to use for my project hosting, and hopefully it'll help you get started. First thing, signing up is super easy if you have BitBucket because you can oauth right away with it. CircleCI will show you your projects & repositories that you have in BitBucket and you can decide which one you'd like to get started with. You can navigate to the projects in their new UI from the "Add Projects" menu. When you…

0 Comments

ProjectXyz: Why I Started A Team For My Hobby Project

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…

0 Comments

Unity3D And How to Master Stitching Using Autofac

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…

1 Comment

Using Autofac With Unity3D

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…

2 Comments

Unity3D and .NET 4.x Framework

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.…

0 Comments

End of content

No more pages to load