Removed draft format

- Added randomness
- Nickname and DJ name variables
This commit is contained in:
Tony Bark 2025-02-25 01:24:36 -05:00
parent 53577f635f
commit c2b2dd7fb9
7 changed files with 53 additions and 151 deletions

View file

@ -4,4 +4,4 @@ Synthetic Fur features Zack Casey and his android, Nathan. It is a re-imagining
## License ## License
I license the source code under the [European Union Public Licence 1.2](LICENSE) and wave all copyrights for the published form under [Creative Commons Zero v1.0 Universal](CC0). I license the source code under the [European Union Public Licence 1.2](LICENSE). I wave all copyrights for Model T and the published form of Synthetic Fur under [Creative Commons Zero v1.0 Universal](CC0).

View file

@ -1,96 +0,0 @@
# Interactive Story Draft v0.5
- **File Format:** `.isd`
The Interactive Story Draft (ISD) format is a story format language designed for drafting interactive fiction before implementation in Twines Harlowe or similar engines. It allows authors to structure branching narratives, define conditions, and track variables efficiently.
---
## Specifications
1. **Passages:**
- **Syntax:** `# PassageName`
- **Description:** Defines a new passage or section in the story.
2. **Links:**
- **Syntax:** `[[Link Text -> TargetPassage]]`
- **Description:** Creates a navigational link to another passage.
3. **Variables:**
- **Syntax:** `$variableName`
- **Description:** Represents a variable to track states or information.
4. **Variable Assignment:**
- **Syntax:** `(set: $variableName to value)`
- **Description:** Assigns a value to a variable.
5. **Input Variable**:
- **Syntax:** `(input: $userVariable, "Placeholder")`
- **Description:** Allows the user to input data.
6. **Conditional Statements:**
- **Syntax:** `(if: condition)[Text if true]`
- **Description:** Displays text or content based on a condition.
7. **Else Clause:**
- **Syntax:** `(else:)[Text if false]`
- **Description:** Follows an `(if:)` statement to handle the false condition.
8. **Drop down:**
- **Syntax:** ``(dropdown: $variableName to "Option 1", "Option 2")``
- **Description:** Assigns a drop down menu with the given strings as options.
9. **Random Number Generation:**
- **Syntax:** `(set: $variableName to (random: min, max))`
- **Description:** Sets a variable to a random number between `min` and `max`.
10. **Text Styling:**
- **Syntax:** `''italic''`, `'''bold'''`, `^^superscript^^`, `~~subscript~~`
- **Description:** Applies basic text formatting.
## Example
```
# Introduction
Welcome to your adventure! You find yourself at a crossroads.
[[Take the left path -> LeftPath]]
[[Take the right path -> RightPath]]
# LeftPath
You walk down the left path and encounter a mysterious stranger.
(set: $hasKey to true)
The stranger gives you a key.
[[Continue -> Crossroads]]
# RightPath
You walk down the right path and find a locked door.
(if: $hasKey)[
You use the key to unlock the door and discover a treasure!
]
(else:)[
The door is locked. You need a key to open it.
]
[[Return to the crossroads -> Crossroads]]
# Crossroads
You're back at the crossroads.
[[Take the left path -> LeftPath]]
[[Take the right path -> RightPath]]
```

View file

@ -1,32 +0,0 @@
# Main Menu
(set: $playerName to "Zack")
(set: $synthName to "Nathan")
[[Play -> Prologue]]
[[Settings -> Settings]]
# Settings
[[Return to Main Menu -> Main Menu]]
Name: (input: $playerName, "")
Synth Name: (input: $synthName, "")
# Prologue
With one leg up on your office chair, a slight turn of a dial, and the headphone to your ear, you closed your eyes. The music flowed through your ears like an incoming wave.
Suddenly, there was a soft knock that began to fill your thoughts. Trying to focus, the second knock was louder. Finally, the third knock startled you from your trance, causing you to jump in your chair, nearly falling over.
"Yipe!" You cried out and grabbed the edge of your desk with your tail before pulling yourself up.
As you stood up and regained your composure, you ran the door. "Coming!" You yelled out. Finally, you opened it up. "$synthName!"
"Greetings, $playerName," he bowed. "Forgive me for disturbing you."
[[Brush It Off -> Brush it Off]]
# Brush it Off
You wave your paw around. "Oh, no!"

View file

