• entries
    146
  • comments
    436
  • views
    197644

Interpreter, Part 3

Sign in to follow this  
Washu

134 views

The problem we dealt with last time was one of duplication; the problem we'll be dealing with this time is one of complexity.

You and your team have spent the last 6 months developing this game. You have two months left in your development cycle before it must go gold. You've got a team of 8 programmers working on the game, and a whole slew of artists, and designers working on the project. You've also got one major problem on your hands that you wish you could have solved earlier.

You see, while there may be 8 programmers, you are all currently very busy fixing the major bugs. Meanwhile there are dozens, possibly even hundreds, of skills that require balancing. Each skill was masterfully hand crafted by you and your team of programmers, and unfortunately, the designers can't program enough to not introduce bugs; but man, it sure would be nice if you could offload that work onto them. You do have a scripting language implemented, but querying the scene graph, then processing the nodes returned using the complex logic required is tedious for you, incomprehensible to the designers.

What you wanted was something where you could make an almost English sounding phrase perform the complex logic required to both query for the entities from the scene graph, and isolate out those entities in the returned set that were of interest to you. Something where if you were given a skill such as: "The emergency nano-spray will heal all friendly units within a 10.0 foot radius that have less than 50 health." You could turn it into a query such as: "Distance < 10.0 where Health < 50 and IsAlly". Sure would be nice to have such a query language, because then you could turn over the work to those silly designers (they would just need to adjust some constants).

Our journey down a path to arriving at the above query shall start with the interpreter pattern.
Sign in to follow this  


2 Comments


Recommended Comments

Just wanted to say thanks for putting some time in to write such informative entries. I am really looking forward to the remainder of this "series".

Share this comment


Link to comment
Just read over the last 3 articles, and it sure does sound cool. I havent done a whole lot of work with the interpreter pattern, so I`m gonna do some extra reading now :)

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now