HackerExperience / Helix

GNU Affero General Public License v3.0
53 stars 10 forks source link

Add Helix Factor #303

Closed renatomassaro closed 6 years ago

renatomassaro commented 6 years ago

Factors are the low level building blocks for the game balance and design implementations.

  The Helix Factor is a DSL for building blocks of fact-collecting methods. As
  a whole, a Factor is meant to gather facts from the object and context it is
  working on.

  Factor is very useful when you want to gather little pieces of information,
  potentially from several different contexts, in an efficient, maintainable,
  composable and readable way.

  Namely, the main two use-cases for Factors within Helix are:

  - Figuring out how long a process should take.
  - Calculating difficulties, rewards, penalties based on, well, game factors.

  One could split the implementation of a game design and balance in two parts:

  1. Gathering of all required variables to calculate the outcome.
  2. Calculate the outcome.

  In short, Factor is responsible for the first part. 

Incidental


This change is Reviewable

sourcelevel-bot[bot] commented 6 years ago

Ebert has finished reviewing this Pull Request and has found:

You can see more details about this review at https://ebertapp.io/github/HackerExperience/Helix/pulls/303.

renatomassaro commented 6 years ago

Reviewed 8 of 9 files at r1, 1 of 1 files at r2. Review status: all files reviewed at latest revision, all discussions resolved.


Comments from Reviewable