# The Obelisk

The Obelisk is a pornographic interactive-fiction game set in a post-apocalyptic world ravaged by a magical tower.

## About the Project

This is an HTML5 game made with custom code and love. The base (which will be referred to as "Tower Engine") is meant to play and feel somewhat similar to old Infocom games, with part of the logic resembling how Inform 7 games are developed. The Tower Engine code will be kept separated from all game content so as to allow others to freely utilize this base in other games, though no other effort will be made to make this process easier.

This project is created using TypeScript, HAML and Compass, making those tools mandatory for anyone wanting to either deploy it or make changes.

## What is the game like?

This game tries to mimick the feel and gameplay found in old Infocom or Inform 7 games, but without parsing commands. Instead, you are presented with links that can be accessed with either Keyboard or Mouse. The available links are "smart" and adapt to the current situation.

### Story

In **The Obelisk**, the story happens in a post-apocalyptic world in which a black Obelisk appeared and started transforming people, things and the world. The chaos that ensued from all the changes resulted in the world breaking apart, with humanity returning to old, tribal ways of life.

The player character will be tasked with the destruction of the Obelisk, finding themselves in a region that's altered by magic and adapts to their own desires, attempting to transform them until they are no longer able or willing to keep to their mission. Nothing that happens in the vicinity of the Obelisk is real, being merely how it tries to understand the player character to give them what they want, but at the same time, it is very real for the player character.

The main NPCs will be Orcs and monsters of all kinds, but the Obelisk can create anything the player character is able to imagine.

### Gameplay

This is to be primarily a game about choices, those being how the player chooses to interact with the creatures and objects found in the vicinity of the Obelisk and then having the player character be affected by those choices.

How the player chooses to present themselves as and behave will affect how creatures respond, and all of that will affect the two main systems of the game: Corruption and Degeneration. Corruption refers to how violent the player has become and it increases until the Obelisk decides to just throw the player back onto the real world. Degeneration refers to the current sex addiction the player has reached on their quest, and it increases until the player is no longer willing to destroy the Obelisk, preferring to just stay in the dream world forever.

Besides the mental transformations, which are core to the game, body transformations will also be possible, albeit rarer. Additionally, as corruption increases, the player slowly turns into an Orc, and as Degeneration increases, some bodyparts may change to adapt.

### On Content

While attempts will be made to include all kinds of content that the story demand, some fetishes are bound to appear more often unless outside help is given. Regardless, the option to toggle content types on or off will be given, allowing players to tailor their experience to their liking, after all, the Obelisk is only giving the player exactly what they want, even if they sometimes don't know it yet.

### Playing

The most current "stable" release will contain a single HTML file which can be opened in any Browser. Alternatively, it is possible to download this entire repository and transpile typescript/haml to play the most recent version. Some times this will have already been done and you can just open the HTML in dist/.

This game is made for and tested in Chrome, with occasional tests happening in Firefox, and no tests  done in other browsers, but this project should work with any modern Browser with good support for HTML5 and EcmaScript 8. Some attempts have been made for mobile support, but browsers there are iffy about offline JavaScript, so the game might end up not being playable outside of an online medium on mobile.

**The game is not really playable and has no content for the foreseeable future.**

## Contributing

This project is made available under the GNU AGPLv3 License, which means anyone is able to modify the code and distribute their own versions of the game, so long as they adhere to the demands made in the license.

However, for this project in particular, submitted changes will only be accepted if given either under [Unlicense License](http://unlicense.org) or under a License that's not demanding of this project, so that control of the project can remain as-is. You are free to make changes under the GNU AGPLv3 License, they simply won't be added to the main project outside of those conditions so as to avoid situations in which effort is spent into adding a change which then must be retracted due to future conflicts.

## Versioning

The versioning used in this game should be read as BREAKPOINT.MAJOR.PATCH. With the exception of Patch versions, the versioning in this game refers only to the content available, with no care for the underlying game code.

* **Breakpoint version**: A breakpoint increment signifies that a very important milestone has been reached. 1.0.0, for instance, will denote when the game becomes fully playable, from start to finish.

* **Major version**: A major increment signifies new content. Going from 0.1.0 to 0.2.0 means there is new content available for players.

* **Patch version**: A patch increment simply signifies bug correction or other small fixes.

## Authors

* **Reddo** - Initial Work - [Forum User](https://www.tfgamessite.com/phpbb3/memberlist.php?mode=viewprofile&u=79416)

## License

This project is licensed under the GNU Affero General Public License v3.0 - see the [LICENSE](LICENSE) file for details. You can also read about it [here](https://choosealicense.com/licenses/agpl-3.0/).