Commander-lol / open-baba

A simple browser clone of the Baba Is You rules-as-gameplay game mechanic

Home Page:https://baba.louis.cloud

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

open-baba

A simple browser clone of the Baba Is You rules-as-gameplay game mechanic

Try It Here

Selection_926

Running it

  • Clone this repository
  • cd open-baba && npm install
  • npm start

Game objects

Everything is a Noun or an Adjective.

Nouns consist of a name, an image for the text component and an image for the entity component. The hold a bag of adjectives that dictate their collision interactions with other bags-of-adjectives (nouns)

Adjectives consist of a name, an image for the text component and a set of rules for when other adjectives collide with them. At present there are a preset number of responses to a collision, and only "is-moved" and "stop" have been implemented.

A level is specified with a width, height, a set of Nouns and a set of Adjectives. An adjective has its rule set specified as part of its inclusion in a level, and so can operate differently between levels. The actual rules are either internal (a pointer to a core-rule, which is currently 'push' or 'you') or they are inline, in which case the decision hash is stored as part of the level.

If this doesn't make sense, check ser/data/testlevel1.json for the level from the above screenshot, and src/data/adjectives/*.json for example adjective descriptors.

Principles

Everything is fully dynamic with the exception of the connectors (currently "is", but in future other connectors such as "and" may be implemented). By including a noun with the name "text", the properties of the text itself can also be changed (By default, it uses an internal noun that only has the "push" adjective)

Credits

About

A simple browser clone of the Baba Is You rules-as-gameplay game mechanic

https://baba.louis.cloud

License:Apache License 2.0


Languages

Language:JavaScript 90.0%Language:HTML 6.1%Language:CSS 3.9%