Add first draft of tutorial levels.

This commit is contained in:
David Thompson 2024-05-24 12:09:26 -04:00
parent 0b5c86aa21
commit 23f034a868
10 changed files with 514 additions and 24 deletions

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="11">
<tileset firstgid="1" source="tiles.tsx"/>
<layer id="1" name="background" width="20" height="15">
<data encoding="csv">
110,169,151,170,91,189,89,110,190,190,191,191,130,169,190,189,129,189,209,91,
211,190,112,131,190,91,129,191,170,150,171,129,111,90,170,150,211,211,191,130,
151,91,89,150,189,210,110,170,89,131,151,90,109,151,151,189,190,110,169,190,
111,189,130,129,110,129,90,209,191,170,191,209,151,109,210,189,170,209,90,169,
189,89,111,151,111,129,210,129,151,151,169,129,149,189,211,131,129,89,90,131,
89,211,129,209,109,130,171,109,91,170,111,170,89,210,211,89,191,151,111,210,
110,110,129,111,91,90,170,171,110,170,170,110,111,190,210,209,189,111,211,189,
129,189,129,169,109,189,171,211,89,109,90,190,151,150,149,210,149,111,150,190,
130,131,81,82,82,83,82,82,82,82,83,82,83,82,82,82,82,84,211,170,
189,149,105,24,24,24,24,24,24,24,24,24,24,24,24,24,24,86,150,89,
91,169,85,24,24,24,24,24,24,24,24,24,24,28,24,24,24,86,150,190,
131,110,105,24,24,24,24,24,24,24,24,24,24,24,24,24,24,86,110,130,
129,171,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,104,91,211,
211,171,190,89,171,110,209,171,110,210,191,131,91,150,150,151,92,149,129,190,
90,170,111,170,209,111,169,190,151,209,111,91,190,211,171,170,130,171,111,211
</data>
</layer>
<objectgroup id="2" name="objects">
<object id="1" type="player-spawn" gid="1" x="96" y="160" width="16" height="16"/>
<object id="7" type="gem" gid="29" x="48" y="144" width="16" height="16"/>
</objectgroup>
</map>

View file

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="17">
<tileset firstgid="1" source="tiles.tsx"/>
<layer id="1" name="background" width="20" height="15">
<data encoding="csv">
109,209,90,210,169,150,105,24,24,24,24,24,24,86,211,211,90,151,89,189,
209,191,131,170,129,189,85,24,24,24,24,24,24,106,91,150,110,149,109,149,
91,111,211,191,149,189,85,24,24,24,24,24,24,106,210,190,210,89,150,91,
211,130,111,90,209,189,85,24,28,24,24,24,24,106,191,191,170,130,112,109,
110,151,109,150,111,111,105,24,24,24,24,24,24,106,129,210,210,150,89,150,
149,210,89,111,189,91,101,102,103,103,103,102,103,104,91,131,91,130,171,189,
211,171,209,90,170,150,189,150,189,210,129,91,130,131,170,90,211,129,151,131,
209,130,91,169,130,129,89,169,190,91,89,211,90,191,149,210,210,211,110,210,
91,189,169,170,110,89,130,210,89,191,89,91,131,110,170,191,111,211,110,91,
131,191,210,91,171,171,81,82,83,82,83,83,82,84,131,189,151,170,110,190,
111,90,92,129,210,89,85,24,24,24,24,24,24,86,131,90,209,210,189,89,
169,131,151,91,110,170,85,24,24,24,24,24,24,106,209,130,91,209,131,191,
109,209,191,110,189,151,85,24,24,24,24,24,24,86,210,151,109,151,211,170,
191,131,110,129,131,90,85,24,24,24,24,24,24,106,111,169,209,90,130,90,
90,210,151,89,111,90,105,24,24,24,24,24,24,86,209,189,109,210,151,110
</data>
</layer>
<objectgroup id="2" name="objects">
<object id="1" type="player-spawn" gid="1" x="144" y="176" width="16" height="16"/>
<object id="7" type="gem" gid="29" x="192" y="64" width="16" height="16"/>
<object id="11" type="block" gid="30" x="176" y="32" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="12" type="block" gid="30" x="192" y="32" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="13" type="block" gid="30" x="160" y="48" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="14" type="block" gid="30" x="144" y="48" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="15" type="block" gid="30" x="160" y="32" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="16" type="block" gid="30" x="160" y="64" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
</objectgroup>
</map>

