Compare commits
No commits in common. "6ddb1a96be04370dff7cab64f8d840405bbffc77" and "d6e1849956d757db95baaab72030a6a569c16ba6" have entirely different histories.
6ddb1a96be
...
d6e1849956
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -1,3 +0,0 @@
|
|||||||
*.jpg filter=lfs diff=lfs merge=lfs -text
|
|
||||||
*.png filter=lfs diff=lfs merge=lfs -text
|
|
||||||
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
|
32
Makefile
32
Makefile
@ -1,47 +1,19 @@
|
|||||||
help:
|
|
||||||
@echo "Options:"
|
|
||||||
@echo "\tmake pdf"
|
|
||||||
@echo "\tmake creature"
|
|
||||||
@echo "\tmake show"
|
|
||||||
|
|
||||||
.PHONY: pdf
|
.PHONY: pdf
|
||||||
pdf: overview.pdf
|
pdf: overview.pdf
|
||||||
|
|
||||||
rubbish/:
|
rubbish/:
|
||||||
mkdir rubbish
|
mkdir rubbish
|
||||||
|
|
||||||
RANDOM != date +%s
|
|
||||||
TMP := /tmp/$(RANDOM).md
|
|
||||||
NAME := $(shell head -1 $(TMP) 2>/dev/null| tail -c+3)
|
|
||||||
|
|
||||||
.PHONY: creature
|
|
||||||
creature: stats/$(NAME).md
|
|
||||||
$(TMP):
|
|
||||||
cp stats/template.md $(TMP)
|
|
||||||
$$EDITOR $(TMP)
|
|
||||||
stats/$(NAME).md: $(TMP)
|
|
||||||
mv $(TMP) stats/$(NAME).md
|
|
||||||
|
|
||||||
overview.pdf:| rubbish/overview.pdf
|
overview.pdf:| rubbish/overview.pdf
|
||||||
ln rubbish/overview.pdf overview.pdf
|
ln rubbish/overview.pdf overview.pdf
|
||||||
rubbish/overview.pdf: overview.tex
|
rubbish/overview.pdf: overview.tex
|
||||||
|
|
||||||
overview.tex: overview.md | rubbish/
|
overview.tex: overview.md | rubbish/
|
||||||
lowdown -stlatex -m shiftheadinglevelby=1 overview.md > overview.tex
|
lowdown -stlatex overview.md > overview.tex
|
||||||
|
|
||||||
rubbish/overview.pdf: overview.tex
|
rubbish/overview.pdf: overview.tex
|
||||||
pdflatex -output-directory rubbish/ overview.tex
|
pdflatex -output-directory rubbish/ overview.tex
|
||||||
|
|
||||||
COLLECTION := /tmp/collection.md
|
|
||||||
.PHONY: show
|
|
||||||
show: $(COLLECTION)
|
|
||||||
$(COLLECTION): overview.md World
|
|
||||||
@./parse.sh overview.md > $(COLLECTION)
|
|
||||||
@./parse.sh World/Players_are_Entropy.md >> $(COLLECTION)
|
|
||||||
@./parse.sh Mechanics/Minds.md >> $(COLLECTION)
|
|
||||||
@./parse.sh Mechanics/Stats.md >> $(COLLECTION)
|
|
||||||
@lowdown -sTterm $(COLLECTION) | less -R
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
$(RM) -r rubbish overview.tex $(COLLECTION)
|
$(RM) -r rubbish overview.tex
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
Intelligence `-8`: The Ooze
|
|
||||||
===========================
|
|
||||||
|
|
||||||
The ooze has a very simple mind, and forms the basic of all minds.
|
|
||||||
|
|
||||||
.so flow-8.graph
|
|
||||||
|
|
||||||
If the ooze joins with smaller pieces of ooze, this works exactly like eating.
|
|
||||||
Which eats which does not matter to the ooze.
|
|
||||||
|
|
||||||
The question of whether two oozes come together through ingestion or mating is also irrelevant to the ooze.
|
|
||||||
|
|
||||||
It moves forward, and embraces the good in life, without any distinctions.
|
|
||||||
|
|
||||||
Intelligence `-7`: The Insect
|
|
||||||
===========================
|
|
||||||
|
|
||||||
The insect-brain acts like the ooze, but recognizes other creatures as friendly, and remembers spaces.
|
|
||||||
The insects literally have a smaller version of the main map in their head, but they have limited memory.
|
|
||||||
|
|
||||||
...they quite literally have a number of kilobytes each to remember a finite amount of space.
|
|
||||||
|
|
||||||
Intelligence `-6`: The Wolf
|
|
||||||
===========================
|
|
||||||
|
|
||||||
At this level of intelligence, the creature begins to think with others.
|
|
||||||
They do this by voting on a leader, then each of the creatures follows that leader.
|
|
||||||
|
|
||||||
.so flow-6.graph
|
|
||||||
|
|
||||||
Intelligence `-5`: The Goblin
|
|
||||||
=============================
|
|
||||||
|
|
||||||
This stage should probably be left until the previous intelligence levels have been dealt with.
|
|
||||||
Options include:
|
|
||||||
|
|
||||||
- Simulation: play out possible scenarios in the creature's head by simulating the segment of the map which it knows, at 10x normal speed.
|
|
||||||
- Skills: Just list off particular things, like 'fishing', or 'crafting spears', then deal with them individually.
|
|
@ -1,38 +0,0 @@
|
|||||||
Attribute + Skill
|
|
||||||
=================
|
|
||||||
|
|
||||||
Theory
|
|
||||||
------
|
|
||||||
|
|
||||||
Everything is two things: An attribute, plus a Skill.
|
|
||||||
They combine in different ways.
|
|
||||||
|
|
||||||
| Strength | Dexterity | Speed | Intelligence | Wits | Charisma |
|
|
||||||
|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|
|
|
||||||
| Academics | Orating to a massive crowd | Forgery | Courier Runs | Recalling facts | Resisting an enchantment spell | Storytelling |
|
|
||||||
| Athletics | Lifting heavy loads | Climbing | Sprinting | Finding the easiest route to climb | Identifying optimal climbing conditions | Stage acrobatics |
|
|
||||||
| Deceit | Intimidation | Feigning an injury | Spreading a rumour across an entire town | Crafting a plausible lie | Making a quick excuse | Implausible lies |
|
|
||||||
| Stealth | Hiding in a hay bail | Moving quietly | Escaping into a crowd | Identifying the best hiding spot | Quickly hiding | Slipping into a party uninvited |
|
|
||||||
|
|
||||||
|
|
||||||
None of this should ever be hard coded.
|
|
||||||
The programmer should - at any point - decide that a creature's `X + Y` will affect how the environment responds.
|
|
||||||
|
|
||||||
For the most part, this will be a simple comparison.
|
|
||||||
|
|
||||||
|
|
||||||
```pseudo code
|
|
||||||
if ( Strength + Wyldcrafting > 3 ) {
|
|
||||||
self.pickup(object)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Application
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Within the game, the main combinations will probably be:
|
|
||||||
|
|
||||||
- **Running**: Speed + Athletics
|
|
||||||
- **Gathering**: Dexterity + Wyldcrafting
|
|
||||||
- **Swimming**: Speed + Seafaring
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
|||||||
[ START ] --> [ damage? ]
|
|
||||||
[ Anyone know where food is? ] <-- me! --> [ We go to food! ]
|
|
||||||
[ Anyone know where food is? ] -- someone? --> [ I follow them ]
|
|
||||||
[ Anyone know where food is? ] -- nobody... --> [ Do I see someone bigger than me? ]
|
|
||||||
[ Do I see someone bigger than me? ] -- No --> [ howl! ]
|
|
||||||
[ Do I see someone bigger than me? ] -- Yes --> [ silence ]
|
|
||||||
[ silence ], [ howl! ] --> [ listen ]
|
|
||||||
[ listen ] -- one howl --> [ we follow, you lead ]
|
|
||||||
[ listen ] -- some howls --> [ howlers fight (one punch only) ]
|
|
||||||
[ listen ] -- no howls --> [ (unreachable state) RUN AWAY! ]
|
|
||||||
[ howlers fight (one punch only) ] --> [ Do I see someone bigger than me? ]
|
|
||||||
[ damage? ] -- yes --> [ run opposite way! ]
|
|
||||||
[ damage? ] -- no --> [ am I alone? ]
|
|
||||||
[ am I alone? ] -- yes --> [ food? ]
|
|
||||||
[ am I alone? ] -- no --> [ Anyone know where food is? ]
|
|
||||||
[ food? ] -- here --> [ eat ]
|
|
||||||
[ eat ] -- X=1 --> [ food? ]
|
|
||||||
[ food? ] -- near --> [ move to food ]
|
|
||||||
[ food? ] -- no --> [ move X squares in random direction ]
|
|
||||||
[ move X squares in random direction ] -- increase-X --> [ food? ]
|
|
@ -1,8 +0,0 @@
|
|||||||
[ START ] --> [ damage? ]
|
|
||||||
[ damage? ] -- yes --> [ run opposite way! ]
|
|
||||||
[ damage? ] -- no --> [ food? ]
|
|
||||||
[ food? ] -- here --> [ eat ]
|
|
||||||
[ eat ] -- X=1 --> [ food? ]
|
|
||||||
[ food? ] -- near --> [ move to food ]
|
|
||||||
[ food? ] -- no --> [ move X squares in random direction ]
|
|
||||||
[ move X squares in random direction ] -- increase-X --> [ food? ]
|
|
23
README.md
23
README.md
@ -10,7 +10,7 @@ Plan
|
|||||||
|
|
||||||
Read the overview.
|
Read the overview.
|
||||||
|
|
||||||
Dependencies
|
PDF Dependencies
|
||||||
============
|
============
|
||||||
|
|
||||||
- `texlive`
|
- `texlive`
|
||||||
@ -23,24 +23,3 @@ Dependencies
|
|||||||
* `lmodern`
|
* `lmodern`
|
||||||
* `hyperref`
|
* `hyperref`
|
||||||
- `lowdown`
|
- `lowdown`
|
||||||
- `graph-easy`
|
|
||||||
|
|
||||||
Godot Note
|
|
||||||
===========
|
|
||||||
|
|
||||||
If your [graphics card does not support vulcan](https://github.com/godotengine/godot/issues/58927), you may need to start godot like this:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
godot --rendering-driver opengl3
|
|
||||||
```
|
|
||||||
|
|
||||||
Git Large File Server
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Git's large-file-server (LFS) lets you track your fat binary files, without making the repository bloated and awful for everyone else in the future.
|
|
||||||
|
|
||||||
If you want to track 'jpg' files, you can track them like this:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git lfs track "*jpg"
|
|
||||||
```
|
|
||||||
|
21
parse.sh
21
parse.sh
@ -1,21 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
target="$1"
|
|
||||||
|
|
||||||
cd "$(dirname "$target")"
|
|
||||||
|
|
||||||
fileName="$(basename "$target")"
|
|
||||||
sectionName="$(basename -s .md "$target" | tr '_' ' ')"
|
|
||||||
|
|
||||||
printf "\n\n# $sectionName\n"
|
|
||||||
|
|
||||||
while read -r line; do
|
|
||||||
echo "$line" | grep -q '^.so ' && \
|
|
||||||
file="$(echo "$line" | grep '^.so ' | cut -d' ' -f2 )" && \
|
|
||||||
[ -e "$file" ] && \
|
|
||||||
echo '```graph' && \
|
|
||||||
cat "$file" | graph-easy --boxart && \
|
|
||||||
echo '```' || \
|
|
||||||
echo "$line"
|
|
||||||
done < "$fileName"
|
|
||||||
|
|
1
src/.gitattributes
vendored
1
src/.gitattributes
vendored
@ -1 +0,0 @@
|
|||||||
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
|
@ -1,3 +0,0 @@
|
|||||||
source_md5="9a4104dff00df852016292feb74c969d"
|
|
||||||
dest_md5="751dd545e5a5763328b952d739c01fd6"
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
source_md5="d452341a0992cf84787acc1df8149fa7"
|
|
||||||
dest_md5="5a05aa8c2f602d12f8dd18be7600637b"
|
|
||||||
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
source_md5="d452341a0992cf84787acc1df8149fa7"
|
|
||||||
dest_md5="7a8bde47de61359d339cd9ab39972258"
|
|
||||||
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
source_md5="5718adcd74e730a5786a66f5303d55d0"
|
|
||||||
dest_md5="bde353017c7147330bebe01b8e0b9081"
|
|
||||||
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
source_md5="47313fa4c47a9963fddd764e1ec6e4a8"
|
|
||||||
dest_md5="2ded9e7f9060e2b530aab678b135fc5b"
|
|
||||||
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
source_md5="11aa5994678b65327c09e0cf048cc960"
|
|
||||||
dest_md5="5a2ebb8d76a3fd626f8148b380c8452a"
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
source_md5="11aa5994678b65327c09e0cf048cc960"
|
|
||||||
dest_md5="5a2ebb8d76a3fd626f8148b380c8452a"
|
|
||||||
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
source_md5="5c49c03355dba6f69dd7db043dcf285e"
|
|
||||||
dest_md5="127a63ab2cee1694af5226e606fbefde"
|
|
||||||
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
source_md5="5c49c03355dba6f69dd7db043dcf285e"
|
|
||||||
dest_md5="127a63ab2cee1694af5226e606fbefde"
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
source_md5="ab47a8fed0ae7444d44586235a4d5fee"
|
|
||||||
dest_md5="9f637ed36157171de2c9855859ffb703"
|
|
||||||
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
source_md5="ab47a8fed0ae7444d44586235a4d5fee"
|
|
||||||
dest_md5="5ac92b9ef3914f94598597d4ab0792a0"
|
|
||||||
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
source_md5="2ccb885e506f1c1dc85ae533ed064e28"
|
|
||||||
dest_md5="bc6f3037a9e45f5a87a3ff64eff32a45"
|
|
||||||
|
|
Binary file not shown.
@ -1,12 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://NPCs/goblin.png" type="Texture" id=1]
|
|
||||||
|
|
||||||
[node name="Goblin" type="KinematicBody2D"]
|
|
||||||
|
|
||||||
[node name="goblin" type="Sprite" parent="."]
|
|
||||||
position = Vector2( 0.380203, -0.127379 )
|
|
||||||
texture = ExtResource( 1 )
|
|
||||||
|
|
||||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
|
||||||
polygon = PoolVector2Array( -2.66919, -3.30936, -2.58081, 2.92202, 2.41314, 2.92202, 2.36894, -3.35355 )
|
|
@ -1,12 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://NPCs/ooze.png" type="Texture" id=1]
|
|
||||||
|
|
||||||
[node name="Ooze" type="KinematicBody2D"]
|
|
||||||
|
|
||||||
[node name="ooze" type="Sprite" parent="."]
|
|
||||||
position = Vector2( -0.061738, 0.18198 )
|
|
||||||
texture = ExtResource( 1 )
|
|
||||||
|
|
||||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
|
||||||
polygon = PoolVector2Array( 4.09251, -4.06066, 4.04832, 4.15946, -4.1276, 4.02687, -4.1718, -4.06066 )
|
|
BIN
src/NPCs/goblin.png
(Stored with Git LFS)
BIN
src/NPCs/goblin.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/goblin.png-555c4de3e7de7d249da453933b804842.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://NPCs/goblin.png"
|
|
||||||
dest_files=[ "res://.import/goblin.png-555c4de3e7de7d249da453933b804842.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=true
|
|
||||||
svg/scale=1.0
|
|
BIN
src/NPCs/moss.png
(Stored with Git LFS)
BIN
src/NPCs/moss.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/moss.png-61d539c9df559a4b157329d26994cee7.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://NPCs/moss.png"
|
|
||||||
dest_files=[ "res://.import/moss.png-61d539c9df559a4b157329d26994cee7.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=true
|
|
||||||
svg/scale=1.0
|
|
@ -1,12 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://NPCs/moss.png" type="Texture" id=1]
|
|
||||||
|
|
||||||
[node name="Moss" type="StaticBody2D"]
|
|
||||||
|
|
||||||
[node name="moss" type="Sprite" parent="."]
|
|
||||||
position = Vector2( 0.110608, -0.127491 )
|
|
||||||
texture = ExtResource( 1 )
|
|
||||||
|
|
||||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
|
||||||
polygon = PoolVector2Array( -3.90663, -4.01647, -3.77405, 3.8501, 4.04832, 3.8059, 4.09251, -4.01647 )
|
|
BIN
src/NPCs/ooze.png
(Stored with Git LFS)
BIN
src/NPCs/ooze.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/ooze.png-0a3aed31cac3950abca695916d8e15ef.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://NPCs/ooze.png"
|
|
||||||
dest_files=[ "res://.import/ooze.png-0a3aed31cac3950abca695916d8e15ef.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=true
|
|
||||||
svg/scale=1.0
|
|
BIN
src/Tilesets/dirt.png
(Stored with Git LFS)
BIN
src/Tilesets/dirt.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/dirt.png-ff175a3e6b1e0d87d0f80d5ca7a3d29e.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Tilesets/dirt.png"
|
|
||||||
dest_files=[ "res://.import/dirt.png-ff175a3e6b1e0d87d0f80d5ca7a3d29e.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=true
|
|
||||||
svg/scale=1.0
|
|
BIN
src/Tilesets/stone.png
(Stored with Git LFS)
BIN
src/Tilesets/stone.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/stone.png-4f7def60038ccb460a48436a729efec6.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Tilesets/stone.png"
|
|
||||||
dest_files=[ "res://.import/stone.png-4f7def60038ccb460a48436a729efec6.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=true
|
|
||||||
svg/scale=1.0
|
|
BIN
src/Tilesets/water.png
(Stored with Git LFS)
BIN
src/Tilesets/water.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/water.png-154297d676290e71bc3fa3868b532a65.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Tilesets/water.png"
|
|
||||||
dest_files=[ "res://.import/water.png-154297d676290e71bc3fa3868b532a65.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=true
|
|
||||||
svg/scale=1.0
|
|
163
src/World.tscn
163
src/World.tscn
@ -1,163 +0,0 @@
|
|||||||
[gd_scene load_steps=14 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://Tilesets/stone.png" type="Texture" id=1]
|
|
||||||
[ext_resource path="res://Tilesets/dirt.png" type="Texture" id=2]
|
|
||||||
[ext_resource path="res://Tilesets/water.png" type="Texture" id=3]
|
|
||||||
[ext_resource path="res://NPCs/Goblin.tscn" type="PackedScene" id=4]
|
|
||||||
[ext_resource path="res://NPCs/Ooze.tscn" type="PackedScene" id=5]
|
|
||||||
[ext_resource path="res://NPCs/moss.tscn" type="PackedScene" id=6]
|
|
||||||
|
|
||||||
[sub_resource type="ConvexPolygonShape2D" id=1]
|
|
||||||
points = PoolVector2Array( 0, 0, 8, 0, 8, 8, 0, 8 )
|
|
||||||
|
|
||||||
[sub_resource type="ConvexPolygonShape2D" id=2]
|
|
||||||
points = PoolVector2Array( 0, 0, 8, 0, 8, 8, 0, 8 )
|
|
||||||
|
|
||||||
[sub_resource type="ConvexPolygonShape2D" id=3]
|
|
||||||
points = PoolVector2Array( 0, 0, 8, 0, 8, 8, 0, 8 )
|
|
||||||
|
|
||||||
[sub_resource type="ConvexPolygonShape2D" id=4]
|
|
||||||
points = PoolVector2Array( 0, 0, 8, 0, 8, 8, 0, 8 )
|
|
||||||
|
|
||||||
[sub_resource type="ConvexPolygonShape2D" id=5]
|
|
||||||
points = PoolVector2Array( 0, 0, 8, 0, 8, 8, 0, 8 )
|
|
||||||
|
|
||||||
[sub_resource type="ConvexPolygonShape2D" id=6]
|
|
||||||
points = PoolVector2Array( 0, 0, 8, 0, 8, 8, 0, 8 )
|
|
||||||
|
|
||||||
[sub_resource type="TileSet" id=7]
|
|
||||||
0/name = "dirt.png 0"
|
|
||||||
0/texture = ExtResource( 2 )
|
|
||||||
0/tex_offset = Vector2( 0, 0 )
|
|
||||||
0/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
0/region = Rect2( 0, 0, 24, 8 )
|
|
||||||
0/tile_mode = 1
|
|
||||||
0/autotile/bitmask_mode = 2
|
|
||||||
0/autotile/bitmask_flags = [ Vector2( 0, 0 ), 511, Vector2( 1, 0 ), 511, Vector2( 2, 0 ), 511 ]
|
|
||||||
0/autotile/icon_coordinate = Vector2( 0, 0 )
|
|
||||||
0/autotile/tile_size = Vector2( 8, 8 )
|
|
||||||
0/autotile/spacing = 0
|
|
||||||
0/autotile/occluder_map = [ ]
|
|
||||||
0/autotile/navpoly_map = [ ]
|
|
||||||
0/autotile/priority_map = [ ]
|
|
||||||
0/autotile/z_index_map = [ ]
|
|
||||||
0/occluder_offset = Vector2( 0, 0 )
|
|
||||||
0/navigation_offset = Vector2( 0, 0 )
|
|
||||||
0/shape_offset = Vector2( 0, 0 )
|
|
||||||
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
0/shape_one_way = false
|
|
||||||
0/shape_one_way_margin = 0.0
|
|
||||||
0/shapes = [ ]
|
|
||||||
0/z_index = 0
|
|
||||||
1/name = "stone.png 1"
|
|
||||||
1/texture = ExtResource( 1 )
|
|
||||||
1/tex_offset = Vector2( 0, 0 )
|
|
||||||
1/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
1/region = Rect2( 0, 0, 24, 16 )
|
|
||||||
1/tile_mode = 1
|
|
||||||
1/autotile/bitmask_mode = 2
|
|
||||||
1/autotile/bitmask_flags = [ Vector2( 0, 0 ), 511, Vector2( 0, 1 ), 511, Vector2( 1, 0 ), 511, Vector2( 1, 1 ), 511, Vector2( 2, 0 ), 511, Vector2( 2, 1 ), 511 ]
|
|
||||||
1/autotile/icon_coordinate = Vector2( 0, 0 )
|
|
||||||
1/autotile/tile_size = Vector2( 8, 8 )
|
|
||||||
1/autotile/spacing = 0
|
|
||||||
1/autotile/occluder_map = [ ]
|
|
||||||
1/autotile/navpoly_map = [ ]
|
|
||||||
1/autotile/priority_map = [ ]
|
|
||||||
1/autotile/z_index_map = [ ]
|
|
||||||
1/occluder_offset = Vector2( 0, 0 )
|
|
||||||
1/navigation_offset = Vector2( 0, 0 )
|
|
||||||
1/shape_offset = Vector2( 0, 0 )
|
|
||||||
1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
1/shape = SubResource( 1 )
|
|
||||||
1/shape_one_way = false
|
|
||||||
1/shape_one_way_margin = 1.0
|
|
||||||
1/shapes = [ {
|
|
||||||
"autotile_coord": Vector2( 0, 0 ),
|
|
||||||
"one_way": false,
|
|
||||||
"one_way_margin": 1.0,
|
|
||||||
"shape": SubResource( 1 ),
|
|
||||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
}, {
|
|
||||||
"autotile_coord": Vector2( 1, 0 ),
|
|
||||||
"one_way": false,
|
|
||||||
"one_way_margin": 1.0,
|
|
||||||
"shape": SubResource( 2 ),
|
|
||||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
}, {
|
|
||||||
"autotile_coord": Vector2( 2, 0 ),
|
|
||||||
"one_way": false,
|
|
||||||
"one_way_margin": 1.0,
|
|
||||||
"shape": SubResource( 3 ),
|
|
||||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
}, {
|
|
||||||
"autotile_coord": Vector2( 0, 1 ),
|
|
||||||
"one_way": false,
|
|
||||||
"one_way_margin": 1.0,
|
|
||||||
"shape": SubResource( 4 ),
|
|
||||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
}, {
|
|
||||||
"autotile_coord": Vector2( 1, 1 ),
|
|
||||||
"one_way": false,
|
|
||||||
"one_way_margin": 1.0,
|
|
||||||
"shape": SubResource( 5 ),
|
|
||||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
}, {
|
|
||||||
"autotile_coord": Vector2( 2, 1 ),
|
|
||||||
"one_way": false,
|
|
||||||
"one_way_margin": 1.0,
|
|
||||||
"shape": SubResource( 6 ),
|
|
||||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
} ]
|
|
||||||
1/z_index = 0
|
|
||||||
2/name = "water.png 2"
|
|
||||||
2/texture = ExtResource( 3 )
|
|
||||||
2/tex_offset = Vector2( 0, 0 )
|
|
||||||
2/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
2/region = Rect2( 0, 0, 24, 24 )
|
|
||||||
2/tile_mode = 1
|
|
||||||
2/autotile/bitmask_mode = 2
|
|
||||||
2/autotile/bitmask_flags = [ Vector2( 0, 0 ), 432, Vector2( 0, 1 ), 438, Vector2( 0, 2 ), 54, Vector2( 1, 0 ), 504, Vector2( 1, 1 ), 511, Vector2( 1, 2 ), 63, Vector2( 2, 0 ), 216, Vector2( 2, 1 ), 219, Vector2( 2, 2 ), 27 ]
|
|
||||||
2/autotile/icon_coordinate = Vector2( 1, 1 )
|
|
||||||
2/autotile/tile_size = Vector2( 8, 8 )
|
|
||||||
2/autotile/spacing = 0
|
|
||||||
2/autotile/occluder_map = [ ]
|
|
||||||
2/autotile/navpoly_map = [ ]
|
|
||||||
2/autotile/priority_map = [ ]
|
|
||||||
2/autotile/z_index_map = [ ]
|
|
||||||
2/occluder_offset = Vector2( 0, 0 )
|
|
||||||
2/navigation_offset = Vector2( 0, 0 )
|
|
||||||
2/shape_offset = Vector2( 0, 0 )
|
|
||||||
2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
2/shape_one_way = false
|
|
||||||
2/shape_one_way_margin = 0.0
|
|
||||||
2/shapes = [ ]
|
|
||||||
2/z_index = 0
|
|
||||||
|
|
||||||
[node name="World" type="Node2D"]
|
|
||||||
|
|
||||||
[node name="TileMap" type="TileMap" parent="."]
|
|
||||||
position = Vector2( 2, 0 )
|
|
||||||
tile_set = SubResource( 7 )
|
|
||||||
cell_size = Vector2( 8, 8 )
|
|
||||||
cell_quadrant_size = 8
|
|
||||||
cell_custom_transform = Transform2D( 8, 0, 0, 8, 0, 0 )
|
|
||||||
format = 1
|
|
||||||
tile_data = PoolIntArray( 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6, 1, 0, 7, 1, 0, 8, 1, 0, 9, 1, 0, 65536, 1, 0, 65537, 0, 0, 65538, 0, 0, 65539, 0, 0, 65540, 2, 65537, 65541, 2, 65537, 65542, 2, 65537, 65543, 1, 0, 65544, 1, 0, 65545, 1, 0, 131072, 1, 0, 131073, 0, 0, 131074, 1, 0, 131075, 0, 0, 131076, 0, 0, 131077, 1, 0, 131078, 2, 65537, 131079, 1, 0, 131080, 1, 0, 131081, 1, 0, 196608, 1, 0, 196609, 0, 0, 196610, 1, 0, 196611, 0, 0, 196612, 0, 0, 196613, 0, 0, 196614, 2, 65537, 196615, 2, 65537, 196616, 2, 2, 196617, 1, 0, 262144, 1, 0, 262145, 0, 0, 262146, 1, 0, 262147, 0, 0, 262148, 0, 0, 262149, 1, 0, 262150, 2, 65536, 262151, 2, 65537, 262152, 2, 65538, 262153, 1, 0, 327680, 1, 0, 327681, 0, 0, 327682, 1, 0, 327683, 0, 0, 327684, 0, 0, 327685, 0, 0, 327686, 2, 65536, 327687, 2, 65537, 327688, 2, 65538, 327689, 1, 0, 393216, 1, 0, 393217, 0, 0, 393218, 0, 0, 393219, 0, 0, 393220, 0, 0, 393221, 0, 0, 393222, 2, 131072, 393223, 2, 131073, 393224, 2, 131074, 393225, 1, 0, 458752, 1, 0, 458753, 1, 0, 458754, 1, 0, 458755, 1, 0, 458756, 1, 0, 458757, 1, 0, 458758, 1, 0, 458759, 1, 0, 458760, 1, 0, 458761, 1, 0 )
|
|
||||||
|
|
||||||
[node name="Moss" parent="TileMap" instance=ExtResource( 6 )]
|
|
||||||
position = Vector2( 35.5938, 20.699 )
|
|
||||||
|
|
||||||
[node name="Moss2" parent="TileMap" instance=ExtResource( 6 )]
|
|
||||||
position = Vector2( 44.5283, 44.7697 )
|
|
||||||
|
|
||||||
[node name="Ooze" parent="TileMap" instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 27.8155, 44.3492 )
|
|
||||||
|
|
||||||
[node name="Goblin" parent="TileMap" instance=ExtResource( 4 )]
|
|
||||||
position = Vector2( 13.9407, 21.5399 )
|
|
||||||
|
|
||||||
[node name="Goblin2" parent="TileMap" instance=ExtResource( 4 )]
|
|
||||||
position = Vector2( 35.4887, 33.6278 )
|
|
||||||
|
|
||||||
[node name="Ooze2" parent="TileMap" instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 35.3835, 52.6531 )
|
|
@ -1,7 +0,0 @@
|
|||||||
[gd_resource type="Environment" load_steps=2 format=2]
|
|
||||||
|
|
||||||
[sub_resource type="ProceduralSky" id=1]
|
|
||||||
|
|
||||||
[resource]
|
|
||||||
background_mode = 2
|
|
||||||
background_sky = SubResource( 1 )
|
|
BIN
src/icon.png
(Stored with Git LFS)
BIN
src/icon.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://icon.png"
|
|
||||||
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=true
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=true
|
|
||||||
svg/scale=1.0
|
|
@ -1,37 +0,0 @@
|
|||||||
; Engine configuration file.
|
|
||||||
; It's best edited using the editor UI and not directly,
|
|
||||||
; since the parameters that go here are not all obvious.
|
|
||||||
;
|
|
||||||
; Format:
|
|
||||||
; [section] ; section goes between []
|
|
||||||
; param=value ; assign values to parameters
|
|
||||||
|
|
||||||
config_version=4
|
|
||||||
|
|
||||||
_global_script_classes=[ ]
|
|
||||||
_global_script_class_icons={
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
[application]
|
|
||||||
|
|
||||||
config/name="Fishtank"
|
|
||||||
run/main_scene="res://World.tscn"
|
|
||||||
config/icon="res://icon.png"
|
|
||||||
|
|
||||||
[display]
|
|
||||||
|
|
||||||
window/size/width=80
|
|
||||||
window/size/height=64
|
|
||||||
window/size/resizable=false
|
|
||||||
window/size/fullscreen=true
|
|
||||||
window/size/test_width=1280
|
|
||||||
window/size/test_height=720
|
|
||||||
window/stretch/mode="2d"
|
|
||||||
|
|
||||||
[rendering]
|
|
||||||
|
|
||||||
quality/driver/driver_name="GLES2"
|
|
||||||
vram_compression/import_etc=true
|
|
||||||
vram_compression/import_etc2=false
|
|
||||||
environment/default_environment="res://default_env.tres"
|
|
@ -1,29 +1,19 @@
|
|||||||
# Blobs
|
# Blobs
|
||||||
|
|
||||||
- Abundant oozes will split into smaller pieces, which then go up to the exit, or down river.
|
- Abundant oozes will split into smaller pieces, which then go up to the exit, or down river.
|
||||||
- Death is final for that ooze: it leaves the environment. Other may enter later, from a river, or entrance.
|
- Death is final: the ooze leaves the environment. Other may enter later, from a river, or entrance.
|
||||||
|
|
||||||
## Numbers
|
## Numbers
|
||||||
|
|
||||||
- Metabolism: 3
|
- Metabolism 3
|
||||||
- Strength: -2/6
|
- Speed = `6- HP` (the weaker it becomes, the faster it runs).
|
||||||
- Dexterity: 0
|
|
||||||
- Speed: `6- HP`
|
|
||||||
* (the weaker it becomes, the faster it runs).
|
|
||||||
- Wits: -4
|
|
||||||
- Intelligence: -8
|
|
||||||
* (mindless)
|
|
||||||
|
|
||||||
### Special
|
### Special
|
||||||
|
|
||||||
**Property Thief:** this jelly steals the properties of everything it consumes.
|
Property Thief: this jelly steals the properties of everything it consumes.
|
||||||
|
It is acidic because it eats acidic moss.
|
||||||
- When eating acidic moss, it becomes acidic.
|
If it ate glowing mushrooms, it would glow for a while.
|
||||||
- When eating glowing mushrooms, it glows.
|
|
||||||
|
|
||||||
When it eats, it gains +1 HP, and puts one property in that 'HP slot'.
|
When it eats, it gains +1 HP, and puts one property in that 'HP slot'.
|
||||||
Once Damaged, it loses HP, and may lose a property if that HP slot had a property (first in, last out).
|
Once Damaged, it loses HP, and may lose a property if that HP slot had a property.
|
||||||
|
(first in, last out)
|
||||||
## Skills
|
|
||||||
|
|
||||||
Athletics 1
|
|
||||||
|
Loading…
Reference in New Issue
Block a user