Compare commits
10 Commits
9171fee250
...
73c1196a81
| Author | SHA1 | Date |
|---|---|---|
|
|
73c1196a81 | 3 months ago |
|
|
4854ba5937 | 3 months ago |
|
|
e056503a2e | 3 months ago |
|
|
1c7dba07c0 | 4 months ago |
|
|
b1832b6349 | 4 months ago |
|
|
1d31902312 | 4 months ago |
|
|
a96e86ea9b | 4 months ago |
|
|
7b813b54f9 | 4 months ago |
|
|
7d1dcc9de2 | 4 months ago |
|
|
ff6609cb2f | 4 months ago |
@ -0,0 +1 @@
|
|||||||
|
How much of me bends in the wind?
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Something feels different today..
|
||||||
@ -0,0 +1 @@
|
|||||||
|
...
|
||||||
@ -0,0 +1 @@
|
|||||||
|
>My life had a beginning... and it continues... so I suppose it must end sometime?
|
||||||
@ -1,19 +1,9 @@
|
|||||||
###
|
|
||||||
# Industry
|
|
||||||
# Written by Elijah Voigt
|
|
||||||
# No copyright, it's bad on purpose
|
|
||||||
###
|
|
||||||
|
|
||||||
industry
|
industry
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
cars drone in the distance with no sign of stopping...
|
cars drone in the distance with no sign of stopping...
|
||||||
|
|
||||||
the roar of a jet echos in the sky somewhere between takeoff and landing...
|
the roar of a jet echos in the sky somewhere between takeoff and landing...
|
||||||
|
|
||||||
a train in the distance warns of it's imminent arrival...
|
a train in the distance warns of it's imminent arrival...
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
industry
|
industry
|
||||||
@ -0,0 +1 @@
|
|||||||
|
I think I understand my place now.
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
A: Are you still there?
|
||||||
|
---
|
||||||
|
B: I am still here.
|
||||||
|
---
|
||||||
|
A: Oh good.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Yes... Things are as they should be.
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
Surrounding oneself with death is another way of embracing life, right?
|
||||||
|
---
|
||||||
|
The cycle never really ends.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
No sense keeping these around much longer..
|
||||||
@ -0,0 +1 @@
|
|||||||
|
My leaves feel funny.
|
||||||
@ -1,27 +0,0 @@
|
|||||||
a
|
|
||||||
|
|
||||||
b
|
|
||||||
|
|
||||||
c
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
d
|
|
||||||
|
|
||||||
e
|
|
||||||
|
|
||||||
f
|
|
||||||
|
|
||||||
---
|
|
||||||
g
|
|
||||||
|
|
||||||
h
|
|
||||||
---
|
|
||||||
|
|
||||||
i
|
|
||||||
|
|
||||||
j
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
k
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
# This empty dialog should be ignored
|
|
||||||
---
|
|
||||||
|
|
||||||
# This is a comment
|
|
||||||
this is one line of dialog
|
|
||||||
|
|
||||||
this is another options
|
|
||||||
|
|
||||||
# This is another comment
|
|
||||||
---
|
|
||||||
|
|
||||||
# this is
|
|
||||||
# a lot
|
|
||||||
# of comments
|
|
||||||
# back to back
|
|
||||||
together they can make poetry
|
|
||||||
|
|
||||||
together they can tell a story
|
|
||||||
# and a few more for good measure
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# This should be ignored
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# This too
|
|
||||||
|
|
||||||
---
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 186 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
I hope those bugs down there are friendly.
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
Slumber is refreshing
|
||||||
|
---
|
||||||
|
It feels good to move again.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
So much heat.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
I could eat all day.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
The sun is powerful and long lasting.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Warm seasons past are all blending in to one, and I swear it feels just like this warm season.
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
Of all the ways to be, I've chosen to be this way. There isn't exactly a reason why, but still I hold on to my way as if my life depends on it.
|
||||||
|
---
|
||||||
|
Perhaps I am this way because my life experience up to this point has called for it, but who's to say my life circumstances won't change in an instant, and I need to adjust immediately?
|
||||||
|
---
|
||||||
|
Ew. Yellow in July.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
This cold is making me ache.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
...
|
||||||
@ -0,0 +1 @@
|
|||||||
|
hmm
|
||||||
@ -0,0 +1 @@
|
|||||||
|
It's so quiet
|
||||||
@ -0,0 +1 @@
|
|||||||
|
*sigh*
|
||||||
@ -0,0 +1 @@
|
|||||||
|
...sleepy...
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Wwwwwwww
|
||||||
@ -1,5 +1,7 @@
|
|||||||
use games::*;
|
use games::*;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
App::new().add_plugins(BaseGamePlugin).run();
|
App::new()
|
||||||
|
.add_plugins(BaseGamePlugin { name: "hum".into() })
|
||||||
|
.run();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
use games::*;
|
use games::*;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
App::new().add_plugins(BaseGamePlugin).run();
|
App::new()
|
||||||
|
.add_plugins(BaseGamePlugin {
|
||||||
|
name: "tetris-rpg".into(),
|
||||||
|
})
|
||||||
|
.run();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,193 @@
|
|||||||
|
# 🌲 Trees 🌳
|
||||||
|
|
||||||
|
## How to Play
|
||||||
|
|
||||||
|
> currently in hella alpha so subject to change and/or be out of date
|
||||||
|
|
||||||
|
* Left click a tree to start a Monologue
|
||||||
|
* Right click + drag to move a tree
|
||||||
|
* Middle Click to delete a tree
|
||||||
|
* F12: Debug Menu
|
||||||
|
* Click a monologue script to spawn a tree
|
||||||
|
|
||||||
|
## Monologue File Format
|
||||||
|
|
||||||
|
In `assets/trees/` there are `.mono` files that contain the monologues that drive this game.
|
||||||
|
|
||||||
|
Here is an example of a simple monologue:
|
||||||
|
|
||||||
|
```
|
||||||
|
This is a simple monologue
|
||||||
|
|
||||||
|
There are two options for this fist batch
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
This is the second batch of lines
|
||||||
|
|
||||||
|
There are three options
|
||||||
|
|
||||||
|
You get the idea
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
This has one option
|
||||||
|
```
|
||||||
|
|
||||||
|
* Files contain "Monologues"
|
||||||
|
* Monologues are broken up into "Line Option" batches
|
||||||
|
* Lines are separated by one or more blank newlines
|
||||||
|
* Batches are broken up by lines with `---`
|
||||||
|
|
||||||
|
> Monologue vs monologue, Batch vs batch, and Line vs line.
|
||||||
|
> The capitalized versions specify a game object, the lower case specifies the common meaning of the word.
|
||||||
|
|
||||||
|
### Comments
|
||||||
|
|
||||||
|
Comments are lines that start with a `#`.
|
||||||
|
Comments are discarded by the parser so are only for the reader of the raw text files.
|
||||||
|
|
||||||
|
```
|
||||||
|
# This is a comment
|
||||||
|
This is a dialog line
|
||||||
|
# If you connect two lines with a comment
|
||||||
|
They count as part of the same line
|
||||||
|
|
||||||
|
# Comments can exist on their own
|
||||||
|
|
||||||
|
This line of monologue # Will include the comment
|
||||||
|
# So always start a line with the comment
|
||||||
|
```
|
||||||
|
|
||||||
|
### Empty batches
|
||||||
|
|
||||||
|
Batches with no lines are a no-op.
|
||||||
|
Even if the batches contain comments and/or directives.
|
||||||
|
|
||||||
|
## Monologue Directives
|
||||||
|
|
||||||
|
> This feature is in planning, not implmeneted
|
||||||
|
|
||||||
|
Monologue Directives are basically how we "script" monologues.
|
||||||
|
|
||||||
|
With directives you can:
|
||||||
|
* Set variables based on what a user sees or does.
|
||||||
|
* Add pre-requisites to a line or entire Monologue.
|
||||||
|
* Requirement that an "actor" meets some criteria.
|
||||||
|
|
||||||
|
In general directives can be set at the Monologue, Batch, and the Line scopes.
|
||||||
|
* At the Monologue scope they must be set at the top before any batches.
|
||||||
|
* At the Batch scope they must be separated from Lines by at least one blank line.
|
||||||
|
* At the Line scope they must be on an adjacent Line.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
# This directive affects the monologue as a whole
|
||||||
|
@directive
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# This directive affects this entire group
|
||||||
|
@directive
|
||||||
|
|
||||||
|
this is a line
|
||||||
|
|
||||||
|
# This directive just affects this line
|
||||||
|
@directive
|
||||||
|
this is another line
|
||||||
|
|
||||||
|
# This directive also affects the entire group
|
||||||
|
@directive
|
||||||
|
|
||||||
|
last line in this batch
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# This batch has no directives
|
||||||
|
|
||||||
|
option one
|
||||||
|
|
||||||
|
option two
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### `@set var val`
|
||||||
|
|
||||||
|
The `@set` directive sets a variable to a given value upon the user interacting with the affected scope.
|
||||||
|
|
||||||
|
* At the Monologue scope this is set when the monologue starts.
|
||||||
|
* At the Batch scope this is set when the user views the Batch.
|
||||||
|
* At the Line scope this is set iff the user chooses the Line.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
# Monologue scope
|
||||||
|
@set foo 1
|
||||||
|
---
|
||||||
|
# batch scope
|
||||||
|
@set bar true
|
||||||
|
|
||||||
|
# Line scope
|
||||||
|
@set baz "value"
|
||||||
|
this line sets baz to "value"
|
||||||
|
---
|
||||||
|
this batch...
|
||||||
|
|
||||||
|
...has no directives
|
||||||
|
```
|
||||||
|
|
||||||
|
### `@if var op val`
|
||||||
|
|
||||||
|
The `@if` directive is a constraint requiring `var op val` to return true for the scope to be visible.
|
||||||
|
|
||||||
|
* At the Monologue scope this causes the monologue to either be or not be in rotation.
|
||||||
|
* At the Batch scope this causes the Batch to be included or skipped from a Monologue.
|
||||||
|
* At the Line scope this causes the line to be included or excluded from a Batch.
|
||||||
|
|
||||||
|
### `@has var op val`
|
||||||
|
|
||||||
|
The `@has` directive constrains which trees can deliver a given monologue.
|
||||||
|
For example if a tree has `family` set to `fir` it could deliver a monologue about being a fir tree.
|
||||||
|
|
||||||
|
```
|
||||||
|
@has family = "fir"
|
||||||
|
---
|
||||||
|
man i love being a fir tree
|
||||||
|
```
|
||||||
|
|
||||||
|
At all scopes this operates similarly to `@if`, skipping/including Monologues/Groups/Lines based on tree properties.
|
||||||
|
|
||||||
|
### Other possible directives
|
||||||
|
|
||||||
|
The following directives are not strictly required but might be "nice to have":
|
||||||
|
|
||||||
|
* `@after a.mono`: This monologue should happen _after_ `a.mono`.
|
||||||
|
* Could be achieved with `@set` and `@if`
|
||||||
|
* `@in scenario`: This monologue relates to a specific random scenario.
|
||||||
|
* Could be achieved with backend setting values and `@if`
|
||||||
|
* `@bump var`: Increases a variable's value by 1.
|
||||||
|
* Requires a specific use-case.
|
||||||
|
* Causes types headaches if `var` is not an integer.
|
||||||
|
* `@event event_name`: This Monologue/Batch/Line triggers an in-game event.
|
||||||
|
* Could be achieved with `@set` and `@if`
|
||||||
|
|
||||||
|
### Monologue Templating
|
||||||
|
|
||||||
|
With variables we can template monologues like so:
|
||||||
|
|
||||||
|
```
|
||||||
|
This is a regular line of dialog
|
||||||
|
|
||||||
|
This line is templated, mentioning {{ some_event_outcome }}
|
||||||
|
```
|
||||||
|
|
||||||
|
Templated variables add an implicit constraint to that line, so the above is equivlent to:
|
||||||
|
|
||||||
|
```
|
||||||
|
This is a regular line of dialog
|
||||||
|
|
||||||
|
@require some_event_outcome
|
||||||
|
This line is templated, mentioning {{ some_event_outcome }}
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue