Sunday 16 February 2014

Not an Optimization Problem!

It occurred to me the other day that two types of argument that I hear fairly often are actually quite similar: "Which programming language is better for X?" and "Which RPG rule(set) is better for running scenario X?" Let's start off with the former.

Programming Language Preference


Programmers LOVE to talk about which language(or which technology) is better. What's the best language to start out learning? What's the best language to do my project in? Why is the language I designed objectively better than all the rest? Some people will talk to you for HOURS about this, going into the most detailed minutia. And I always feel a little uncomfortable about these conversations, regardless of how good the arguments being made are. I think Jonathan Rasmussen's point in his book "The Agile Samurai" is relevant:

You Pick Your Architecture When You Pick Your Team...A team strong in databases will naturally want to do most of the heavy lifting in SQL, while a team strong in object-oriented design(OO) will want to put all complexity in there... 

The point is that, in practice, there are many valid and effective way to accomplish your engineering task. The problem with these "which language is better" conversations is that they treat the question as an optimization problem: let's look at the problem from every possible perspective and determine which solution is optimal. This sounds very logical, but the truth is that there are many reasonable solutions, and engineering is very much an art, rather than a math exercise to find the solution to.  Pick tech that works for you and then move-on, so you can start worrying about the actual execution of your project, because that's going to make or break it for you regardless of the language you pick.

Rules Preference


It's the same with a lot of rules discussions that I hear. It's not that people aren't making valid points.  It's that they(often times myself) have a tendency to obsess over these rule choices and treat it as an optimization problem. Just pick a system that you like overall and start worrying about your execution!

The rules aren't the alpha and the omega of what makes the game. I'll be honest: whether I run WFRP, or DnD or Cyberpunk 2020, I tend to run the game a certain way.  And the same tends to hold true for other DMs I've played with. There's a lot of artistry and technique to running an RPG beyond the rules, and it's going to make a hell of a lot more difference than what kind of saving throws you chose to use, ascending or descending AC, etc!

So yeah, that's my rant for the day. Figure out what tools work for you in this situation and then get on with it! Get out there and write some great software/run a great game!

No comments:

Post a Comment