Having noticed the prevalence of crafting games in this forum section, and the awesomeness possible in Homestucks alchemy system, I decided to make this: A game only about designing awesome stuff, with no goal, plot, or competition, at least not yet... The pseudocodeish rules is a test of entrance, if you don't understand it don't try to play.
Also, I realized I'm horrible at writing this stuff, so be prepared for stupid misunderstandings, and everything is subject to change if it seems unclear or not working, even if it explicitly state otherwise.
printing file Synthesis_rules.txt, :
# Import Concepts, Possibilities, Game, Defaults;
For each player, For each 3 hours:
If integer player.actions less than or equal to 4, increment player.actions
If player.actions equal or exceed 4, player can do 1 of Actions, then player.action decrement
If entity if member of bay12 forums, then entity is member of player%s
The Set contains information, and once something is in The Set, it can never be removed or changed, all changes results in both the new and old version being in the set.
Actions:
- player produces image, name; object is added to The Set. Name must describe object on image, name must be unique, image must be photo of physical object possessed by player, object must be reasonably mundane, object must be reasonably small.
examples: brick, gun, cat, laptop, spoon.
- player produces name, definition of transform, which is added to The Set. A transform must take a number of Concepts as parameters, which must be either infinity or an integer larger than 0.
examples: add, XOR, to the power of, Interpret-as-volume, print, stir fry, bevel edges.
- player indicates a transform from The Set, and Concepts for it's parameters. The output is added to The Set. This is the main means of producing awesome stuff!
- Run an executable Concept. This can be either a place/universe, in which case time is started and events unfold, or it could be a program/expression, in which case the output is revealed/added to The Set There is also the possibility of other executable Concepts.
- Broadcast a string over a channel, entities in running universes or other things may receive the information, and possibly act on it, depending on the agent.
The Set:
- Addition, "+", takes any amount of concepts and returns a Concept that is the sum of them, for example rifle+sword=rifle with the sword as a bayonet. [concept][transform][mathematical function]
- Subtraction, "-", takes two arguments and returns the difference between them, for example a glass of water-an empty glass is water material.[concept][transform][mathematical function]
- multiplication, "*", takes any amount of concepts and returns a Concept that is the product of them, for example rifle*sword=rifle that shots swords. [concept][transform][mathematical function]
- And, "&", takes any amount of concepts and returns that which ALL the input concepts have in common. [concept][transform][boolean operator]
- Or, "|", takes any amount of concepts and returns something that has all properties that any of the inputs had. [concept][transform][boolean operator]
- VoidSpace; An infinite featureless void, it has space and time, but no matter. The base for executable universe. [concept][place][executable]
- Essence of Metareviver; The essence of being able to receive player broadcast strings, it needs to be combined with something that can represent communication (a living creature, a computer, a radio, etc.) which is put in a universe which is run to do this. [concept][essence]
- All finite integers, this is actually infinitely many concepts merely represented as a singe list item here. [multiple concepts][number]
- All possible ASCII strings, this is actually infinitely many concepts merely represented as a singe list item here, any finite string you an type on your keyboard is part of The Set, just put it in "". [multiple concepts][text]