Minimizing string GC in Unity

April 3rd 2019
1K views
An easy trap to fall into when you’re starting out in Unity is creating strings each frame in your update loop. Say you have score that can change from a bunch of things: eliminating foes, jumping on a block, collecting a ring, or just existing. Whatever floats your boat. Then in your score updater component you just do:
600 words
|
~3min read

Actions and Selections with Card Lang

December 14th 2018
< 1K views
When the events we set up in part 1 of exploring the card language fire it would be quite nice if they could actually do something! This is where actions get their chance to shine. There are a ton of different actions a card can take but we’ll start out with just a few example ones like doing damage to pieces (Hit), healing them, or drawing a card. Just as we can have multiple events on a card we should also be able to have multiple actions for each event. We’ll also need a way to pass arguments to these actions to tell them which pieces to hit, what player draws the card, and so on.
995 words
|
~5min read

Introducing Card Lang

December 13th 2017
1K views
When I was first starting the project that would become Solaria Tactics I knew that if you’re going to make a card game, you better make the cards easy to design and tweak. There’s going to be hundreds of cards each with special rules, conditions, actions and other crazy stuff I want to add. Designing all these cards and making sure they work as intended would be a big challenge then especially with a developer team of one. So the challenge was take a card description like “Deal 5 damage to all minions” and encode that into something the game engine can understand and execute when you play that card. I had heard games like Hearthstone have a custom editor tool for designing and setting up the cards which I briefly considered doing, but that seemed like a black hole of time to create and maintain. It then dawned on me that the problem I was trying to solve, “Create meaning out of text”, is exactly what languages (both computer and written) are meant to do. Brilliant! I would create my own DSL which I could customize fairly easily and get all the power I need out of it. This idea also really appealed to the CS nerd inside of me since computer languages are such great examples of recursion. We’ll be using a program to make a language which will then be used to make a program!
951 words
|
~5min read

A Better Isometric Camera Control

December 2nd 2017
2K views
Greetings from Solaria! This is the first dev blog post of many as I progress on the development of Solaria Tactics. Hopefully these will be useful for other developers on their long journeys in game development.
1282 words
|
~6min read

The Asynchronous Journey

July 8th 2015
2K views
I love song covers. Yes, not all of them live up to capture all the spirit of the original recording, but getting through all the bad ones is suddenly worth it when you find the good ones. You might know the ones I’m talking about, they might be faster, cleaner, heavier sounding, different solo’s, or all of the above. You know it’s good when they take the song in a new direction that invokes a new vibe but with all the familiarity of the original. It’s really what music is all about… taking what’s out there and putting a different spin on it to put another mind in a trance.
940 words
|
~5min read

Upgrade your brain virtual machine

October 16th 2014
< 1K views
All of our brains use models to experience everyday life. An easy example is seeing the egg splat on the floor in your head right as it rolls off the table which somehow invokes the physics collider simulator you have going on up there. Everyone we interact with has the person base class with some properties about their gender, age, etc. which defines all the basic assumptions (and stereotypes we’ve picked up) about how the person will act. If I hit this person they’ll be angry of course. Then down through all the convoluted hierarchy of your brain’s person class there’s a person instance for each of the Jennifer’s, Steve’s, and Mike’s in your life. The more experience you have with the person the better your model is, all the way to the weird dialogs you have with these people in your head.
445 words
|
~2min read

Leaflet Zip Code Map Part 2

September 24th 2014
3K views
Leaflet Zip Code Map Part 1
1465 words
|
~7min read

Leaflet Zip Code Map Part 1

September 24th 2014
8K views
This is the first part of a two part series about how to set up leaflet maps to show zipcode areas with some extra data coming along for the ride allowing us to color the zip code areas based on demographics or any other reporting data. I did this using an ASP.NET MVC site and Web API with a Sql Server database. A database is required for this approach but there’s nothing stopping you from reimplementing this in your backend architecture of choice.
2397 words
|
~12min read