Oleksii-Kshenskyi / btagsil

BTAGSIL = a Bullshit Text Adventure Game where Sky Is the Limit
MIT License
2 stars 0 forks source link

BTAGSIL, a Bullshit Text Adventure Game

A surface level description

BTAGSIL is a Bullshit Text Adventure Game where Sky Is the Limit. Its IPA pronounciation is /biːˈtæɡsɪl/, or simply bee-tag-sil (sil as in silk), with the emphasis on "tag".

First things first, why the B? Well, there are a few reasons.

Secondly, and just to elaborate a bit, this is planned to be a long-term project. I don't expect to be able to develop it daily, but I do expect to be always returning to it and developing additional features. I'm planning to use GitHub milestones + issues for now to roughly outline the next set of features to work on. However, in the initial "there's nothing ready" stage of development (at least until 0.3.0 or so?) I'm not planning to use milestones/issues religiously and dilligently, rather as a convenience than anything else. Once (at the very least) the basic architecture is in place though, I'll start being a bit more meticulous about documenting everything.

You can find what's currently being worked on in the current milestone, 0.1.0.

How versioning works

For now, I'll mostly be incrementing the minor version (the second number) for each new release. Each minor version increment is going to be its own milestone that features quite a lot of new features implemented, a couple new systems defined, a few new things to do etc.

0.1.0 is the first milestone / minor version being worked on, and it's going to define the basics of how BTAGSIL works, what the world contains and how it is generated, as well as a couple basic in-game systems such as the command/action system (how the user inputs commands for the game to interpret and how the game interprets them), the UI, as well as some basic documentation and unit testing efforts.

The second release planned, 0.2.0, is long loooong time away, but for now it's planned to feature the simulation system (commands given to BTAGSIL not as user input in real time but as essentially a script, a text file with a bunch of commands to run, and the simulation executable's job is going to be to simulate how the world would look like after all of the commands in the script are implemented), probably a more flexible content generation system (the content of the game should be stored in text template files instead of being hardcoded in the code) and some additional content for more things to do.

As for 0.3.0, it's too early to even theorize what could end up there.

Building and playing

As for now (the almost-empty Python prototype stage), I'll be using the "main Python file in the root of the repo plus a bunch of implementation details in the game folder" kind of structure. Probably with a separate tests folder. So in order to run the game, just use the python executable to run the sky.py file in the root of the repo.

Licensing

This is licensed under the standard MIT license. Provided you include the copyright notice, you can use this code however you like. The licensing terms for this project may change in the future, nothing is set in stone yet.