View file

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="27">
<tileset firstgid="1" source="tiles.tsx"/>
<layer id="1" name="background" width="20" height="15">
<data encoding="csv">
169,150,211,190,211,131,129,149,150,190,191,190,109,189,210,211,149,210,111,89,
111,171,91,90,109,110,171,129,129,170,189,210,191,169,109,129,109,151,210,109,
191,90,190,171,209,151,170,81,82,82,83,83,84,91,169,112,189,150,130,150,
149,150,170,150,169,130,129,105,24,24,28,24,86,190,191,209,170,89,91,169,
210,209,110,150,150,131,109,85,24,24,24,24,86,111,191,111,110,189,150,130,
82,83,83,82,83,82,82,108,31,31,31,24,107,82,82,84,169,81,82,83,
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,86,109,105,24,24,
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,86,150,105,24,24,
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,86,149,31,24,24,
102,102,102,103,102,102,102,88,31,31,31,24,87,102,103,104,209,101,103,102,
210,209,190,89,89,169,131,105,24,24,24,24,86,89,109,171,189,189,111,151,
211,191,110,130,91,211,171,105,24,24,24,24,106,111,170,149,189,130,90,171,
130,92,150,109,169,129,150,85,24,24,24,24,86,171,209,189,189,151,170,150,
211,209,169,209,131,89,169,85,24,24,24,24,86,131,131,171,151,91,91,151,
170,149,190,131,171,169,150,101,103,102,103,102,104,191,211,170,150,110,150,130
</data>
</layer>
<objectgroup id="2" name="objects">
<object id="1" type="player-spawn" gid="1" x="144" y="192" width="16" height="16"/>
<object id="7" type="gem" gid="29" x="288" y="112" width="16" height="16"/>
<object id="11" type="block" gid="30" x="0" y="96" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="12" type="block" gid="30" x="0" y="112" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="13" type="block" gid="30" x="0" y="128" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="14" type="block" gid="30" x="16" y="96" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="15" type="block" gid="30" x="32" y="128" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="16" type="block" gid="30" x="64" y="112" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="17" type="block" gid="30" x="176" y="144" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="18" type="block" gid="30" x="176" y="96" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="19" type="block" gid="30" x="208" y="96" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="21" type="block" gid="30" x="176" y="64" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="22" type="block" gid="30" x="160" y="64" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="23" type="block" gid="30" x="128" y="48" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="24" type="block" gid="30" x="192" y="112" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="25" type="floor-switch" gid="25" x="192" y="96" width="16" height="16">
<properties>
<property name="target-x" type="int" value="11"/>
<property name="target-y" type="int" value="5"/>
</properties>
</object>
<object id="26" type="gate" gid="46" x="176" y="80" width="16" height="16"/>
</objectgroup>
</map>