@ -1,5 +1,5 @@
:: StoryTitle :: StoryTitle
Starter Kit Synthetic Fur
:: StoryData :: StoryData
@ -12,32 +12,62 @@ Starter Kit
} }
:: Header [header] {"position":"450,350","size":"100,100"} :: About {"position":"325,250","size":"100,100"}
(align:"=><=")+(box:"X")[''Starter Adventure'' | (align:"=><=")+(box:"X=")[You play as $player, a blue fennec who hired $synth. $synth is an android that works as a butler.]
[[Settings->Settings]]]
:: Return {"position":"575,350","size":"100,100"}
(align:"=><=")+(box:"X")[(link-goto:
"Return", (history:)'s last)]
:: Settings {"position":"450,500","size":"100,100"} :: Header [header] {"position":"325,375","size":"100,100"}
(align:"=><=")+(box:"X")[= (align:"=><=")+(box:"X")[ [[Settings->Settings]] | [[About->About]] ]
Name: (input-box:2bind $player,"X",1,"Zack") (seed:"36ac6237-cefe-4f59-894e-0cc812654f44")
Location: (dropdown: bind $location, "Sunset Arms", "TPaw HQ")
Class: (dropdown: bind $class, "DJ", "Programmer")
(display:"Return")
:: Main Menu {"position":"325,350","size":"100,100"} :: Main Menu {"position":"200,375","size":"100,100"}
(align:"=><=")+(box:"X")[= (align:"=><=")+(box:"X")[
## [[Play->Prologue]] ## [[Play->Prologue]]
]
(unless: (history:) contains "Settings")[
(set: $player to "Zack")]
:: Prologue {"position":"325,500","size":"100,100"} :: On Load [startup] {"position":"200,250","size":"100,100"}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ultrices quam quam, lacinia consequat justo cursus condimentum. Aenean sed rhoncus orci. Donec accumsan ex magna. Nulla tempor egestas eleifend. Sed eget aliquet augue. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer aliquet quam ut felis tempor, quis tincidunt urna pharetra. Morbi molestie libero id mauris porttitor dapibus. Donec ac ante augue. Duis commodo facilisis mi. Fusce quis enim ante. Praesent vitae est in arcu venenatis molestie nec in arcu. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed commodo erat magna. <!-- Character names -->
(set: $player to "Zack")
(set: $nick to "Z")
(set: $dj to "Furry Blue DJ") <!-- Player's DJ name -->
(set: $synth to "Nathan")
Mauris in ipsum imperdiet, tristique turpis ut, interdum metus. Donec ante quam, aliquet quis pulvinar eu, rhoncus nec ipsum. Sed eget sapien neque. Proin convallis justo lacus, a rhoncus eros condimentum nec. Aliquam erat volutpat. Aliquam eu nulla a odio imperdiet posuere. Pellentesque id ipsum vulputate, accumsan enim nec, dignissim elit. Suspendisse lobortis neque ligula, in faucibus libero rutrum ac. Nunc porta gravida congue. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. <!-- Gameplay -->
(set: $lewd to false)
(set: $d6 to (random: 1,6))
:: Prologue {"position":"200,500","size":"100,100"}
With one leg up on your office chair, a slight turn of a dial, and the headphone to your ear, you closed your eyes. The music flowed through your ears like an incoming wave.
Suddenly, there was a soft knock that began to fill your thoughts. Trying to focus, the second knock was louder. Finally, the third knock startled you from your trance, causing you to jump in your chair. (if: 3 <= $d6)["Yipe!" You cried out as you begin to fall over. You quickly grabbed the edge of your desk with your tail before pulling yourself up.] You stood up from your chair and regained your composure, you ran the front door then opened it up
(click: "front door")[An android with a fennec aesthetic and blue alloy skin that matched yours stood before you. "Greetings, $player," they said with a graceful bow before standing right back up.
You took a moment to examine them. The android was dressed in a matching gray t-shirt (if: $lewd is true)[and chaps that framed his slit](else:)[and pants]. A single blue line ran from the top to bottom from the left side of their shirt with a logo in the shape of paw on the top right sleeve.
"Oh! Right," you remember as you snapped your fingers. "$synth! You're the butler I hired."
"That is correct." $synth replied. "Forgive me for disturbing you," he added.]
:: Settings {"position":"325,500","size":"100,100"}
(align:"=><=")+(box:"X")[=
=|=
''Name''
(input-box:2bind $player,"X",1,"")
''Stage Name''
(input-box:2bind $dj,"X",1,"")
=|=
''Nickname''
(input-box:2bind $dj,"X",1,"")
(checkbox: 2bind $lewd, "Lewd Gameplay")
|==|
<!-- This is needed to persist settings. -->
(button:)(link-goto: "Save", (history:)'s last)