Compare commits

..

No commits in common. "6ddb1a96be04370dff7cab64f8d840405bbffc77" and "d6e1849956d757db95baaab72030a6a569c16ba6" have entirely different histories.

51 changed files with 11 additions and 737 deletions

3
.gitattributes vendored
View File

@ -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

View File

@ -1,47 +1,19 @@
help:
@echo "Options:"
@echo "\tmake pdf"
@echo "\tmake creature"
@echo "\tmake show"
.PHONY: pdf
pdf: overview.pdf
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
ln rubbish/overview.pdf overview.pdf
rubbish/overview.pdf: overview.tex
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
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
clean:
$(RM) -r rubbish overview.tex $(COLLECTION)
$(RM) -r rubbish overview.tex

View File

@ -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.

View File

@ -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

View File

@ -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? ]

View File

@ -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? ]

View File

@ -10,7 +10,7 @@ Plan
Read the overview.
Dependencies
PDF Dependencies
============
- `texlive`
@ -23,24 +23,3 @@ Dependencies
* `lmodern`
* `hyperref`
- `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"
```

View File

@ -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
View File

@ -1 +0,0 @@
*.jpeg filter=lfs diff=lfs merge=lfs -text

View File

@ -1,3 +0,0 @@
source_md5="9a4104dff00df852016292feb74c969d"
dest_md5="751dd545e5a5763328b952d739c01fd6"

View File

@ -1,3 +0,0 @@
source_md5="d452341a0992cf84787acc1df8149fa7"
dest_md5="5a05aa8c2f602d12f8dd18be7600637b"

View File

@ -1,3 +0,0 @@
source_md5="d452341a0992cf84787acc1df8149fa7"
dest_md5="7a8bde47de61359d339cd9ab39972258"

View File

@ -1,3 +0,0 @@
source_md5="5718adcd74e730a5786a66f5303d55d0"
dest_md5="bde353017c7147330bebe01b8e0b9081"

View File

@ -1,3 +0,0 @@
source_md5="47313fa4c47a9963fddd764e1ec6e4a8"
dest_md5="2ded9e7f9060e2b530aab678b135fc5b"

View File

@ -1,3 +0,0 @@
source_md5="11aa5994678b65327c09e0cf048cc960"
dest_md5="5a2ebb8d76a3fd626f8148b380c8452a"

View File

@ -1,3 +0,0 @@
source_md5="11aa5994678b65327c09e0cf048cc960"
dest_md5="5a2ebb8d76a3fd626f8148b380c8452a"

View File

@ -1,3 +0,0 @@
source_md5="5c49c03355dba6f69dd7db043dcf285e"
dest_md5="127a63ab2cee1694af5226e606fbefde"

View File

@ -1,3 +0,0 @@
source_md5="5c49c03355dba6f69dd7db043dcf285e"
dest_md5="127a63ab2cee1694af5226e606fbefde"

View File

@ -1,3 +0,0 @@
source_md5="ab47a8fed0ae7444d44586235a4d5fee"
dest_md5="9f637ed36157171de2c9855859ffb703"

View File

@ -1,3 +0,0 @@
source_md5="ab47a8fed0ae7444d44586235a4d5fee"
dest_md5="5ac92b9ef3914f94598597d4ab0792a0"

View File

@ -1,3 +0,0 @@
source_md5="2ccb885e506f1c1dc85ae533ed064e28"
dest_md5="bc6f3037a9e45f5a87a3ff64eff32a45"

View File

@ -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 )

View File

@ -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)

Binary file not shown.

View File

@ -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)

Binary file not shown.

View File

@ -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

View File

@ -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)

Binary file not shown.

View File

@ -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)

Binary file not shown.

View File

@ -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)

Binary file not shown.

View File

@ -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)

Binary file not shown.

View File

@ -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

View File

@ -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 )

View File

@ -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)

Binary file not shown.

View File

@ -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

View File

@ -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"

View File

@ -1,29 +1,19 @@
# Blobs
- 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
- Metabolism: 3
- Strength: -2/6
- Dexterity: 0
- Speed: `6- HP`
* (the weaker it becomes, the faster it runs).
- Wits: -4
- Intelligence: -8
* (mindless)
- Metabolism 3
- Speed = `6- HP` (the weaker it becomes, the faster it runs).
### Special
**Property Thief:** this jelly steals the properties of everything it consumes.
- When eating acidic moss, it becomes acidic.
- When eating glowing mushrooms, it glows.
Property Thief: this jelly steals the properties of everything it consumes.
It is acidic because it eats acidic moss.
If it ate glowing mushrooms, it would glow for a while.
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).
## Skills
Athletics 1
Once Damaged, it loses HP, and may lose a property if that HP slot had a property.
(first in, last out)