View file

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="35">
<tileset firstgid="1" source="tiles.tsx"/>
<layer id="1" name="background" width="20" height="15">
<data encoding="csv">
171,110,91,89,90,111,91,150,189,171,129,210,110,91,169,89,89,151,149,189,
130,170,210,169,211,209,191,210,131,130,131,112,151,211,150,91,150,171,191,110,
189,189,131,109,131,210,149,209,91,189,110,191,170,209,109,169,190,89,131,149,
150,210,111,169,210,90,190,131,170,209,90,131,89,151,110,131,209,149,111,109,
109,189,150,81,82,82,82,83,83,82,82,83,82,84,171,90,191,169,170,90,
150,131,129,85,24,24,24,24,24,24,24,31,24,86,149,209,91,111,151,149,
209,190,169,85,24,24,24,24,31,24,24,24,24,107,82,82,82,84,90,151,
90,131,210,105,24,24,3,3,3,3,3,3,24,31,24,24,24,106,151,190,
129,110,150,85,24,24,24,24,24,24,24,24,24,24,24,24,28,86,129,91,
89,171,171,85,24,24,24,24,24,24,24,24,24,31,24,24,24,106,169,210,
190,131,169,85,24,24,24,24,24,24,24,24,24,87,102,103,102,104,129,129,
130,110,149,101,102,103,103,102,103,103,103,102,102,104,91,211,151,189,110,89,
90,209,131,189,169,90,190,149,131,211,109,151,130,89,150,171,91,210,130,129,
91,191,211,169,209,92,150,190,131,190,169,150,150,170,91,149,149,130,171,209,
171,151,210,91,209,189,189,150,111,149,149,189,90,129,109,169,91,131,129,210
</data>
</layer>
<objectgroup id="2" name="objects">
<object id="1" type="player-spawn" gid="1" x="96" y="144" width="16" height="16"/>
<object id="7" type="gem" gid="29" x="192" y="80" width="16" height="16"/>
<object id="27" type="clock-emitter" gid="49" x="80" y="112" width="16" height="16">
<properties>
<property name="interval" type="int" value="4"/>
</properties>
</object>
<object id="28" type="electric-switch" gid="8" x="192" y="112" width="16" height="16">
<properties>
<property name="target-x" type="int" value="13"/>
<property name="target-y" type="int" value="8"/>
</properties>
</object>
<object id="30" type="gate" gid="46" x="208" y="128" width="16" height="16"/>
<object id="31" type="block" gid="30" x="64" y="112" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="32" type="block" gid="30" x="80" y="80" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="33" type="block" gid="30" x="80" y="96" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="34" type="block" gid="30" x="144" y="80" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
</objectgroup>
</map>

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="36">
<tileset firstgid="1" source="tiles.tsx"/>
<layer id="1" name="background" width="20" height="15">
<data encoding="csv">
151,209,210,171,209,211,209,129,111,90,211,210,169,150,191,190,171,189,149,129,
191,190,210,170,190,210,190,149,89,151,191,110,211,91,169,210,209,89,130,129,
171,151,149,110,91,190,150,170,109,191,131,90,209,129,89,209,209,209,90,109,
189,171,189,81,82,83,82,82,82,83,82,82,82,82,84,89,150,112,90,211,
149,210,151,85,24,24,3,3,3,24,24,24,24,24,86,111,189,151,111,151,
130,150,191,105,24,24,24,24,24,24,24,24,24,24,106,90,91,151,169,150,
131,209,111,105,24,24,24,24,24,24,3,3,3,24,86,169,151,210,111,151,
110,150,91,105,24,24,24,24,24,24,24,24,24,24,106,171,91,111,170,109,
189,150,190,105,24,24,24,24,24,24,24,31,31,24,86,110,109,170,129,190,
209,92,209,105,24,24,24,24,24,24,24,31,24,24,106,191,190,110,129,130,
189,189,170,105,24,24,24,24,24,24,24,31,24,28,106,150,111,209,130,209,
129,91,210,101,103,103,103,102,102,102,103,102,102,103,104,189,109,151,210,170,
211,191,210,191,211,150,151,89,129,130,129,130,209,89,150,91,190,91,170,150,
190,170,210,210,109,191,169,150,89,171,149,130,130,150,111,90,89,191,90,170,
150,91,129,171,149,109,150,89,169,210,111,190,129,91,190,169,169,171,109,90
</data>
</layer>
<objectgroup id="2" name="objects">
<object id="1" type="player-spawn" gid="1" x="80" y="144" width="16" height="16"/>
<object id="7" type="gem" gid="29" x="208" y="64" width="16" height="16"/>
<object id="27" type="clock-emitter" gid="49" x="80" y="64" width="16" height="16">
<properties>
<property name="interval" type="int" value="4"/>
</properties>
</object>
<object id="28" type="electric-switch" gid="8" x="208" y="96" width="16" height="16">
<properties>
<property name="target-x" type="int" value="13"/>
<property name="target-y" type="int" value="8"/>
</properties>
</object>
<object id="30" type="gate" gid="46" x="208" y="128" width="16" height="16"/>
<object id="31" type="block" gid="30" x="144" y="80" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="32" type="block" gid="4" x="112" y="112" width="16" height="16">
<properties>
<property name="kind" value="copper"/>
</properties>
</object>
<object id="33" type="block" gid="30" x="176" y="80" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="34" type="block" gid="30" x="160" y="64" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="35" type="block" gid="30" x="208" y="80" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
</objectgroup>
</map>

