Compare commits
10 Commits
d6e1849956
...
6ddb1a96be
Author | SHA1 | Date | |
---|---|---|---|
6ddb1a96be | |||
b576587640 | |||
|
568f1ddeeb | ||
fa18e9d0d0 | |||
63e1353e5f | |||
53772cb717 | |||
d399e2df9d | |||
12c9936e19 | |||
065186538a | |||
bba6c6effa |
3
.gitattributes
vendored
Normal file
3
.gitattributes
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.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,19 +1,47 @@
|
||||
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 overview.md > overview.tex
|
||||
lowdown -stlatex -m shiftheadinglevelby=1 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
|
||||
$(RM) -r rubbish overview.tex $(COLLECTION)
|
||||
|
38
Mechanics/Minds.md
Normal file
38
Mechanics/Minds.md
Normal file
@ -0,0 +1,38 @@
|
||||
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.
|
38
Mechanics/Stats.md
Normal file
38
Mechanics/Stats.md
Normal file
@ -0,0 +1,38 @@
|
||||
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
|
||||
|
20
Mechanics/flow-6.graph
Normal file
20
Mechanics/flow-6.graph
Normal file
@ -0,0 +1,20 @@
|
||||
[ 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? ]
|
8
Mechanics/flow-8.graph
Normal file
8
Mechanics/flow-8.graph
Normal file
@ -0,0 +1,8 @@
|
||||
[ 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.
|
||||
|
||||
PDF Dependencies
|
||||
Dependencies
|
||||
============
|
||||
|
||||
- `texlive`
|
||||
@ -23,3 +23,24 @@ PDF 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"
|
||||
```
|
||||
|
21
parse.sh
Executable file
21
parse.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#!/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
Normal file
1
src/.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
@ -0,0 +1,3 @@
|
||||
source_md5="9a4104dff00df852016292feb74c969d"
|
||||
dest_md5="751dd545e5a5763328b952d739c01fd6"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="d452341a0992cf84787acc1df8149fa7"
|
||||
dest_md5="5a05aa8c2f602d12f8dd18be7600637b"
|
||||
|
BIN
src/.import/dirt.png-81db9f47be16674f640109976e043256.stex
Normal file
BIN
src/.import/dirt.png-81db9f47be16674f640109976e043256.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
source_md5="d452341a0992cf84787acc1df8149fa7"
|
||||
dest_md5="7a8bde47de61359d339cd9ab39972258"
|
||||
|
BIN
src/.import/dirt.png-ff175a3e6b1e0d87d0f80d5ca7a3d29e.stex
Normal file
BIN
src/.import/dirt.png-ff175a3e6b1e0d87d0f80d5ca7a3d29e.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
source_md5="5718adcd74e730a5786a66f5303d55d0"
|
||||
dest_md5="bde353017c7147330bebe01b8e0b9081"
|
||||
|
BIN
src/.import/goblin.png-555c4de3e7de7d249da453933b804842.stex
Normal file
BIN
src/.import/goblin.png-555c4de3e7de7d249da453933b804842.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
source_md5="47313fa4c47a9963fddd764e1ec6e4a8"
|
||||
dest_md5="2ded9e7f9060e2b530aab678b135fc5b"
|
||||
|
BIN
src/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex
Normal file
BIN
src/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
source_md5="11aa5994678b65327c09e0cf048cc960"
|
||||
dest_md5="5a2ebb8d76a3fd626f8148b380c8452a"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="11aa5994678b65327c09e0cf048cc960"
|
||||
dest_md5="5a2ebb8d76a3fd626f8148b380c8452a"
|
||||
|
BIN
src/.import/moss.png-61d539c9df559a4b157329d26994cee7.stex
Normal file
BIN
src/.import/moss.png-61d539c9df559a4b157329d26994cee7.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
source_md5="5c49c03355dba6f69dd7db043dcf285e"
|
||||
dest_md5="127a63ab2cee1694af5226e606fbefde"
|
||||
|
BIN
src/.import/ooze.png-0a3aed31cac3950abca695916d8e15ef.stex
Normal file
BIN
src/.import/ooze.png-0a3aed31cac3950abca695916d8e15ef.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
source_md5="5c49c03355dba6f69dd7db043dcf285e"
|
||||
dest_md5="127a63ab2cee1694af5226e606fbefde"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="ab47a8fed0ae7444d44586235a4d5fee"
|
||||
dest_md5="9f637ed36157171de2c9855859ffb703"
|
||||
|
BIN
src/.import/stone.png-083619ed9cb60da6213c6ca04d200509.stex
Normal file
BIN
src/.import/stone.png-083619ed9cb60da6213c6ca04d200509.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
source_md5="ab47a8fed0ae7444d44586235a4d5fee"
|
||||
dest_md5="5ac92b9ef3914f94598597d4ab0792a0"
|
||||
|
BIN
src/.import/stone.png-4f7def60038ccb460a48436a729efec6.stex
Normal file
BIN
src/.import/stone.png-4f7def60038ccb460a48436a729efec6.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
source_md5="2ccb885e506f1c1dc85ae533ed064e28"
|
||||
dest_md5="bc6f3037a9e45f5a87a3ff64eff32a45"
|
||||
|
BIN
src/.import/water.png-154297d676290e71bc3fa3868b532a65.stex
Normal file
BIN
src/.import/water.png-154297d676290e71bc3fa3868b532a65.stex
Normal file
Binary file not shown.
12
src/NPCs/Goblin.tscn
Normal file
12
src/NPCs/Goblin.tscn
Normal file
@ -0,0 +1,12 @@
|
||||
[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 )
|
12
src/NPCs/Ooze.tscn
Normal file
12
src/NPCs/Ooze.tscn
Normal file
@ -0,0 +1,12 @@
|
||||
[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)
Normal file
BIN
src/NPCs/goblin.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
src/NPCs/goblin.png.import
Normal file
34
src/NPCs/goblin.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[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)
Normal file
BIN
src/NPCs/moss.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
src/NPCs/moss.png.import
Normal file
34
src/NPCs/moss.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[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
|
12
src/NPCs/moss.tscn
Normal file
12
src/NPCs/moss.tscn
Normal file
@ -0,0 +1,12 @@
|
||||
[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)
Normal file
BIN
src/NPCs/ooze.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
src/NPCs/ooze.png.import
Normal file
34
src/NPCs/ooze.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[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)
Normal file
BIN
src/Tilesets/dirt.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
src/Tilesets/dirt.png.import
Normal file
34
src/Tilesets/dirt.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[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)
Normal file
BIN
src/Tilesets/stone.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
src/Tilesets/stone.png.import
Normal file
34
src/Tilesets/stone.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[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)
Normal file
BIN
src/Tilesets/water.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
src/Tilesets/water.png.import
Normal file
34
src/Tilesets/water.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[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
Normal file
163
src/World.tscn
Normal file
@ -0,0 +1,163 @@
|
||||
[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 )
|
7
src/default_env.tres
Normal file
7
src/default_env.tres
Normal file
@ -0,0 +1,7 @@
|
||||
[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)
Normal file
BIN
src/icon.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
src/icon.png.import
Normal file
34
src/icon.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[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
|
37
src/project.godot
Normal file
37
src/project.godot
Normal file
@ -0,0 +1,37 @@
|
||||
; 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,19 +1,29 @@
|
||||
# Blobs
|
||||
|
||||
- Abundant oozes will split into smaller pieces, which then go up to the exit, or down river.
|
||||
- Death is final: the ooze leaves the environment. Other may enter later, from a river, or entrance.
|
||||
- Death is final for that ooze: it leaves the environment. Other may enter later, from a river, or entrance.
|
||||
|
||||
## Numbers
|
||||
|
||||
- Metabolism 3
|
||||
- Speed = `6- HP` (the weaker it becomes, the faster it runs).
|
||||
- Metabolism: 3
|
||||
- Strength: -2/6
|
||||
- Dexterity: 0
|
||||
- Speed: `6- HP`
|
||||
* (the weaker it becomes, the faster it runs).
|
||||
- Wits: -4
|
||||
- Intelligence: -8
|
||||
* (mindless)
|
||||
|
||||
### Special
|
||||
|
||||
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.
|
||||
**Property Thief:** this jelly steals the properties of everything it consumes.
|
||||
|
||||
- When eating acidic moss, it becomes acidic.
|
||||
- When eating glowing mushrooms, it glows.
|
||||
|
||||
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