switch repo to just cleaning game focus
BIN
game/assets/battery_bar.aseprite
Normal file
BIN
game/assets/battery_bar.png
Normal file
|
After Width: | Height: | Size: 225 B |
BIN
game/assets/charging_station.aseprite
Normal file
BIN
game/assets/curiosities-1x.png
Normal file
|
After Width: | Height: | Size: 91 B |
BIN
game/assets/doors.aseprite
Normal file
BIN
game/assets/dust_001.aseprite
Normal file
BIN
game/assets/dust_001.png
Normal file
|
After Width: | Height: | Size: 510 B |
107
game/assets/gen_levels.bb
Executable file
|
|
@ -0,0 +1,107 @@
|
|||
#!/usr/bin/env bb
|
||||
(ns gen-levels
|
||||
(:require
|
||||
[babashka.fs :as fs]
|
||||
[clojure.pprint :refer [pprint]]
|
||||
[clojure.data.xml :as xml]
|
||||
[clojure.string :as str]
|
||||
[clojure.java.io :as io])
|
||||
(:import
|
||||
'java.io.StringReader))
|
||||
|
||||
(defn load-tiled-xml-file [path]
|
||||
(-> (slurp (io/reader path))
|
||||
(str/replace #">\s+" ">")
|
||||
(StringReader.)
|
||||
(xml/parse)))
|
||||
|
||||
(defn parse-tile-set [tsx]
|
||||
(->>
|
||||
(:content tsx)
|
||||
(filter #(= (:tag %) :tile))
|
||||
(reduce (fn [acc tile]
|
||||
(conj acc
|
||||
{(Integer/parseInt (get-in tile [:attrs :id]))
|
||||
(vec
|
||||
(->> (:content tile)
|
||||
(map :content)
|
||||
(flatten)
|
||||
(map :attrs)
|
||||
(map #(select-keys % [:x :y :height :width]))
|
||||
(map #(update-vals % (fn [v] (Math/round (Double/parseDouble v)))))))}))
|
||||
|
||||
{})))
|
||||
|
||||
(def walls-tsx (load-tiled-xml-file "./tiled/walls.tsx"))
|
||||
(def objects-tsx (load-tiled-xml-file "./tiled/objects.tsx"))
|
||||
;; (def colliders {:walls (parse-tile-set walls-tsx) :objects (parse-tile-set objects-tsx)})
|
||||
;; (into {} (map (fn [[k v]]
|
||||
;; [(transform-key k) v])
|
||||
;; your-map))
|
||||
(def colliders
|
||||
"collider boxes by tile GID"
|
||||
(let [walls (into {} (map (fn [[k v]] [(+ k 1) v]) (parse-tile-set walls-tsx)))
|
||||
objects (into {} (map (fn [[k v]] [(+ k 21) v]) (parse-tile-set objects-tsx)))]
|
||||
(merge walls objects)))
|
||||
|
||||
(def tutorial-map-tmx (load-tiled-xml-file "./tiled/tutorial.tmx"))
|
||||
(def level-001-map-tmx (load-tiled-xml-file "./tiled/level_001.tmx"))
|
||||
(def dev-map-tmx (load-tiled-xml-file "./tiled/dev.tmx"))
|
||||
|
||||
(defn parse-gid [gid]
|
||||
(let [gid-long (Long/parseLong (str gid))
|
||||
h-flip (bit-test gid-long 31) ; Bit 32 (horizontal flip)
|
||||
v-flip (bit-test gid-long 30) ; Bit 31 (vertical flip)
|
||||
d-flip (bit-test gid-long 29) ; Bit 30 (diagonal flip)
|
||||
tile-id (bit-and gid-long 0x0FFFFFFF)] ; Clear top 4 bits to get actual tile ID
|
||||
{:tile-id tile-id
|
||||
:colliders (get colliders tile-id)
|
||||
:h-flip h-flip
|
||||
:v-flip v-flip
|
||||
:d-flip d-flip}))
|
||||
|
||||
(defn parse-map
|
||||
[map-tmx]
|
||||
(let [tiles (-> (filter #(= (:tag %) :layer) (:content map-tmx))
|
||||
first :content first :content first str/split-lines
|
||||
(->>
|
||||
(mapv #(str/split % #","))
|
||||
(mapv (fn [row] (mapv parse-gid row)))))]
|
||||
{:tiles
|
||||
(vec (map-indexed
|
||||
(fn [y row]
|
||||
(vec (map-indexed
|
||||
(fn [x tile] (conj {:x (* x 25) :y (* y 25)} tile))
|
||||
row))) tiles))
|
||||
|
||||
:objects
|
||||
(let [objects (:content (first (filter #(= (get-in % [:attrs :name]) "objects") (:content map-tmx))))]
|
||||
(vec (map (fn [obj]
|
||||
(let [attrs (assoc (:attrs obj) :x (Double. (get-in obj [:attrs :x])) :y (Double. (get-in obj [:attrs :y])))
|
||||
tags (flatten (map :content (:content obj)))
|
||||
properties (map #(hash-map (keyword (get-in % [:attrs :name])) (get-in % [:attrs :value])) tags)]
|
||||
|
||||
(into attrs properties))) objects)))
|
||||
:spawns
|
||||
(let [spawns (first (filter #(= (get-in % [:attrs :name]) "spawns") (:content map-tmx)))
|
||||
player-1 (first (filter #(= (get-in % [:attrs :name]) "player_1") (:content spawns)))
|
||||
player-2 (first (filter #(= (get-in % [:attrs :name]) "player_2") (:content spawns)))
|
||||
round-num-str #(Double/parseDouble (format "%.2f" (Double/parseDouble %)))
|
||||
extract-pos (fn [tag] {:x (round-num-str (get-in tag [:attrs :x]))
|
||||
:y (round-num-str (get-in tag [:attrs :y]))})]
|
||||
{:player-1 (extract-pos player-1)
|
||||
:player-2 (extract-pos player-2)})}))
|
||||
(def levels {:levels {:level-001 (parse-map level-001-map-tmx)
|
||||
:tutorial (parse-map tutorial-map-tmx)
|
||||
:dev (parse-map dev-map-tmx)}
|
||||
|
||||
:colliders colliders})
|
||||
|
||||
(pprint (get-in levels [:levels :tutorial :objects]))
|
||||
;; (pprint/pprint {:row (first (:tiles level-001))})
|
||||
;; (pprint/pprint (pr-str level-001))
|
||||
|
||||
(fs/write-lines "../levels.fnl" ["(local levels"
|
||||
(str/replace (pr-str levels) #",+" "")
|
||||
")\n\n"
|
||||
"levels"])
|
||||
BIN
game/assets/level_002.png
Normal file
|
After Width: | Height: | Size: 220 B |
BIN
game/assets/objects.aseprite
Normal file
BIN
game/assets/objects.png
Normal file
|
After Width: | Height: | Size: 649 B |
BIN
game/assets/player.aseprite
Normal file
BIN
game/assets/player.png
Normal file
|
After Width: | Height: | Size: 436 B |
83
game/assets/tiled/dev.tmx
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.10" tiledversion="1.12.1" orientation="orthogonal" renderorder="right-down" width="50" height="50" tilewidth="25" tileheight="25" infinite="0" nextlayerid="4" nextobjectid="12">
|
||||
<tileset firstgid="1" source="walls.tsx"/>
|
||||
<layer id="1" name="Tile Layer 1" width="50" height="50">
|
||||
<data encoding="csv">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2147483651,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,10,1,1,1,0,0,1,1,1,2147483658,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,4,11,2147483652,0,0,0,0,0,0,4,11,2147483652,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2147483650,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="2" name="spawns">
|
||||
<object id="1" name="player_1" x="612.159" y="713.357">
|
||||
<point/>
|
||||
</object>
|
||||
<object id="2" name="player_2" x="638.166" y="712.787">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup id="3" name="objects">
|
||||
<object id="5" type="info_pad" x="600" y="700" width="25" height="25">
|
||||
<properties>
|
||||
<property name="content" value="[a] is left wheel forward [d] is right wheel forward"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="6" x="625" y="700" width="25" height="25">
|
||||
<properties>
|
||||
<property name="content" value="[a] is left wheel forward [d] is right wheel forward"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="11" type="info_pad" x="600" y="600" width="25" height="25">
|
||||
<properties>
|
||||
<property name="content" value="[q] is left wheel reverse [e] is right wheel reverse"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
70
game/assets/tiled/level_001.tmx
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.10" tiledversion="1.12.1" orientation="orthogonal" renderorder="right-down" width="50" height="50" tilewidth="25" tileheight="25" infinite="0" nextlayerid="3" nextobjectid="4">
|
||||
<editorsettings>
|
||||
<export target="level_001.tmj" format="json"/>
|
||||
</editorsettings>
|
||||
<tileset firstgid="1" source="walls.tsx"/>
|
||||
<tileset firstgid="21" source="objects.tsx"/>
|
||||
<layer id="1" name="Tile Layer 1" width="50" height="50">
|
||||
<data encoding="csv">
|
||||
5,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,4,
|
||||
10,0,0,0,21,22,21,0,0,0,0,0,10,0,0,0,0,0,0,0,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,
|
||||
10,0,0,0,0,21,0,0,0,0,0,0,10,0,0,0,0,0,0,0,8,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,10,
|
||||
10,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
|
||||
10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
|
||||
10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,10,
|
||||
10,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,10,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,
|
||||
10,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,
|
||||
10,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,
|
||||
10,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,10,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,
|
||||
14,1,1,1,1,1,1,1,1,1,1,1,15,0,0,0,0,0,0,0,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,13,1,1,1,1,1,1,1,1,1,13,1,1,4,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,8,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,5,1,1,1,1,1,1,1,1,13,1,18,11,11,17,1,15,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
14,1,1,1,1,1,1,1,1,1,1,1,15,11,11,11,11,11,11,11,5,1,1,1,1,1,1,1,1,4,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,8,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2147483650,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,9,11,11,11,14,18,11,11,17,1,1,1,1,12,1,1,1,18,11,11,20,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,2,1,1,1,1,1,1,1,1,3,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
14,1,1,1,1,1,1,1,1,1,1,1,15,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,1,1,1,1,1,18,11,11,10,11,11,17,1,1,1,15,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,5,1,1,1,1,1,1,1,1,1,12,1,1,3,11,11,17,1,1,1,1,1,16,1,1,1,18,11,11,20,
|
||||
14,1,1,1,1,1,1,1,1,1,1,1,15,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,10,
|
||||
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
|
||||
2,1,1,1,1,1,1,1,1,1,1,1,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,1,1,1,1,1,1,1,1,1,1,1,13,1,1,1,1,1,1,3
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="2" name="spawns">
|
||||
<object id="1" name="player_1" x="569.372" y="697.644">
|
||||
<point/>
|
||||
</object>
|
||||
<object id="3" name="player_2" x="679.319" y="590.314">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
30
game/assets/tiled/objects.tsx
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.10" tiledversion="1.12.1" name="objects" tilewidth="25" tileheight="25" tilecount="16" columns="4">
|
||||
<image source="../objects.png" width="100" height="100"/>
|
||||
<tile id="0">
|
||||
<properties>
|
||||
<property name="name" value="charging_pad"/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="2.08266" y="2.08266" width="21.0002" height="21.087"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="1">
|
||||
<properties>
|
||||
<property name="name" value="charging_station"/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="1.12811" y="2.08266" width="22.8225" height="20.6531"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="3">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="2.0113" y="1.87259" width="20.9453" height="21.084"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="5">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="0.0892797" y="4.0196" width="24.8292" height="17.8243"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
</tileset>
|
||||
79
game/assets/tiled/tutorial.tmx
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.10" tiledversion="1.12.1" orientation="orthogonal" renderorder="right-down" width="50" height="50" tilewidth="25" tileheight="25" infinite="0" nextlayerid="5" nextobjectid="19">
|
||||
<tileset firstgid="1" source="walls.tsx"/>
|
||||
<tileset firstgid="21" source="objects.tsx"/>
|
||||
<layer id="1" name="bg" width="50" height="50">
|
||||
<data encoding="csv">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2147483651,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,8,1,1,1,0,0,1,1,1,8,1,1,1,1,1,1,1,1,1,2147483650,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,1,1,1,1,1,2147483658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,1,1,1,1,1,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,1,1,1,1,1,2147483658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,1,1,1,1,1,0,0,1,2147483658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,2147483650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="2" name="spawns">
|
||||
<object id="1" name="player_1" x="562.031" y="1164.44">
|
||||
<point/>
|
||||
</object>
|
||||
<object id="2" name="player_2" x="687.512" y="1162.99">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup id="3" name="objects">
|
||||
<object id="3" type="charging_station" x="550" y="1025" width="75" height="50">
|
||||
<properties>
|
||||
<property name="dir" value="n"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="4" name="wait_for_2_players" type="h_door" x="650" y="1000" width="50" height="25"/>
|
||||
<object id="6" name="waiting_for_player2" type="info_pad" x="650" y="1025" width="25" height="25"/>
|
||||
<object id="7" name="waiting_for_player2" type="info_pad" x="675" y="1025" width="25" height="25"/>
|
||||
<object id="15" name="controls" type="info_pad" x="550" y="1150" width="25" height="25"/>
|
||||
<object id="16" name="controls" type="info_pad" x="675" y="1150" width="25" height="25"/>
|
||||
</objectgroup>
|
||||
</map>
|
||||
14
game/assets/tiled/untitled.tiled-project
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"automappingRulesFile": "",
|
||||
"commands": [
|
||||
],
|
||||
"compatibilityVersion": 1100,
|
||||
"extensionsPath": "extensions",
|
||||
"folders": [
|
||||
"../../"
|
||||
],
|
||||
"properties": [
|
||||
],
|
||||
"propertyTypes": [
|
||||
]
|
||||
}
|
||||
86
game/assets/tiled/untitled.tiled-session
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{
|
||||
"activeFile": "tutorial.tmx",
|
||||
"expandedProjectPaths": [
|
||||
".",
|
||||
"/Users/she0001t/personal_projects/fennel_love2d_experiments/two_player_cleaning_game",
|
||||
"/Users/she0001t/personal_projects/fennel_love2d_experiments/two_player_cleaning_game/assets"
|
||||
],
|
||||
"fileStates": {
|
||||
"dev.tmx": {
|
||||
"expandedObjectLayers": [
|
||||
2
|
||||
],
|
||||
"scale": 2.9815,
|
||||
"selectedLayer": 2,
|
||||
"viewCenter": {
|
||||
"x": 635.7538151936944,
|
||||
"y": 649.3375817541506
|
||||
}
|
||||
},
|
||||
"level_001.tmx": {
|
||||
"expandedObjectLayers": [
|
||||
2
|
||||
],
|
||||
"scale": 0.92,
|
||||
"selectedLayer": 1,
|
||||
"viewCenter": {
|
||||
"x": 528.804347826087,
|
||||
"y": 1036.9565217391303
|
||||
}
|
||||
},
|
||||
"map_tileset.tsx": {
|
||||
"dynamicWrapping": false,
|
||||
"scaleInDock": 1,
|
||||
"scaleInEditor": 8
|
||||
},
|
||||
"objects.tsx": {
|
||||
"scaleInDock": 1,
|
||||
"scaleInEditor": 2.8063
|
||||
},
|
||||
"tutorial.tmx": {
|
||||
"expandedObjectLayers": [
|
||||
3,
|
||||
2
|
||||
],
|
||||
"scale": 3.1565,
|
||||
"selectedLayer": 2,
|
||||
"viewCenter": {
|
||||
"x": 612.8623475368288,
|
||||
"y": 1141.1373356565816
|
||||
}
|
||||
},
|
||||
"walls.tsx": {
|
||||
"scaleInDock": 1.4397,
|
||||
"scaleInEditor": 5.9643
|
||||
}
|
||||
},
|
||||
"last.exportedFilePath": "/Users/she0001t/personal_projects/fennel_love2d_experiments/two_player_cleaning_game/assets/tiled",
|
||||
"last.imagePath": "/Users/she0001t/personal_projects/fennel_love2d_experiments/two_player_cleaning_game/assets",
|
||||
"map.height": 50,
|
||||
"map.lastUsedExportFilter": "JSON map files (*.tmj *.json)",
|
||||
"map.lastUsedFormat": "tmx",
|
||||
"map.tileHeight": 25,
|
||||
"map.tileWidth": 25,
|
||||
"map.width": 50,
|
||||
"openFiles": [
|
||||
"level_001.tmx",
|
||||
"walls.tsx",
|
||||
"objects.tsx",
|
||||
"tutorial.tmx"
|
||||
],
|
||||
"project": "untitled.tiled-project",
|
||||
"recentFiles": [
|
||||
"level_001.tmx",
|
||||
"walls.tsx",
|
||||
"objects.tsx",
|
||||
"tutorial.tmx",
|
||||
"map_tileset.tsx"
|
||||
],
|
||||
"textEdit.monospace": true,
|
||||
"tileset.lastUsedFormat": "tsx",
|
||||
"tileset.tileSize": {
|
||||
"height": 25,
|
||||
"width": 25
|
||||
},
|
||||
"tileset.type": 0
|
||||
}
|
||||
116
game/assets/tiled/walls.tsx
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.10" tiledversion="1.12.1" name="walls" tilewidth="25" tileheight="25" tilecount="20" columns="13">
|
||||
<image source="../walls.png" width="325" height="25"/>
|
||||
<tile id="0">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="0.141111" y="4.02527" width="24.9767" height="17.7059"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="1">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="10.16" y="4.23334" width="14.6756" height="17.6389"/>
|
||||
<object id="2" x="10.3011" y="-1.77636e-15" width="4.51556" height="5.22112"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="2">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="10.0692" y="4.10365" width="15.0247" height="17.8045"/>
|
||||
<object id="2" x="10.13" y="20.5323" width="4.83172" height="4.30221"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="3">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="9.99984" y="3.9681" width="15.157" height="17.8707"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="4">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="2" x="10.13" y="0.0242897" width="4.83172" height="21.8801"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="5">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="9.99437" y="4.10365" width="4.89882" height="20.853"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="6">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="10.1259" y="0.0116848" width="4.70022" height="24.9386"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="7">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="0.0701754" y="4.0888" width="24.8722" height="17.7532"/>
|
||||
<object id="2" x="10.0565" y="16.9227" width="4.85487" height="7.90651"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="0.0734307" y="4.10365" width="24.7335" height="17.9363"/>
|
||||
<object id="2" x="10.1952" y="0" width="4.71616" height="7.21296"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="9">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="9.99437" y="-0.0661879" width="4.96409" height="24.8867"/>
|
||||
<object id="2" x="14.0098" y="4.09197" width="10.9581" height="17.963"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="10">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="10.0565" y="1.77636e-15" width="4.85487" height="24.9679"/>
|
||||
<object id="2" x="0.0693553" y="4.02261" width="24.9679" height="17.963"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="11">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="2.98861" y="4.03746" width="21.898" height="17.7384"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="12">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="9.984" y="3.88925" width="11.9834" height="18.1041"/>
|
||||
<object id="2" x="9.99437" y="0.0661879" width="4.89791" height="24.83"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="13">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="10.1267" y="4.16984" width="14.9585" height="17.7384"/>
|
||||
<object id="2" x="10.0606" y="-0.0661879" width="4.76553" height="25.019"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="14">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="0.0661879" y="4.03746" width="14.8923" height="17.9369"/>
|
||||
<object id="2" x="10.0606" y="0.0661879" width="4.89791" height="24.9528"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="15">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="-0.264752" y="4.10365" width="25.1514" height="17.8045"/>
|
||||
<object id="2" x="10.1267" y="0" width="4.63315" height="24.8205"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="16">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="3.04464" y="4.03746" width="21.9082" height="17.6722"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="17">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="2" x="0.132376" y="4.10365" width="21.7096" height="17.7384"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="18">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="9.99437" y="-0.132376" width="4.89791" height="25.1514"/>
|
||||
<object id="2" x="13.7671" y="4.03746" width="8.14111" height="17.606"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="19">
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" x="10.0606" y="0" width="4.76553" height="24.9528"/>
|
||||
<object id="2" x="3.04464" y="4.03746" width="11.6491" height="17.9369"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
</tileset>
|
||||
BIN
game/assets/ui.aseprite
Normal file
BIN
game/assets/ui.png
Normal file
|
After Width: | Height: | Size: 574 B |
BIN
game/assets/walls.aseprite
Normal file
BIN
game/assets/walls.png
Normal file
|
After Width: | Height: | Size: 419 B |