View file

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="42">
<tileset firstgid="1" source="tiles.tsx"/>
<layer id="1" name="background" width="20" height="15">
<data encoding="csv">
151,110,111,90,210,129,211,111,211,190,169,130,209,90,189,191,191,89,110,131,
210,210,91,149,131,170,171,190,91,131,209,109,110,91,131,209,171,209,171,90,
91,129,91,190,91,149,129,209,89,91,130,91,209,89,211,150,150,211,169,90,
191,91,81,82,82,82,82,82,82,83,82,82,82,84,90,191,131,90,130,109,
131,189,105,24,24,24,24,24,24,31,24,24,24,86,110,90,209,110,91,191,
151,191,85,24,24,24,24,24,24,31,24,24,24,86,191,90,190,130,169,211,
211,191,85,24,24,24,24,24,24,24,24,24,24,107,83,83,82,84,149,149,
191,150,85,24,3,3,3,3,24,3,3,3,24,31,31,31,28,86,109,171,
170,211,85,24,24,24,24,24,24,24,24,24,24,31,31,31,24,106,190,131,
189,130,85,24,24,24,24,24,24,24,24,24,24,24,24,24,24,106,171,110,
189,189,85,24,24,24,24,24,24,24,24,24,24,87,103,103,103,104,150,110,
91,210,85,24,24,24,24,24,24,24,24,24,24,106,110,210,90,190,109,170,
130,190,101,102,102,102,103,103,103,102,103,102,103,104,171,171,111,191,189,209,
109,131,151,111,209,150,211,130,210,91,130,90,151,110,151,110,130,171,131,210,
210,150,209,209,169,191,169,209,171,169,90,151,89,209,91,129,111,151,149,130
</data>
</layer>
<objectgroup id="2" name="objects">
<object id="1" type="player-spawn" gid="1" x="48" y="144" width="16" height="16"/>
<object id="7" type="gem" gid="29" x="176" y="80" width="16" height="16"/>
<object id="28" type="electric-switch" gid="8" x="192" y="112" width="16" height="16">
<properties>
<property name="target-x" type="int" value="15"/>
<property name="target-y" type="int" value="9"/>
</properties>
</object>
<object id="30" type="gate" gid="46" x="240" y="144" width="16" height="16"/>
<object id="31" type="block" gid="30" x="192" y="144" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="32" type="block" gid="4" x="112" y="160" width="16" height="16">
<properties>
<property name="kind" value="copper"/>
</properties>
</object>
<object id="33" type="block" gid="30" x="192" y="176" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="34" type="block" gid="30" x="176" y="160" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="35" type="block" gid="30" x="176" y="176" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="36" type="switched-emitter" gid="48" x="48" y="112" width="16" height="16">
<properties>
<property name="interval" type="int" value="4"/>
</properties>
</object>
<object id="37" type="floor-switch" gid="25" x="96" y="144" width="16" height="16">
<properties>
<property name="target-x" type="int" value="3"/>
<property name="target-y" type="int" value="7"/>
</properties>
</object>
<object id="38" type="gate" gid="46" x="144" y="96" width="16" height="16"/>
<object id="39" type="electric-switch" gid="8" x="112" y="80" width="16" height="16">
<properties>
<property name="target-x" type="int" value="9"/>
<property name="target-y" type="int" value="6"/>
</properties>
</object>
<object id="40" type="floor-switch" gid="25" x="160" y="64" width="16" height="16">
<properties>
<property name="target-x" type="int" value="9"/>
<property name="target-y" type="int" value="6"/>
</properties>
</object>
<object id="41" type="block" gid="30" x="176" y="64" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
</objectgroup>
</map>

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="36">
<tileset firstgid="1" source="tiles.tsx"/>
<layer id="1" name="background" width="20" height="15">
<data encoding="csv">
129,109,110,191,189,169,169,191,110,169,150,91,110,171,210,111,110,170,151,169,
211,170,150,110,90,209,171,209,170,149,110,190,149,90,111,191,191,150,209,151,
210,210,170,169,149,191,189,169,169,151,149,169,169,190,130,110,209,169,109,209,
90,190,130,170,189,91,129,209,109,169,171,211,151,169,89,131,89,191,211,211,
111,130,111,191,91,210,169,89,190,109,171,130,211,91,191,149,149,209,191,169,
191,171,150,89,169,190,171,109,129,110,169,190,190,130,170,151,131,170,109,151,
211,109,190,109,189,130,191,130,149,190,149,191,151,111,109,171,210,191,209,209,
151,90,91,110,209,170,211,151,129,109,191,189,189,191,129,89,171,151,130,209,
170,91,191,209,191,89,151,90,190,209,170,171,169,110,169,131,129,129,90,150,
211,130,171,150,151,131,91,129,189,89,109,189,169,130,111,150,110,211,170,151,
129,110,189,151,189,91,170,151,89,131,209,130,129,170,191,91,209,90,189,110,
209,130,110,189,89,129,90,191,130,171,131,110,110,131,130,110,110,110,111,151,
129,211,129,91,129,91,210,129,109,89,131,89,169,191,211,110,170,209,91,111,
109,210,109,191,189,171,111,209,89,90,130,91,191,90,191,151,109,190,191,90,
169,191,90,211,109,90,150,170,109,109,109,130,90,189,111,169,131,109,169,209
</data>
</layer>
<objectgroup id="2" name="objects">
<object id="1" type="player-spawn" gid="1" x="80" y="144" width="16" height="16"/>
<object id="7" type="gem" gid="29" x="208" y="64" width="16" height="16"/>
<object id="27" type="clock-emitter" gid="49" x="80" y="64" width="16" height="16">
<properties>
<property name="interval" type="int" value="4"/>
</properties>
</object>
<object id="28" type="electric-switch" gid="8" x="208" y="96" width="16" height="16">
<properties>
<property name="target-x" type="int" value="13"/>
<property name="target-y" type="int" value="8"/>
</properties>
</object>
<object id="30" type="gate" gid="46" x="208" y="128" width="16" height="16"/>
<object id="31" type="block" gid="30" x="144" y="80" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="32" type="block" gid="4" x="112" y="112" width="16" height="16">
<properties>
<property name="kind" value="copper"/>
</properties>
</object>
<object id="33" type="block" gid="30" x="176" y="80" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="34" type="block" gid="30" x="160" y="64" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
<object id="35" type="block" gid="30" x="208" y="80" width="16" height="16">
<properties>
<property name="kind" value="crate"/>
</properties>
</object>
</objectgroup>
</map>