Cleaned up README, added dev-dimensions.md
This commit is contained in:
parent
75c2182f36
commit
b8e5777729
44
README.md
44
README.md
@ -1,53 +1,27 @@
|
|||||||
# Stepwise
|
# Stepwise
|
||||||
|
|
||||||
|
Stepwise (working title) is a traditional roguelike, with console-like graphics, built with [python-tcod](https://github.com/libtcod/python-tcod).
|
||||||
|
|
||||||
## Dimensions and Genres
|
## Dimensions and Genres
|
||||||
|
|
||||||
Each time you start a run, a genre is chosen from a predefined list of **Dimensions**. Which dimension is chosen will dictate the rules for that run, altering the map's generation and overall goals for that save file. Some talking monsters may change their dialog, or some monsters may only spawn in some dimensions but not others.
|
Each time you start a run, a genre is chosen from a predefined list of **Dimensions**. Which dimension is chosen will dictate the rules for that run, altering the map generation and overall goals. Some talking monsters may change their dialog, or some monsters may only spawn in some dimensions but not others.
|
||||||
|
|
||||||
Some recurring elements will exist in all dimensions to provide some stability, but will often be warped to fit - for example, if the "fantasy" dimension has Cid, the dwarven shopkeeper, the "scifi" dimension has C.I.D., the Customer Inventory Droid.
|
Some recurring elements will exist in all dimensions to provide some stability, but will often be warped to fit - for example, if the "fantasy" dimension has Cid, the Dwarven shopkeeper, the "sci-fi" dimension has C.I.D., the Customer Inventory Droid.
|
||||||
|
|
||||||
Here's a few potential options, which absolutely will change over time:
|
A working list of dimensions can be found in [dev-dimensions.md](dev-dimensions.md).
|
||||||
|
|
||||||
* Sword and Sorcery (LotR, D&D)
|
## Setup
|
||||||
* GitS/Neuromancer/Digitized Minds
|
|
||||||
* Steampunk/Clockpunk/Crystalpunk (deeper areas have older tech)
|
|
||||||
* Post-Post-Apocalypse (Nausicaa)
|
|
||||||
* Shakespeare, A Tragedy
|
|
||||||
* Fairy Tales and Fables (Brothers Grimm)
|
|
||||||
* Secret Agent Espionage
|
|
||||||
* Mythic Odyssey
|
|
||||||
* Dreamlands/Cthulhu Horror/Gothic Horror (accessible only during the full/new moon)
|
|
||||||
* Stargates/Sliders
|
|
||||||
* Isekai Protag Syndrome (mana-morph?)
|
|
||||||
* Gunslingers (Wild West)
|
|
||||||
|
|
||||||
## Links And Resources
|
I'm still figuring out how python works, but this is part of it.
|
||||||
|
|
||||||
https://rogueliketutorials.com/
|
|
||||||
|
|
||||||
https://python-tcod.readthedocs.io/en/latest/
|
|
||||||
|
|
||||||
## Setup and Scripts
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
#make the virtual environment
|
#make the virtual environment
|
||||||
python3 -m venv venv
|
python3 -m venv venv
|
||||||
|
|
||||||
#useful pre-commit hook
|
|
||||||
lint_results=$(echo "$(grep -Pro '[\t]+$' */*.py)")
|
|
||||||
lint_errors=$(echo "$lint_results" | wc -w)
|
|
||||||
if [ $lint_errors -gt 0 ]; then
|
|
||||||
echo "pre-commit lint errors found: $lint_errors"
|
|
||||||
echo "$lint_results"
|
|
||||||
fi
|
|
||||||
exit $lint_errors
|
|
||||||
```
|
```
|
||||||
|
|
||||||
heapq is a thing for the speed sorting
|
|
||||||
|
|
||||||
## Credits and links
|
## Credits and links
|
||||||
|
|
||||||
Dev: Kayne Ruse
|
Design, Coding: Kayne Ruse
|
||||||
Help: Troy Brough
|
Design: Troy Brough
|
||||||
Font: https://2bitcrook.itch.io/44-game-boy-fonts
|
Font: https://2bitcrook.itch.io/44-game-boy-fonts
|
||||||
|
|
||||||
|
54
dev-dimensions.md
Normal file
54
dev-dimensions.md
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
## Primary Dimension List
|
||||||
|
|
||||||
|
*TODO: Proper names for each is needed.*
|
||||||
|
|
||||||
|
The 12 dimensions are divided into 4 categories, to help with theming and tool reuse.
|
||||||
|
|
||||||
|
Tolkien
|
||||||
|
* Sword and Sorcery (LotR, D&D)
|
||||||
|
* Mana-Centric (Isekai conceit)
|
||||||
|
* Post-Post-Apocalypse (Nausicaa)
|
||||||
|
|
||||||
|
Technology
|
||||||
|
* Steampunk/Clockpunk/Crystalpunk (deeper areas have progressively strange tech, "Xpunk"?)
|
||||||
|
* Digitized Minds (GitS, Neuromancer, "Digital Ghosts"?)
|
||||||
|
* Gunslingers (Wild West with strange tech)
|
||||||
|
|
||||||
|
Fiction
|
||||||
|
* Shakespeare, A Tragedy
|
||||||
|
* Mythic Odyssey
|
||||||
|
* Grimm Tales
|
||||||
|
|
||||||
|
Contemporary
|
||||||
|
* Secret Agent Espionage
|
||||||
|
* Eldritch Horror
|
||||||
|
* Gothic Fiction
|
||||||
|
|
||||||
|
## Modifiers
|
||||||
|
|
||||||
|
A modifier is applied to a dimension to give it a unique twist for one run only. Some modifiers are not initially available, and must be unlocked by the player. Others may only appear under certain circumstances, such as the phase of the moon. The chances of a modifier being active are TBD.
|
||||||
|
|
||||||
|
Gobbo Swarm
|
||||||
|
* A strange, almost goblin-like species with the habit of causing havoc is different dimensions.
|
||||||
|
|
||||||
|
Merchant Ship
|
||||||
|
* A group of merchants capable of travelling between dimensions, will sell items from other worlds, including unique items not available elsewhere.
|
||||||
|
* For each run (perhaps, with a minimum level needed, so it can't be cheesed), a counter ticks down until zero, at which point the merchant ship is guaranteed to generate. The counter only resets when the player finds it. In essence, this guarantees the ship will be encountered on a semi-regular basis.
|
||||||
|
|
||||||
|
Contagion
|
||||||
|
* A strange affliction, that turns people into zombies. Could also prevent the spawning of normally present monsters, to invoke a 28-days-later vibe.
|
||||||
|
* Initially locked, can only be unlocked by finding and item called "The Heart Of A Dead World".
|
||||||
|
|
||||||
|
Pocket
|
||||||
|
* A small dimension, distinct from the primary list. Not as long-lived as normal dimensions.
|
||||||
|
* Initially locked, can only be unlocked by activating the "Gate Network".
|
||||||
|
|
||||||
|
## Persistent Elements And Warped Identity
|
||||||
|
|
||||||
|
Shopkeeper
|
||||||
|
|
||||||
|
* Tolkien - Cid, Dwarven Shopkeeper
|
||||||
|
* Technology - C.I.D., Customer Inventory Droid
|
||||||
|
* Fiction - Le Cid (There's a play with this name?)
|
||||||
|
* Contemporary - Cid, the store clerk
|
||||||
|
|
28
dev-notes.md
28
dev-notes.md
@ -2,6 +2,27 @@
|
|||||||
|
|
||||||
This file is a kind of scratch-pad for a multitude of ideas, that I can't implement yet. They'll be added to, refined or removed over time, so don't get too attached.
|
This file is a kind of scratch-pad for a multitude of ideas, that I can't implement yet. They'll be added to, refined or removed over time, so don't get too attached.
|
||||||
|
|
||||||
|
## Links and references
|
||||||
|
|
||||||
|
https://rogueliketutorials.com/
|
||||||
|
https://python-tcod.readthedocs.io/en/latest/
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#make the virtual environment
|
||||||
|
python3 -m venv venv
|
||||||
|
|
||||||
|
#useful pre-commit hook
|
||||||
|
lint_results=$(echo "$(grep -Pro '[\t]+$' */*.py)")
|
||||||
|
lint_errors=$(echo "$lint_results" | wc -w)
|
||||||
|
if [ $lint_errors -gt 0 ]; then
|
||||||
|
echo "pre-commit lint errors found: $lint_errors"
|
||||||
|
echo "$lint_results"
|
||||||
|
fi
|
||||||
|
exit $lint_errors
|
||||||
|
```
|
||||||
|
|
||||||
|
heapq is a thing for the speed sorting
|
||||||
|
|
||||||
## Entity Statistics
|
## Entity Statistics
|
||||||
|
|
||||||
#TODO: brain no work, calc these later
|
#TODO: brain no work, calc these later
|
||||||
@ -30,10 +51,6 @@ To-hit, d20:
|
|||||||
damage-dealt:
|
damage-dealt:
|
||||||
roll(weapon_damage) - target_absorb
|
roll(weapon_damage) - target_absorb
|
||||||
|
|
||||||
## Dimension List
|
|
||||||
|
|
||||||
#TODO: Plan out each confirmed dimension.
|
|
||||||
|
|
||||||
## Concepts and Ideas
|
## Concepts and Ideas
|
||||||
|
|
||||||
Color-based effects or biomes that only have an impact when in the FOV?
|
Color-based effects or biomes that only have an impact when in the FOV?
|
||||||
@ -46,8 +63,7 @@ damage-dealt:
|
|||||||
It could be interesting, not necssarily a good or fun idea, but if you had another "point" or currency. Where if you spend the first one you get some kind of "cursed knowledge" point and that affects the run somehow? So the more you use your forbidden knowledge the more weird things get?
|
It could be interesting, not necssarily a good or fun idea, but if you had another "point" or currency. Where if you spend the first one you get some kind of "cursed knowledge" point and that affects the run somehow? So the more you use your forbidden knowledge the more weird things get?
|
||||||
If you use IRL time and date as a mechanic, go big or go home. Maybe the horror dimension is only accessible during full/new moons?
|
If you use IRL time and date as a mechanic, go big or go home. Maybe the horror dimension is only accessible during full/new moons?
|
||||||
Should the selected dimension be known at the start of a run?
|
Should the selected dimension be known at the start of a run?
|
||||||
Could have "modifiers" that apply to existing demensions, altering how they generate i.e. a zombie virus could spread.
|
More of a certain dungeon feature in some runs i.e. too many fountains run?
|
||||||
Could have "travellers" that move from one dimension to another i.e. want a particularly powerful item? Better hope the "merchant ship" is in this world.
|
|
||||||
|
|
||||||
## Healing Items
|
## Healing Items
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user