From 434b616210da6a123f3d3ffbc27cef33c9f02e1f Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sat, 18 Nov 2023 19:01:23 -0700 Subject: [PATCH 01/49] docs: remove getting-started guide and sokoban placeholder with an initial tile-based-game tutorial --- book/src/SUMMARY.md | 3 +- book/src/tutorials/getting-started.md | 28 ----------- book/src/tutorials/tile-based-game/README.md | 46 ++++++++++++++++++ .../tutorials/tile-based-game/tilesets.png | Bin 0 -> 48858 bytes .../tutorials/tile-based-game/wall-layer.png | Bin 0 -> 76263 bytes 5 files changed, 47 insertions(+), 30 deletions(-) delete mode 100644 book/src/tutorials/getting-started.md create mode 100644 book/src/tutorials/tile-based-game/README.md create mode 100644 book/src/tutorials/tile-based-game/tilesets.png create mode 100644 book/src/tutorials/tile-based-game/wall-layer.png diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 8637474c..569baa5c 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -2,8 +2,7 @@ [Introduction](README.md) # Tutorials -- [Getting Started](tutorials/getting-started.md) -- [Sokoban]() +- [Tile-based Game](tutorials/tile-based-game/README.md) - [Platformer]() # Explanation - [Game Logic Integration]() diff --git a/book/src/tutorials/getting-started.md b/book/src/tutorials/getting-started.md deleted file mode 100644 index bd0f1df7..00000000 --- a/book/src/tutorials/getting-started.md +++ /dev/null @@ -1,28 +0,0 @@ -# Getting Started - -The goal of this plugin is to make it as easy as possible to use LDtk with Bevy -for common use cases, while providing solutions to handle more difficult cases. -You only need a few things to get started: -1. Add the `LdtkPlugin` to the `App` -2. Insert the `LevelSelection` resource into the `App` to pick your level -3. Spawn an `LdtkWorldBundle` -4. Optionally, use `#[derive(LdtkEntity)]` and `#[derive(LdtkIntCell)]` on - bundles and register them to the `App` to automatically spawn those bundles - on Entity and IntGrid layers. - -```rust,no_run -{{ #include ../../../examples/basic.rs }} -``` - -There are other attributes available to `#[derive(LdtkEntity)]` and `#[derive(LdtkIntCell)]`, see the documentation for more details. - -By default, LDtk Entities and IntGrid tiles get spawned with `EntityInstance` -and `IntGridCell` components respectfully. -So, you can flesh out these entities in a system that queries for -`Added` or `Added` if you need more access to the -world, or if you just don't want to use the `LdtkEntity` and `LdtkIntCell` -traits. - -To load a new level, you can just update the `LevelSelection` resource. -Be sure to check out the `LdtkSettings` resource and the `LevelSet` component -for additional level-loading options. diff --git a/book/src/tutorials/tile-based-game/README.md b/book/src/tutorials/tile-based-game/README.md new file mode 100644 index 00000000..4a849581 --- /dev/null +++ b/book/src/tutorials/tile-based-game/README.md @@ -0,0 +1,46 @@ +# Tile-based Game +In this tutorial you will make a tile-based game with LDtk levels. +The game will be tile-based, meaning that the game entities will be locked to a grid of tiles like sokoban. +You will go through the process of creating an LDtk project, loading the project into bevy, and adding gameplay. + +## Prerequisites +You will need to perform the following setup/installations: +- [Bevy project setup](https://bevyengine.org/learn/book/getting-started/setup/) for the version specified in the [compatibility chart](https://github.com/Trouv/bevy_ecs_ldtk#compatibility). +- [LDtk installation](https://ldtk.io/versions/), for the version specified in the [compatibility chart](https://github.com/Trouv/bevy_ecs_ldtk#compatibility). + +You will also need some simple assets: +- A tileset for the environment with at least a background tile, a wall tile, and a "goal"-ish tile. +- A tileset for the the player. + +For these purposes this tutorial will use the `environment/tileset.png` and `spritesheets/player.png` assets respectively from [SunnyLand by Ansimuz](https://ansimuz.itch.io/sunny-land-pixel-game-art), licensed under [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/). +However, you will be able to follow this tutorial using any tilesets, so long as they have tiles appropriate for the above purposes. + +## Creating the LDtk project +Open the LDtk app and create a new project. +For this tutorial, name the project `tile-based-game.ldtk`, and save it to your Bevy project's `assets` directory. + +Add your environment/player tilesets to the project, in the Tilesets tab. +Make sure that the source image files for these tilesets are also in your Bevy project's `assets` directory. +Name the tilesets "Environment" and "Player" respectively. +For the SunnyLand assets - the Player tileset needs to have a tile size of 32 and the environment asset a tile size of 16. +![tilesets](tilesets.png) + +Add an IntGrid layer to the project, in the Layers tab. +This layer will be used to define where the collisions are in the level. +Call this layer "Walls", make sure its grid size is 16, and optionally name the grid value 1 "Wall". +Finally, give it an Auto-layer tileset - pointing to the "Environment" tileset. +![wall-layer](wall-layer.png) + +From here, select "EDIT RULES" next to the wall layer's auto-tile tileset. +This is where you will define how LDtk should dynamically render the Walls layer of your levels based of the level's intgrid values. + + + + +## Loading the project into Bevy + +## Gameplay + +## Collisions + +## Level transitions diff --git a/book/src/tutorials/tile-based-game/tilesets.png b/book/src/tutorials/tile-based-game/tilesets.png new file mode 100644 index 0000000000000000000000000000000000000000..3dd679c7e784f39c479a33f44819e989b9ebe6ac GIT binary patch literal 48858 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�A?LFuSkkuPn{ko1=xA} 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 EKd5KltN;K2 literal 0 HcmV?d00001 diff --git a/book/src/tutorials/tile-based-game/wall-layer.png b/book/src/tutorials/tile-based-game/wall-layer.png new file mode 100644 index 0000000000000000000000000000000000000000..8af4250c8df74f0e9cbc9a848cda2cb21ead48f8 GIT binary patch literal 76263 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 literal 0 HcmV?d00001 From f9f1291153b3196458010ff3c4facd1c7e9e68e8 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sat, 18 Nov 2023 19:01:59 -0700 Subject: [PATCH 02/49] docs: add SunnyLand-player.png tileset --- assets/atlas/SunnyLand-player.png | Bin 0 -> 2547 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/atlas/SunnyLand-player.png diff --git a/assets/atlas/SunnyLand-player.png b/assets/atlas/SunnyLand-player.png new file mode 100644 index 0000000000000000000000000000000000000000..7fbbe07de54fd9c673e1d06ec7038ff627c56177 GIT binary patch literal 2547 zcmVPx#8&FJCMKUZywL&fMxrw81PUv_z|NsC0|Nj600RR90fvlrd00009bW%=J|NsC0 z|Nj90|G?FwasU7caY;l$RCt{2o$Gq6Dh!5$teI!-|BAO956FD(P>w3x_ zuESV;d!k^1a8BfGFy!m0c(?{5loBvjtp)hLg!Oo+D-vg}Ra%s(1o=!|gb^#Yk76!( zIKEmCXNTd_y&*>lKDJ?!hifq2=>{bX=HZ1HtN|FDwuh@RQm?4DB+T{6#viBiz@O`a z!F#v@!18cdbq_Z+Fmf4|K|T*klx7h})sFrEfAY4bfq5b< z4@Xs3Dk_67Fe)ne42Y!HJD4(qq2Km=%4Yw} ze-oIV4~M$z%BGs_ynpF8N(MfiEivOB4)h+{94IyGUen#AqJ<2Vduj!(R?(co}-Kw5=Kb_%O|4q z&{QfbYY$F0*x_L*F0>+o$xl4grfSw6-Z;8*a?a1p`%{z#Ml9tA9_rt;tUZKE0+gX; z6UlboKUd3ap+xzT?s36GX+d|+Z^#&ihj*zE*@qmZh#`3ZI<9B!W9lCh&1^$sd59JU zMvihVCY7?=Lxo|^Z&0EcLXMCr!pQprrqmUSOp!}rJuHj|;KCF!Jf&zmjLL)12IQQ& zYT*e3pl`C1hlTOLU`X>DF_lIX0)~@3yfLM&Obo<+0yb6ri4Z(g7*5OD2M=pik~7UX ze^EfyAlZq54F+?ZiU=M&b8q;3owWIl%)uwbu?*zwT$Cmsq=Z{}`0-CB;)KoZ*<$2K z`4aYFIMD;Oru?aHFeDE(M)TxuJml0p-=YKPCkvl0l`45r?mjyU4tW2VfodM;SJA}vZOjHkEkQced|f@2Mj3kx>5JHnu}AoI zBhpi4Wam;#^}F?8%%lfnCOsH4sqV7__iJNpJYvs#II0E%y5BZ2l*gN7aMHt3wHRiU zfS-ps$E;JRF(~aXXY}Z}ZXkN7U0e}9Ic|cWw7=Zf|0gHZcX`0$lVC_W1I0tU2w%Z) zN*QHZ;GdL$Q9S@*k=QM}^_26yS2| zb(jm&?wcOsV`Zr^uj4592A%0#DY_`jwFncg{Jo=jh?m1J_4OEp;W0=NBUH%B3$T_B^dZ&gYHRy7Wh-Rh59f58n;rp6X~cqbUAhy6rdX!I()8#!PxJX3~Q(ll~rtz58NbH5fRm6SpNys~Tg}TbI6| z8pGawp;oqGgNYq#DwX-(CiNoW8*J`ST`msz1&s7EAiN|@S}`wF77Yff8jD-IFY-H$ z@@mC?c_-vm-=e`l6%1?l1t3Ol%{=>_o`4}43>2j@?A;e>X*j-zWWABP%i+_-5Dmtu z!mxH<_{D`4?w)2-dyGJ!7>pB8jOzZ49Aub>kz2E9G3q6Ax)=;~bA{TPfn_jE6^1k3 zx&#G7NH&9IFidoB81JWQqZIa7nFhmDFmMJ%dY@6f27!;#G#IDN#DF%Vg;6eHJKKxN zs+$Jm#9&Bk`l~4Oel{6{HyEeQY?JkVDsbvvGRt6?+POam(u7zxNcWG_nwbW})QG@p#M`Wm1c)#Pw#HI&dd z1u~e8V}s%7bw^B{*%*8=N>hljMvWP!kXc|bwgywF!B}#X!hk0jr0o~?rOpLyhE3Z3 z4SS!;eQGd1pU)a$_{n2@$lx<4MjSAO=)#FkQ8vSc^t@RAKaF$~#zYgH`!Mpru*JA@ zl5DH|z>DLxP+K6x_;H)jTOQJV$l&w!VXCfzfjckgb8|V|(ikk)E^9t1!dRQx^(4mt z!{=sl0FRSFvbZVeUU+Y${Ou>nr>Ts_E@P0EsTy7C)Y98l^45lJkWkNlq~zw;gOycs zxUK@>o^PhXo%&-Kkop)HWBy+Y~!XqDUMwQMB_L zlzbJoi6MnxaHHD(ALWt-<2#b&yVS;$F%Z}2 zZ%#3o6a!Zi6UD~NXAJs-4&M$`SHZx)*O1@Lw6*iNRM`9ZE=Ij6sKVg3133PmDp$DL$RKM>IbCw4ExqDPhF0oYmi> z0mK002ov JPDHLkV1o2p#~A Date: Sun, 19 Nov 2023 11:54:25 -0700 Subject: [PATCH 03/49] docs: split tile-based-game tutorial into a few chapters --- book/src/SUMMARY.md | 3 ++ book/src/tutorials/tile-based-game/README.md | 30 ------------------- .../create-your-ldtk-project.md | 18 +++++++++++ 3 files changed, 21 insertions(+), 30 deletions(-) create mode 100644 book/src/tutorials/tile-based-game/create-your-ldtk-project.md diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 569baa5c..a1a869da 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -3,6 +3,9 @@ [Introduction](README.md) # Tutorials - [Tile-based Game](tutorials/tile-based-game/README.md) + - [Create your LDtk project](tutorials/tile-based-game/create-your-ldtk-project.md) + - [Spawn your LDtk project in Bevy]() + - [Add gameplay to your project]() - [Platformer]() # Explanation - [Game Logic Integration]() diff --git a/book/src/tutorials/tile-based-game/README.md b/book/src/tutorials/tile-based-game/README.md index 4a849581..af03ce7b 100644 --- a/book/src/tutorials/tile-based-game/README.md +++ b/book/src/tutorials/tile-based-game/README.md @@ -14,33 +14,3 @@ You will also need some simple assets: For these purposes this tutorial will use the `environment/tileset.png` and `spritesheets/player.png` assets respectively from [SunnyLand by Ansimuz](https://ansimuz.itch.io/sunny-land-pixel-game-art), licensed under [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/). However, you will be able to follow this tutorial using any tilesets, so long as they have tiles appropriate for the above purposes. - -## Creating the LDtk project -Open the LDtk app and create a new project. -For this tutorial, name the project `tile-based-game.ldtk`, and save it to your Bevy project's `assets` directory. - -Add your environment/player tilesets to the project, in the Tilesets tab. -Make sure that the source image files for these tilesets are also in your Bevy project's `assets` directory. -Name the tilesets "Environment" and "Player" respectively. -For the SunnyLand assets - the Player tileset needs to have a tile size of 32 and the environment asset a tile size of 16. -![tilesets](tilesets.png) - -Add an IntGrid layer to the project, in the Layers tab. -This layer will be used to define where the collisions are in the level. -Call this layer "Walls", make sure its grid size is 16, and optionally name the grid value 1 "Wall". -Finally, give it an Auto-layer tileset - pointing to the "Environment" tileset. -![wall-layer](wall-layer.png) - -From here, select "EDIT RULES" next to the wall layer's auto-tile tileset. -This is where you will define how LDtk should dynamically render the Walls layer of your levels based of the level's intgrid values. - - - - -## Loading the project into Bevy - -## Gameplay - -## Collisions - -## Level transitions diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md new file mode 100644 index 00000000..9f84ec81 --- /dev/null +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -0,0 +1,18 @@ +# Creating the LDtk project +Open the LDtk app and create a new project. +For this tutorial, name the project `tile-based-game.ldtk`, and save it to your Bevy project's `assets` directory. + +Add your environment/player tilesets to the project, in the Tilesets tab. +Make sure that the source image files for these tilesets are also in your Bevy project's `assets` directory. +Name the tilesets "Environment" and "Player" respectively. +For the SunnyLand assets - the Player tileset needs to have a tile size of 32 and the environment asset a tile size of 16. +![tilesets](tilesets.png) + +Add an IntGrid layer to the project, in the Layers tab. +This layer will be used to define where the collisions are in the level. +Call this layer "Walls", make sure its grid size is 16, and optionally name the grid value 1 "Wall". +Finally, give it an Auto-layer tileset - pointing to the "Environment" tileset. +![wall-layer](wall-layer.png) + +From here, select "EDIT RULES" next to the wall layer's auto-tile tileset. +This is where you will define how LDtk should dynamically render the Walls layer of your levels based of the level's intgrid values. From 7b0294305756a80ebfd0b62b741237945cc594e1 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 19 Nov 2023 13:01:01 -0700 Subject: [PATCH 04/49] docs: define sections in create-your-ldtk-project chapter --- .../tutorials/tile-based-game/create-your-ldtk-project.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index 9f84ec81..e79521cf 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -1,18 +1,25 @@ # Creating the LDtk project + +## Create empty project Open the LDtk app and create a new project. For this tutorial, name the project `tile-based-game.ldtk`, and save it to your Bevy project's `assets` directory. +## Import tilesets Add your environment/player tilesets to the project, in the Tilesets tab. Make sure that the source image files for these tilesets are also in your Bevy project's `assets` directory. Name the tilesets "Environment" and "Player" respectively. For the SunnyLand assets - the Player tileset needs to have a tile size of 32 and the environment asset a tile size of 16. + ![tilesets](tilesets.png) +## Add IntGrid layer for walls Add an IntGrid layer to the project, in the Layers tab. This layer will be used to define where the collisions are in the level. Call this layer "Walls", make sure its grid size is 16, and optionally name the grid value 1 "Wall". Finally, give it an Auto-layer tileset - pointing to the "Environment" tileset. + ![wall-layer](wall-layer.png) +## Define autotiling for walls and backgrounds From here, select "EDIT RULES" next to the wall layer's auto-tile tileset. This is where you will define how LDtk should dynamically render the Walls layer of your levels based of the level's intgrid values. From 8981f4079a4ab284b1bd790c41a27d5b82328d62 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 19 Nov 2023 15:06:35 -0700 Subject: [PATCH 05/49] docs: write autotile setup section of tile-based game example --- .../tile-based-game/all-walls-rule.png | Bin 0 -> 39297 bytes .../tile-based-game/background-rule.png | Bin 0 -> 39586 bytes .../create-your-ldtk-project.md | 53 ++++++++++++++++++ .../horizontal-wall-edge-rule.png | Bin 0 -> 35134 bytes .../vertical-wall-edge-rule.png | Bin 0 -> 36626 bytes .../wall-inner-corner-rule.png | Bin 0 -> 40544 bytes .../wall-outer-corner-rule.png | Bin 0 -> 39155 bytes 7 files changed, 53 insertions(+) create mode 100644 book/src/tutorials/tile-based-game/all-walls-rule.png create mode 100644 book/src/tutorials/tile-based-game/background-rule.png create mode 100644 book/src/tutorials/tile-based-game/horizontal-wall-edge-rule.png create mode 100644 book/src/tutorials/tile-based-game/vertical-wall-edge-rule.png create mode 100644 book/src/tutorials/tile-based-game/wall-inner-corner-rule.png create mode 100644 book/src/tutorials/tile-based-game/wall-outer-corner-rule.png diff --git a/book/src/tutorials/tile-based-game/all-walls-rule.png b/book/src/tutorials/tile-based-game/all-walls-rule.png new file mode 100644 index 0000000000000000000000000000000000000000..b58062ee32f557b2d8f9e4c7a5e8d187b15d360a GIT binary patch literal 39297 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%0D#WgWNFXtEu{=RFmQiFd%AM5bMv-~tMcgq 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 Tckqb`1U}jt`s!tOZA1PKqnPWZ literal 0 HcmV?d00001 diff --git a/book/src/tutorials/tile-based-game/background-rule.png b/book/src/tutorials/tile-based-game/background-rule.png new file mode 100644 index 0000000000000000000000000000000000000000..1df42f9d6ace1e78801016028a94caedfa4bf00e GIT binary patch literal 39586 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�@`&=} z(%x3&rybO#tEwT({ycNp>B`C~TKd{^50|aHf3L5wo$Rc+K(Azf_yT+sftzYxk94et zaN(qbr6+QI?6LZ-IK$jNZjyAasN!%3iH|L;AzYxwzmG8YddXSN$gCfn`nfbMTHtDAqrlVg|>==Z9FkEi1m(7`eR47B?ZHS{fq)J-?q11r;m7dMn^zZnakkIHo>2wT0C zbqIa=Z}5ksxL$&}Xp&$T=lyyTI5dzE0N4i>gN_4%JX=WS(9cyT3Fw!U!6eg49V$QN z;=D#D&AcJMf?w!gKWcF^2mO4U66jZD?O&$Q#)jVgRUA(rJovXB9B8a z6bcwuJpStnaC!njm#xkwh8MhCV_^7Fng`YPKenI>B|H4Jf&e@Rx?8wUF-$fv`y|zEt(}iyQ**Vvd3kjiI7UFV*XAbioyIT#Qn)D0ZIb`D zj5tY8*C1!6R&7qG@kQICR~zuoR_S38QkNKjhL=fR_{C~Q21os4zFpO)BYo_ZPG*@o z*BI1gfy&kId#aLBu+Zp8m&D}2z?Cb!ns0cc;S-TRhPmKv)8UXtWc_2jBgXbJkH1x( zCEqkbCh=&kZN$3kX0C1TytbAl!)-%wjejXtI`ya8T^lrq<$DkTNU$>@G>bj_r>8H& z4v{+hSyZ`9wda)e94yxF869MRc&434)9C468Q#dz{>FLFqaN@V2m{<5?}zO8`cam- z_=Qq6Ja1xw3K~y8sJzZb((bMuuGGA6_*|rJnw1oLT$f3F0{<-Hh`!giq#7$8GpE#W zvdktP6~+BoqQFt64O`4=>;AhXB9>lk2-%tG6osYoyTkNLcrTUZo3Wf@L^DnA1z&HF zZn!7#?d3I0|12EwC=f?hoY)VmY8d=DHew|nf_x{qbEem6az0{DXv~UC>AMud3HTa@ zwb(ZVg=;E9{Qm@u&+Sq>kX{|i3~zJ?+xwmC#6*=sC2ZimkK7@LV4RQ1ZK2RV6Yn1K zGG%LN4HvU|;!_v(*jqoy=dWnyF5k5oQ{e932BgAThZqyhpjDsxr@z8JOomrgQNP&A zw4-g!_@XO!T)I#rPu&sPqsUj+zrVgMk9%tbYw<+>Gc4EJKCXh1-A9UyQ5KWKdzlv- zol$z__>2n-?=A#qYd?f3N;(q5h)JT$5jw-<#F2jX7s5-KAlms?ypLf~mnE)rQcdG8 zEq(p%C;O54#lk`TP?2316H4Bx!j|7JU{Xmq=64h}B+QCnt8jxaZ3x9R_9~g-s_92U zS;6nD4_9{xz)rhPK*+!Y_u~vPX5uR zYecMgULunWPu~5TV1_3(u(sg>u)ldlD90IJh|U?;ku%vSWM!e@82Qq^8vnYE{H6T%^7ntAAx%FYl1p>^ z1w*AB#e}_NWTvzXMj~0EXP`RTUz1ok7-^?kPaCQAC-wkNEes6C`sUDb-3PD!59-f5 Av;Y7A literal 0 HcmV?d00001 diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index e79521cf..3cc3db97 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -23,3 +23,56 @@ Finally, give it an Auto-layer tileset - pointing to the "Environment" tileset. ## Define autotiling for walls and backgrounds From here, select "EDIT RULES" next to the wall layer's auto-tile tileset. This is where you will define how LDtk should dynamically render the Walls layer of your levels based of the level's intgrid values. + +First, define a catch-all rule that will place the background tile if no other rules are matched first. +1. Select "+ GROUP" to add a new empty rule group, and name it Background. +2. On the new group, click "+" to define the first rule. +3. In the top-right of the rule definition - select the tile you want to use as the background. +4. You can set the rule to be "1x1", but since this is a "catch-all" rule, nothing else should be necessary. + +![background-rule](background-rule.png) + +Next, define a rule that will catch any wall tile. +You will be able to define more complex rules on top of this to make walls prettier, but it's good to start with an extremely generic one first. +1. Create another new group, and name it Walls. +2. Click "+" on the Walls group to create its first rule. +3. Select the tile you want to use as a generic wall tile in the top-right. +4. Set the rule to be 1x1, and left-click the rule-pattern to place a wall tile. + +![all-walls-rule](all-walls-rule.png) + +Now you will be able to place walls in your level and they will be automatically rendered using this tile. + +The following rule is optional, and will define the tile used for the edges of walls - specifically horizontal edges. +1. Create a new rule in the Walls group. +2. Select the tile you want to use as the left edges of a wall. +3. Use a 3x3 pattern, and place a wall tile in the center and a negative wall tile on the left (by right clicking the left-center tile). +This will match any wall tiles that don't have a wall tile to their left. +4. On this new rule inside the group, enable the "X" option. +This mirrors the rule in the x-direction, so that it works for the right edges of walls as well. + +![horizontal-wall-edge-rule](horizontal-wall-edge-rule.png) + +You are welcome to add more rules to the walls group with more complex patterns for defining the vertical edges or corners. +This tutorial will not go into painstaking detail about creating these, but their definitions are shown below. +One general recommendation is to order these rules from most-specific to least-specific, so that the rule matcher will resort to the catch-all rules last. + +A vertical wall edge rule - mirrored in the Y direction: + +![vertical-wall-edge-rule](vertical-wall-edge-rule.png) + +An outer corner wall rule - mirrored in the X and Y directions: + +![wall-outer-corner-rule](wall-outer-corner-rule.png) + +An inner corner wall rule - mirrored in the X and Y directions: + +![wall-inner-corner-rule](wall-inner-corner-rule.png) + +Now you can enjoy placing walls in your level and watching LDtk auto-tile them for you! + +![auto-tile-walls](auto-tile-walls.gif) + +## Add Entity layer + +## Create Player LDtk Entity diff --git a/book/src/tutorials/tile-based-game/horizontal-wall-edge-rule.png b/book/src/tutorials/tile-based-game/horizontal-wall-edge-rule.png new file mode 100644 index 0000000000000000000000000000000000000000..6f18a4865e71fa9d803bf9c43c9611128b52015c GIT binary patch literal 35134 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 literal 0 HcmV?d00001 diff --git a/book/src/tutorials/tile-based-game/vertical-wall-edge-rule.png b/book/src/tutorials/tile-based-game/vertical-wall-edge-rule.png new file mode 100644 index 0000000000000000000000000000000000000000..bf65f783ed89fe2265f4f0bb5365dbacf86fee89 GIT binary patch literal 36626 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 P00000NkvXXu0mjfh_@KS literal 0 HcmV?d00001 diff --git a/book/src/tutorials/tile-based-game/wall-inner-corner-rule.png b/book/src/tutorials/tile-based-game/wall-inner-corner-rule.png new file mode 100644 index 0000000000000000000000000000000000000000..9d0ee8e2690f621d4ee7a33b79016148a5b1d2ac GIT binary patch literal 40544 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�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�YtHz~F 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 G%l`odqI8h} literal 0 HcmV?d00001 From effdbfb1dcbc3edc8035fc3c4f3cd57d856a1d7b Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 19 Nov 2023 15:54:02 -0700 Subject: [PATCH 06/49] docs: write Add Entity layer section to tutorial --- .../tile-based-game/auto-tile-walls.png | Bin 0 -> 28628 bytes .../create-your-ldtk-project.md | 18 ++++++++++++++++-- .../tile-based-game/entities-layer.png | Bin 0 -> 70656 bytes .../tutorials/tile-based-game/goal-entity.png | Bin 0 -> 65762 bytes .../tile-based-game/player-entity.png | Bin 0 -> 68852 bytes 5 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 book/src/tutorials/tile-based-game/auto-tile-walls.png create mode 100644 book/src/tutorials/tile-based-game/entities-layer.png create mode 100644 book/src/tutorials/tile-based-game/goal-entity.png create mode 100644 book/src/tutorials/tile-based-game/player-entity.png diff --git a/book/src/tutorials/tile-based-game/auto-tile-walls.png b/book/src/tutorials/tile-based-game/auto-tile-walls.png new file mode 100644 index 0000000000000000000000000000000000000000..57a72d31d109f86dfbe17d4b0eca3da120a46c8d GIT binary patch literal 28628 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 z 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 J_~4oU{{e=~@KOK( literal 0 HcmV?d00001 diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index 3cc3db97..f0eead9b 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -71,8 +71,22 @@ An inner corner wall rule - mirrored in the X and Y directions: Now you can enjoy placing walls in your level and watching LDtk auto-tile them for you! -![auto-tile-walls](auto-tile-walls.gif) +![auto-tile-walls](auto-tile-walls.png) ## Add Entity layer +Add an Entity layer to the project, again, in the Layers tab. +This will be used to place less tiling-oriented game objects, like the player, or the goal. +You do not need to make any modifications to the default entity layer for this tutorial, it should be called Entities and match the grid size of the intgrid layer. -## Create Player LDtk Entity +![entity-layer](entities-layer.png) + +Then, in the Entities tab, add a Player entity. +Be sure to name it "Player" and set its editor visual to use a tile from the Player tileset. +For the SunnyLand assets - you will need to manually set its size to 16x16 so that it fits in a single tile on the grid. + +![player-entity](player-entity.png) + +Lastly, add a Goal entity. +Name it "Goal" and set its editor visual from a tileset as well. + +![goal-entity](goal-entity.png) diff --git a/book/src/tutorials/tile-based-game/entities-layer.png b/book/src/tutorials/tile-based-game/entities-layer.png new file mode 100644 index 0000000000000000000000000000000000000000..d685b2026c24bbea9bd0f5c16ea93c58e7ec124d GIT binary patch literal 70656 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 literal 0 HcmV?d00001 diff --git a/book/src/tutorials/tile-based-game/player-entity.png b/book/src/tutorials/tile-based-game/player-entity.png new file mode 100644 index 0000000000000000000000000000000000000000..e1202d54ee343f9323b1372dbe8efefde0653f97 GIT binary patch literal 68852 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%0AG(4+p# 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 Date: Sun, 19 Nov 2023 16:10:01 -0700 Subject: [PATCH 07/49] docs: add instruction for making the world layout horizontal --- .../tile-based-game/create-your-ldtk-project.md | 4 ++++ .../tutorials/tile-based-game/world-layout.png | Bin 0 -> 29464 bytes 2 files changed, 4 insertions(+) create mode 100644 book/src/tutorials/tile-based-game/world-layout.png diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index f0eead9b..b65905e1 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -4,6 +4,10 @@ Open the LDtk app and create a new project. For this tutorial, name the project `tile-based-game.ldtk`, and save it to your Bevy project's `assets` directory. +In the World tab - set the World layout to Horizontal. + +![world-layout](world-layout.png) + ## Import tilesets Add your environment/player tilesets to the project, in the Tilesets tab. Make sure that the source image files for these tilesets are also in your Bevy project's `assets` directory. diff --git a/book/src/tutorials/tile-based-game/world-layout.png b/book/src/tutorials/tile-based-game/world-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..35472909b4aee162063102ee2e8c3a50bd79fb20 GIT binary patch literal 29464 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˪cJvbKDM90kQe( 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 QKk5>Yl~j_b5;F< Date: Sun, 19 Nov 2023 16:10:17 -0700 Subject: [PATCH 08/49] docs: write Design some levels section of tutorial --- .../tile-based-game/create-your-ldtk-project.md | 7 +++++++ book/src/tutorials/tile-based-game/levels.png | Bin 0 -> 28651 bytes 2 files changed, 7 insertions(+) create mode 100644 book/src/tutorials/tile-based-game/levels.png diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index b65905e1..b2381ede 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -94,3 +94,10 @@ Lastly, add a Goal entity. Name it "Goal" and set its editor visual from a tileset as well. ![goal-entity](goal-entity.png) + +## Design some levels +In the following chapters, you will spawn this project in Bevy and implement gameplay code for it. +The game will be simple - move the player around the grid, navigating the walls, and start the next level once they reach the goal. +With this in mind, design a few levels for this game using the tools you have set up thus far. + +![levels](levels.png) diff --git a/book/src/tutorials/tile-based-game/levels.png b/book/src/tutorials/tile-based-game/levels.png new file mode 100644 index 0000000000000000000000000000000000000000..bc9cd458866762d86e52cbbad51e0bd29d7ff8cd GIT binary patch literal 28651 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 literal 0 HcmV?d00001 From 89f7ee5b1968351a21c56ee9461eaba2dd0344d9 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 19 Nov 2023 16:10:51 -0700 Subject: [PATCH 09/49] docs: add tile-based-game LDtk project to assets --- assets/tile-based-game.ldtk | 1312 +++++++++++++++++++++++++++++++++++ 1 file changed, 1312 insertions(+) create mode 100644 assets/tile-based-game.ldtk diff --git a/assets/tile-based-game.ldtk b/assets/tile-based-game.ldtk new file mode 100644 index 00000000..70ad5f9d --- /dev/null +++ b/assets/tile-based-game.ldtk @@ -0,0 +1,1312 @@ +{ + "__header__": { + "fileType": "LDtk Project JSON", + "app": "LDtk", + "doc": "https://ldtk.io/json", + "schema": "https://ldtk.io/files/JSON_SCHEMA.json", + "appAuthor": "Sebastien 'deepnight' Benard", + "appVersion": "1.4.1", + "url": "https://ldtk.io" + }, + "iid": "96b74480-6280-11ee-9465-71258fcae37f", + "jsonVersion": "1.4.1", + "appBuildId": 471698, + "nextUid": 67, + "identifierStyle": "Capitalize", + "toc": [], + "worldLayout": "LinearHorizontal", + "worldGridWidth": 256, + "worldGridHeight": 256, + "defaultLevelWidth": 256, + "defaultLevelHeight": 256, + "defaultPivotX": 0, + "defaultPivotY": 0, + "defaultGridSize": 16, + "defaultEntityWidth": 16, + "defaultEntityHeight": 16, + "bgColor": "#40465B", + "defaultLevelBgColor": "#696A79", + "minifyJson": false, + "externalLevels": false, + "exportTiled": false, + "simplifiedExport": false, + "imageExportMode": "None", + "exportLevelBg": true, + "pngFilePattern": null, + "backupOnSave": false, + "backupLimit": 10, + "backupRelPath": null, + "levelNamePattern": "Level_%idx", + "tutorialDesc": null, + "customCommands": [], + "flags": [], + "defs": { "layers": [ + { + "__type": "Entities", + "identifier": "Entities", + "type": "Entities", + "uid": 60, + "doc": null, + "uiColor": null, + "gridSize": 16, + "guideGridWid": 0, + "guideGridHei": 0, + "displayOpacity": 1, + "inactiveOpacity": 0.6, + "hideInList": false, + "hideFieldsWhenInactive": true, + "canSelectWhenInactive": true, + "renderInWorldView": true, + "pxOffsetX": 0, + "pxOffsetY": 0, + "parallaxFactorX": 0, + "parallaxFactorY": 0, + "parallaxScaling": true, + "requiredTags": [], + "excludedTags": [], + "intGridValues": [], + "intGridValuesGroups": [], + "autoRuleGroups": [], + "autoSourceLayerDefUid": null, + "tilesetDefUid": null, + "tilePivotX": 0, + "tilePivotY": 0 + }, + { + "__type": "IntGrid", + "identifier": "Walls", + "type": "IntGrid", + "uid": 7, + "doc": null, + "uiColor": null, + "gridSize": 16, + "guideGridWid": 0, + "guideGridHei": 0, + "displayOpacity": 1, + "inactiveOpacity": 1, + "hideInList": false, + "hideFieldsWhenInactive": false, + "canSelectWhenInactive": true, + "renderInWorldView": true, + "pxOffsetX": 0, + "pxOffsetY": 0, + "parallaxFactorX": 0, + "parallaxFactorY": 0, + "parallaxScaling": true, + "requiredTags": [], + "excludedTags": [], + "intGridValues": [{ "value": 1, "identifier": "Wall", "color": "#000000", "tile": null, "groupUid": 0 }], + "intGridValuesGroups": [], + "autoRuleGroups": [ + { "uid": 53, "name": "Walls", "color": null, "icon": null, "active": true, "isOptional": false, "rules": [ + { + "uid": 59, + "active": true, + "size": 3, + "tileIds": [437], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [-1,1,0,1,1,0,0,0,0], + "flipX": true, + "flipY": true, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 6005184, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 58, + "active": true, + "size": 3, + "tileIds": [152], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,-1,1,0,0,0,0], + "flipX": true, + "flipY": true, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 937555, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 57, + "active": true, + "size": 3, + "tileIds": [154], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,0,1,0,0,0,0], + "flipX": false, + "flipY": true, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 1506794, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 56, + "active": true, + "size": 3, + "tileIds": [198], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,-1,1,0,0,0,0], + "flipX": true, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 8366343, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 54, + "active": true, + "size": 1, + "tileIds": [200], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 8230281, + "perlinScale": 0.2, + "perlinOctaves": 2 + } + ], "usesWizard": false }, + { "uid": 51, "name": "Background", "color": null, "icon": null, "active": true, "isOptional": false, "rules": [ + { + "uid": 52, + "active": true, + "size": 1, + "tileIds": [411], + "alpha": 1, + "chance": 1, + "breakOnMatch": true, + "pattern": [0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "tileXOffset": 0, + "tileYOffset": 0, + "tileRandomXMin": 0, + "tileRandomXMax": 0, + "tileRandomYMin": 0, + "tileRandomYMax": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 6868818, + "perlinScale": 0.2, + "perlinOctaves": 2 + } + ], "usesWizard": false } + ], + "autoSourceLayerDefUid": null, + "tilesetDefUid": 4, + "tilePivotX": 0, + "tilePivotY": 0 + } + ], "entities": [ + { + "identifier": "Player", + "uid": 62, + "tags": [], + "exportToToc": false, + "doc": null, + "width": 16, + "height": 16, + "resizableX": false, + "resizableY": false, + "minWidth": null, + "maxWidth": null, + "minHeight": null, + "maxHeight": null, + "keepAspectRatio": false, + "tileOpacity": 1, + "fillOpacity": 0.08, + "lineOpacity": 0, + "hollow": false, + "color": "#BE4A2F", + "renderMode": "Tile", + "showName": true, + "tilesetId": 3, + "tileRenderMode": "FitInside", + "tileRect": { "tilesetUid": 3, "x": 0, "y": 0, "w": 32, "h": 32 }, + "uiTileRect": null, + "nineSliceBorders": [], + "maxCount": 0, + "limitScope": "PerLevel", + "limitBehavior": "MoveLastOne", + "pivotX": 0, + "pivotY": 0, + "fieldDefs": [] + }, + { + "identifier": "Goal", + "uid": 64, + "tags": [], + "exportToToc": false, + "doc": null, + "width": 16, + "height": 16, + "resizableX": false, + "resizableY": false, + "minWidth": null, + "maxWidth": null, + "minHeight": null, + "maxHeight": null, + "keepAspectRatio": false, + "tileOpacity": 1, + "fillOpacity": 0.08, + "lineOpacity": 0, + "hollow": false, + "color": "#D77643", + "renderMode": "Tile", + "showName": true, + "tilesetId": 4, + "tileRenderMode": "FitInside", + "tileRect": { "tilesetUid": 4, "x": 256, "y": 304, "w": 16, "h": 16 }, + "uiTileRect": null, + "nineSliceBorders": [], + "maxCount": 0, + "limitScope": "PerLevel", + "limitBehavior": "MoveLastOne", + "pivotX": 0, + "pivotY": 0, + "fieldDefs": [] + } + ], "tilesets": [ + { + "__cWid": 7, + "__cHei": 6, + "identifier": "Player", + "uid": 3, + "relPath": "atlas/SunnyLand-player.png", + "embedAtlas": null, + "pxWid": 198, + "pxHei": 192, + "tileGridSize": 32, + "spacing": 0, + "padding": 0, + "tags": [], + "tagsSourceEnumUid": null, + "enumTags": [], + "customData": [], + "savedSelections": [], + "cachedPixelData": { + "opaqueTiles": "000000100000010000001000000100000010000001", + "averageColors": "49654965496549650000000000004a65596549654955495449650000585459545854595400000000000049654965496500000000000000005a775a87000000000000000000004965596500000000000000000000" + } + }, + { + "__cWid": 23, + "__cHei": 21, + "identifier": "Environment", + "uid": 4, + "relPath": "atlas/SunnyLand_by_Ansimuz-extended.png", + "embedAtlas": null, + "pxWid": 368, + "pxHei": 336, + "tileGridSize": 16, + "spacing": 0, + "padding": 0, + "tags": [], + "tagsSourceEnumUid": null, + "enumTags": [], + "customData": [], + "savedSelections": [], + "cachedPixelData": { + "opaqueTiles": "101010100010110110000000000000000001101101101110101010001000000000000000000000000010100000001010101000000101000101000000000000000000000000000010100000001010100000000000000000000000000000000000000000101010000010100100000000000000000000000000000010101010000000000000000000000100000000101010100000000000000001010100000100000001010000100000000000000010100000010011011100000101000000100110000000011011000011101101010100000000000000000000000001011000011101110100000000110000111011100000000", + "averageColors": "f9850000f9850000f9850000fa65000069557a65f8450000f644f9650000f965f644000049b5c9950000c99549b5000000000000000000000000000000000000000000000000f955f7450000f745f9550000f865f7450000f745f865f9550000f6450000f9550000f845695500006955f8450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8550000f85500000000000079a5000079a50000f9550000f8550000f9550000f8457a6569550000ab8500000000f8550000f855000000000000f7550000f75500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077a5000078b50000f8450000f7450000947400009474000000000000fa650000f9550000fa6500002000000000000000459534953595000000000000000000000000000000000000000000000000000000000000000020006000000000000000000000000000000000000000000000000000000088550000f9550000f6450000f9550000900000000000a955f8450000f845a9550000f85500000000ca65b9650000000000000000000000000000000000000000000000000000a9550000a9550000000000000000000000000000000000000000fa650000f9550000fa650000f4880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f47700000000000000000000000000000000f7450000f8550000f8550000f8550000000000000000000000000000000000000000000000000000000000000000f3440000f3450000f534000000000000e9950000f9950000e9950000000000000000b855f5340000f534b855000000000000f334000000000000000000000000000000000000000000000000000000000000f7440000f744000000000000000000000000f43500000000f435f4350000f334f436f3350000000000000000b955f5340000f534b95500000000000000000000f34500000000f335f33500000000000000000000000000000000f744f3340000f334f7440000000000000000f344f345f3440000f335f3350000f5340000f4350000f3340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa650000f955f9550000000000000000f334f335f3450000f345f335f3340000f75500000000000000000000000000000000f955f9550000000000000000f335f344f3440000f344f344f33500000000000000000000000000000000" + } + } + ], "enums": [], "externalEnums": [], "levelFields": [] }, + "levels": [ + { + "identifier": "Level_0", + "iid": "96b7b9b0-6280-11ee-9465-8f86ab88cf6c", + "uid": 0, + "worldX": -1, + "worldY": -1, + "worldDepth": 0, + "pxWid": 272, + "pxHei": 176, + "__bgColor": "#696A79", + "bgColor": null, + "useAutoIdentifier": true, + "bgRelPath": null, + "bgPos": null, + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#ADADB5", + "__bgPos": null, + "externalRelPath": null, + "fieldInstances": [], + "layerInstances": [ + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 17, + "__cHei": 11, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "377fd470-6280-11ee-9d82-d17a3e9ca1d9", + "levelId": 0, + "layerDefUid": 60, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 151756, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Player", + "__grid": [5,5], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 3, "x": 0, "y": 0, "w": 32, "h": 32 }, + "__smartColor": "#BE4A2F", + "__worldX": 80, + "__worldY": 80, + "iid": "034c9520-6280-11ee-9d82-c3b80e0b470c", + "width": 16, + "height": 16, + "defUid": 62, + "px": [80,80], + "fieldInstances": [] + }, + { + "__identifier": "Goal", + "__grid": [11,5], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 4, "x": 256, "y": 304, "w": 16, "h": 16 }, + "__smartColor": "#D77643", + "__worldX": 176, + "__worldY": 80, + "iid": "041f7580-6280-11ee-9d82-4bf8c045fa4e", + "width": 16, + "height": 16, + "defUid": 64, + "px": [176,80], + "fieldInstances": [] + } + ] + }, + { + "__identifier": "Walls", + "__type": "IntGrid", + "__cWid": 17, + "__cHei": 11, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 4, + "__tilesetRelPath": "atlas/SunnyLand_by_Ansimuz-extended.png", + "iid": "83fc8a20-6280-11ee-9465-6f4cc0b0fbf3", + "levelId": 0, + "layerDefUid": 7, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [ + 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,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,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1, + 1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1, + 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,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,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 + ], + "autoLayerTiles": [ + { "px": [48,48], "src": [320,272], "f": 0, "t": 411, "d": [52,54], "a": 1 }, + { "px": [64,48], "src": [320,272], "f": 0, "t": 411, "d": [52,55], "a": 1 }, + { "px": [80,48], "src": [320,272], "f": 0, "t": 411, "d": [52,56], "a": 1 }, + { "px": [96,48], "src": [320,272], "f": 0, "t": 411, "d": [52,57], "a": 1 }, + { "px": [112,48], "src": [320,272], "f": 0, "t": 411, "d": [52,58], "a": 1 }, + { "px": [128,48], "src": [320,272], "f": 0, "t": 411, "d": [52,59], "a": 1 }, + { "px": [144,48], "src": [320,272], "f": 0, "t": 411, "d": [52,60], "a": 1 }, + { "px": [160,48], "src": [320,272], "f": 0, "t": 411, "d": [52,61], "a": 1 }, + { "px": [176,48], "src": [320,272], "f": 0, "t": 411, "d": [52,62], "a": 1 }, + { "px": [192,48], "src": [320,272], "f": 0, "t": 411, "d": [52,63], "a": 1 }, + { "px": [208,48], "src": [320,272], "f": 0, "t": 411, "d": [52,64], "a": 1 }, + { "px": [48,64], "src": [320,272], "f": 0, "t": 411, "d": [52,71], "a": 1 }, + { "px": [64,64], "src": [320,272], "f": 0, "t": 411, "d": [52,72], "a": 1 }, + { "px": [80,64], "src": [320,272], "f": 0, "t": 411, "d": [52,73], "a": 1 }, + { "px": [96,64], "src": [320,272], "f": 0, "t": 411, "d": [52,74], "a": 1 }, + { "px": [112,64], "src": [320,272], "f": 0, "t": 411, "d": [52,75], "a": 1 }, + { "px": [128,64], "src": [320,272], "f": 0, "t": 411, "d": [52,76], "a": 1 }, + { "px": [144,64], "src": [320,272], "f": 0, "t": 411, "d": [52,77], "a": 1 }, + { "px": [160,64], "src": [320,272], "f": 0, "t": 411, "d": [52,78], "a": 1 }, + { "px": [176,64], "src": [320,272], "f": 0, "t": 411, "d": [52,79], "a": 1 }, + { "px": [192,64], "src": [320,272], "f": 0, "t": 411, "d": [52,80], "a": 1 }, + { "px": [208,64], "src": [320,272], "f": 0, "t": 411, "d": [52,81], "a": 1 }, + { "px": [48,80], "src": [320,272], "f": 0, "t": 411, "d": [52,88], "a": 1 }, + { "px": [64,80], "src": [320,272], "f": 0, "t": 411, "d": [52,89], "a": 1 }, + { "px": [80,80], "src": [320,272], "f": 0, "t": 411, "d": [52,90], "a": 1 }, + { "px": [96,80], "src": [320,272], "f": 0, "t": 411, "d": [52,91], "a": 1 }, + { "px": [112,80], "src": [320,272], "f": 0, "t": 411, "d": [52,92], "a": 1 }, + { "px": [128,80], "src": [320,272], "f": 0, "t": 411, "d": [52,93], "a": 1 }, + { "px": [144,80], "src": [320,272], "f": 0, "t": 411, "d": [52,94], "a": 1 }, + { "px": [160,80], "src": [320,272], "f": 0, "t": 411, "d": [52,95], "a": 1 }, + { "px": [176,80], "src": [320,272], "f": 0, "t": 411, "d": [52,96], "a": 1 }, + { "px": [192,80], "src": [320,272], "f": 0, "t": 411, "d": [52,97], "a": 1 }, + { "px": [208,80], "src": [320,272], "f": 0, "t": 411, "d": [52,98], "a": 1 }, + { "px": [48,96], "src": [320,272], "f": 0, "t": 411, "d": [52,105], "a": 1 }, + { "px": [64,96], "src": [320,272], "f": 0, "t": 411, "d": [52,106], "a": 1 }, + { "px": [80,96], "src": [320,272], "f": 0, "t": 411, "d": [52,107], "a": 1 }, + { "px": [96,96], "src": [320,272], "f": 0, "t": 411, "d": [52,108], "a": 1 }, + { "px": [112,96], "src": [320,272], "f": 0, "t": 411, "d": [52,109], "a": 1 }, + { "px": [128,96], "src": [320,272], "f": 0, "t": 411, "d": [52,110], "a": 1 }, + { "px": [144,96], "src": [320,272], "f": 0, "t": 411, "d": [52,111], "a": 1 }, + { "px": [160,96], "src": [320,272], "f": 0, "t": 411, "d": [52,112], "a": 1 }, + { "px": [176,96], "src": [320,272], "f": 0, "t": 411, "d": [52,113], "a": 1 }, + { "px": [192,96], "src": [320,272], "f": 0, "t": 411, "d": [52,114], "a": 1 }, + { "px": [208,96], "src": [320,272], "f": 0, "t": 411, "d": [52,115], "a": 1 }, + { "px": [48,112], "src": [320,272], "f": 0, "t": 411, "d": [52,122], "a": 1 }, + { "px": [64,112], "src": [320,272], "f": 0, "t": 411, "d": [52,123], "a": 1 }, + { "px": [80,112], "src": [320,272], "f": 0, "t": 411, "d": [52,124], "a": 1 }, + { "px": [96,112], "src": [320,272], "f": 0, "t": 411, "d": [52,125], "a": 1 }, + { "px": [112,112], "src": [320,272], "f": 0, "t": 411, "d": [52,126], "a": 1 }, + { "px": [128,112], "src": [320,272], "f": 0, "t": 411, "d": [52,127], "a": 1 }, + { "px": [144,112], "src": [320,272], "f": 0, "t": 411, "d": [52,128], "a": 1 }, + { "px": [160,112], "src": [320,272], "f": 0, "t": 411, "d": [52,129], "a": 1 }, + { "px": [176,112], "src": [320,272], "f": 0, "t": 411, "d": [52,130], "a": 1 }, + { "px": [192,112], "src": [320,272], "f": 0, "t": 411, "d": [52,131], "a": 1 }, + { "px": [208,112], "src": [320,272], "f": 0, "t": 411, "d": [52,132], "a": 1 }, + { "px": [0,0], "src": [256,128], "f": 0, "t": 200, "d": [54,0], "a": 1 }, + { "px": [16,0], "src": [256,128], "f": 0, "t": 200, "d": [54,1], "a": 1 }, + { "px": [32,0], "src": [256,128], "f": 0, "t": 200, "d": [54,2], "a": 1 }, + { "px": [48,0], "src": [256,128], "f": 0, "t": 200, "d": [54,3], "a": 1 }, + { "px": [64,0], "src": [256,128], "f": 0, "t": 200, "d": [54,4], "a": 1 }, + { "px": [80,0], "src": [256,128], "f": 0, "t": 200, "d": [54,5], "a": 1 }, + { "px": [96,0], "src": [256,128], "f": 0, "t": 200, "d": [54,6], "a": 1 }, + { "px": [112,0], "src": [256,128], "f": 0, "t": 200, "d": [54,7], "a": 1 }, + { "px": [128,0], "src": [256,128], "f": 0, "t": 200, "d": [54,8], "a": 1 }, + { "px": [144,0], "src": [256,128], "f": 0, "t": 200, "d": [54,9], "a": 1 }, + { "px": [160,0], "src": [256,128], "f": 0, "t": 200, "d": [54,10], "a": 1 }, + { "px": [176,0], "src": [256,128], "f": 0, "t": 200, "d": [54,11], "a": 1 }, + { "px": [192,0], "src": [256,128], "f": 0, "t": 200, "d": [54,12], "a": 1 }, + { "px": [208,0], "src": [256,128], "f": 0, "t": 200, "d": [54,13], "a": 1 }, + { "px": [224,0], "src": [256,128], "f": 0, "t": 200, "d": [54,14], "a": 1 }, + { "px": [240,0], "src": [256,128], "f": 0, "t": 200, "d": [54,15], "a": 1 }, + { "px": [256,0], "src": [256,128], "f": 0, "t": 200, "d": [54,16], "a": 1 }, + { "px": [0,16], "src": [256,128], "f": 0, "t": 200, "d": [54,17], "a": 1 }, + { "px": [16,16], "src": [256,128], "f": 0, "t": 200, "d": [54,18], "a": 1 }, + { "px": [32,16], "src": [256,128], "f": 0, "t": 200, "d": [54,19], "a": 1 }, + { "px": [48,16], "src": [256,128], "f": 0, "t": 200, "d": [54,20], "a": 1 }, + { "px": [64,16], "src": [256,128], "f": 0, "t": 200, "d": [54,21], "a": 1 }, + { "px": [80,16], "src": [256,128], "f": 0, "t": 200, "d": [54,22], "a": 1 }, + { "px": [96,16], "src": [256,128], "f": 0, "t": 200, "d": [54,23], "a": 1 }, + { "px": [112,16], "src": [256,128], "f": 0, "t": 200, "d": [54,24], "a": 1 }, + { "px": [128,16], "src": [256,128], "f": 0, "t": 200, "d": [54,25], "a": 1 }, + { "px": [144,16], "src": [256,128], "f": 0, "t": 200, "d": [54,26], "a": 1 }, + { "px": [160,16], "src": [256,128], "f": 0, "t": 200, "d": [54,27], "a": 1 }, + { "px": [176,16], "src": [256,128], "f": 0, "t": 200, "d": [54,28], "a": 1 }, + { "px": [192,16], "src": [256,128], "f": 0, "t": 200, "d": [54,29], "a": 1 }, + { "px": [208,16], "src": [256,128], "f": 0, "t": 200, "d": [54,30], "a": 1 }, + { "px": [224,16], "src": [256,128], "f": 0, "t": 200, "d": [54,31], "a": 1 }, + { "px": [240,16], "src": [256,128], "f": 0, "t": 200, "d": [54,32], "a": 1 }, + { "px": [256,16], "src": [256,128], "f": 0, "t": 200, "d": [54,33], "a": 1 }, + { "px": [0,32], "src": [256,128], "f": 0, "t": 200, "d": [54,34], "a": 1 }, + { "px": [16,32], "src": [256,128], "f": 0, "t": 200, "d": [54,35], "a": 1 }, + { "px": [240,32], "src": [256,128], "f": 0, "t": 200, "d": [54,49], "a": 1 }, + { "px": [256,32], "src": [256,128], "f": 0, "t": 200, "d": [54,50], "a": 1 }, + { "px": [0,48], "src": [256,128], "f": 0, "t": 200, "d": [54,51], "a": 1 }, + { "px": [16,48], "src": [256,128], "f": 0, "t": 200, "d": [54,52], "a": 1 }, + { "px": [240,48], "src": [256,128], "f": 0, "t": 200, "d": [54,66], "a": 1 }, + { "px": [256,48], "src": [256,128], "f": 0, "t": 200, "d": [54,67], "a": 1 }, + { "px": [0,64], "src": [256,128], "f": 0, "t": 200, "d": [54,68], "a": 1 }, + { "px": [16,64], "src": [256,128], "f": 0, "t": 200, "d": [54,69], "a": 1 }, + { "px": [240,64], "src": [256,128], "f": 0, "t": 200, "d": [54,83], "a": 1 }, + { "px": [256,64], "src": [256,128], "f": 0, "t": 200, "d": [54,84], "a": 1 }, + { "px": [0,80], "src": [256,128], "f": 0, "t": 200, "d": [54,85], "a": 1 }, + { "px": [16,80], "src": [256,128], "f": 0, "t": 200, "d": [54,86], "a": 1 }, + { "px": [240,80], "src": [256,128], "f": 0, "t": 200, "d": [54,100], "a": 1 }, + { "px": [256,80], "src": [256,128], "f": 0, "t": 200, "d": [54,101], "a": 1 }, + { "px": [0,96], "src": [256,128], "f": 0, "t": 200, "d": [54,102], "a": 1 }, + { "px": [16,96], "src": [256,128], "f": 0, "t": 200, "d": [54,103], "a": 1 }, + { "px": [240,96], "src": [256,128], "f": 0, "t": 200, "d": [54,117], "a": 1 }, + { "px": [256,96], "src": [256,128], "f": 0, "t": 200, "d": [54,118], "a": 1 }, + { "px": [0,112], "src": [256,128], "f": 0, "t": 200, "d": [54,119], "a": 1 }, + { "px": [16,112], "src": [256,128], "f": 0, "t": 200, "d": [54,120], "a": 1 }, + { "px": [240,112], "src": [256,128], "f": 0, "t": 200, "d": [54,134], "a": 1 }, + { "px": [256,112], "src": [256,128], "f": 0, "t": 200, "d": [54,135], "a": 1 }, + { "px": [0,128], "src": [256,128], "f": 0, "t": 200, "d": [54,136], "a": 1 }, + { "px": [16,128], "src": [256,128], "f": 0, "t": 200, "d": [54,137], "a": 1 }, + { "px": [240,128], "src": [256,128], "f": 0, "t": 200, "d": [54,151], "a": 1 }, + { "px": [256,128], "src": [256,128], "f": 0, "t": 200, "d": [54,152], "a": 1 }, + { "px": [0,144], "src": [256,128], "f": 0, "t": 200, "d": [54,153], "a": 1 }, + { "px": [16,144], "src": [256,128], "f": 0, "t": 200, "d": [54,154], "a": 1 }, + { "px": [32,144], "src": [256,128], "f": 0, "t": 200, "d": [54,155], "a": 1 }, + { "px": [48,144], "src": [256,128], "f": 0, "t": 200, "d": [54,156], "a": 1 }, + { "px": [64,144], "src": [256,128], "f": 0, "t": 200, "d": [54,157], "a": 1 }, + { "px": [80,144], "src": [256,128], "f": 0, "t": 200, "d": [54,158], "a": 1 }, + { "px": [96,144], "src": [256,128], "f": 0, "t": 200, "d": [54,159], "a": 1 }, + { "px": [112,144], "src": [256,128], "f": 0, "t": 200, "d": [54,160], "a": 1 }, + { "px": [128,144], "src": [256,128], "f": 0, "t": 200, "d": [54,161], "a": 1 }, + { "px": [144,144], "src": [256,128], "f": 0, "t": 200, "d": [54,162], "a": 1 }, + { "px": [160,144], "src": [256,128], "f": 0, "t": 200, "d": [54,163], "a": 1 }, + { "px": [176,144], "src": [256,128], "f": 0, "t": 200, "d": [54,164], "a": 1 }, + { "px": [192,144], "src": [256,128], "f": 0, "t": 200, "d": [54,165], "a": 1 }, + { "px": [208,144], "src": [256,128], "f": 0, "t": 200, "d": [54,166], "a": 1 }, + { "px": [224,144], "src": [256,128], "f": 0, "t": 200, "d": [54,167], "a": 1 }, + { "px": [240,144], "src": [256,128], "f": 0, "t": 200, "d": [54,168], "a": 1 }, + { "px": [256,144], "src": [256,128], "f": 0, "t": 200, "d": [54,169], "a": 1 }, + { "px": [0,160], "src": [256,128], "f": 0, "t": 200, "d": [54,170], "a": 1 }, + { "px": [16,160], "src": [256,128], "f": 0, "t": 200, "d": [54,171], "a": 1 }, + { "px": [32,160], "src": [256,128], "f": 0, "t": 200, "d": [54,172], "a": 1 }, + { "px": [48,160], "src": [256,128], "f": 0, "t": 200, "d": [54,173], "a": 1 }, + { "px": [64,160], "src": [256,128], "f": 0, "t": 200, "d": [54,174], "a": 1 }, + { "px": [80,160], "src": [256,128], "f": 0, "t": 200, "d": [54,175], "a": 1 }, + { "px": [96,160], "src": [256,128], "f": 0, "t": 200, "d": [54,176], "a": 1 }, + { "px": [112,160], "src": [256,128], "f": 0, "t": 200, "d": [54,177], "a": 1 }, + { "px": [128,160], "src": [256,128], "f": 0, "t": 200, "d": [54,178], "a": 1 }, + { "px": [144,160], "src": [256,128], "f": 0, "t": 200, "d": [54,179], "a": 1 }, + { "px": [160,160], "src": [256,128], "f": 0, "t": 200, "d": [54,180], "a": 1 }, + { "px": [176,160], "src": [256,128], "f": 0, "t": 200, "d": [54,181], "a": 1 }, + { "px": [192,160], "src": [256,128], "f": 0, "t": 200, "d": [54,182], "a": 1 }, + { "px": [208,160], "src": [256,128], "f": 0, "t": 200, "d": [54,183], "a": 1 }, + { "px": [224,160], "src": [256,128], "f": 0, "t": 200, "d": [54,184], "a": 1 }, + { "px": [240,160], "src": [256,128], "f": 0, "t": 200, "d": [54,185], "a": 1 }, + { "px": [256,160], "src": [256,128], "f": 0, "t": 200, "d": [54,186], "a": 1 }, + { "px": [32,48], "src": [224,128], "f": 1, "t": 198, "d": [56,53], "a": 1 }, + { "px": [224,48], "src": [224,128], "f": 0, "t": 198, "d": [56,65], "a": 1 }, + { "px": [32,64], "src": [224,128], "f": 1, "t": 198, "d": [56,70], "a": 1 }, + { "px": [224,64], "src": [224,128], "f": 0, "t": 198, "d": [56,82], "a": 1 }, + { "px": [32,80], "src": [224,128], "f": 1, "t": 198, "d": [56,87], "a": 1 }, + { "px": [224,80], "src": [224,128], "f": 0, "t": 198, "d": [56,99], "a": 1 }, + { "px": [32,96], "src": [224,128], "f": 1, "t": 198, "d": [56,104], "a": 1 }, + { "px": [224,96], "src": [224,128], "f": 0, "t": 198, "d": [56,116], "a": 1 }, + { "px": [32,112], "src": [224,128], "f": 1, "t": 198, "d": [56,121], "a": 1 }, + { "px": [224,112], "src": [224,128], "f": 0, "t": 198, "d": [56,133], "a": 1 }, + { "px": [48,32], "src": [256,96], "f": 2, "t": 154, "d": [57,37], "a": 1 }, + { "px": [64,32], "src": [256,96], "f": 2, "t": 154, "d": [57,38], "a": 1 }, + { "px": [80,32], "src": [256,96], "f": 2, "t": 154, "d": [57,39], "a": 1 }, + { "px": [96,32], "src": [256,96], "f": 2, "t": 154, "d": [57,40], "a": 1 }, + { "px": [112,32], "src": [256,96], "f": 2, "t": 154, "d": [57,41], "a": 1 }, + { "px": [128,32], "src": [256,96], "f": 2, "t": 154, "d": [57,42], "a": 1 }, + { "px": [144,32], "src": [256,96], "f": 2, "t": 154, "d": [57,43], "a": 1 }, + { "px": [160,32], "src": [256,96], "f": 2, "t": 154, "d": [57,44], "a": 1 }, + { "px": [176,32], "src": [256,96], "f": 2, "t": 154, "d": [57,45], "a": 1 }, + { "px": [192,32], "src": [256,96], "f": 2, "t": 154, "d": [57,46], "a": 1 }, + { "px": [208,32], "src": [256,96], "f": 2, "t": 154, "d": [57,47], "a": 1 }, + { "px": [48,128], "src": [256,96], "f": 0, "t": 154, "d": [57,139], "a": 1 }, + { "px": [64,128], "src": [256,96], "f": 0, "t": 154, "d": [57,140], "a": 1 }, + { "px": [80,128], "src": [256,96], "f": 0, "t": 154, "d": [57,141], "a": 1 }, + { "px": [96,128], "src": [256,96], "f": 0, "t": 154, "d": [57,142], "a": 1 }, + { "px": [112,128], "src": [256,96], "f": 0, "t": 154, "d": [57,143], "a": 1 }, + { "px": [128,128], "src": [256,96], "f": 0, "t": 154, "d": [57,144], "a": 1 }, + { "px": [144,128], "src": [256,96], "f": 0, "t": 154, "d": [57,145], "a": 1 }, + { "px": [160,128], "src": [256,96], "f": 0, "t": 154, "d": [57,146], "a": 1 }, + { "px": [176,128], "src": [256,96], "f": 0, "t": 154, "d": [57,147], "a": 1 }, + { "px": [192,128], "src": [256,96], "f": 0, "t": 154, "d": [57,148], "a": 1 }, + { "px": [208,128], "src": [256,96], "f": 0, "t": 154, "d": [57,149], "a": 1 }, + { "px": [32,32], "src": [0,304], "f": 3, "t": 437, "d": [59,36], "a": 1 }, + { "px": [224,32], "src": [0,304], "f": 2, "t": 437, "d": [59,48], "a": 1 }, + { "px": [32,128], "src": [0,304], "f": 1, "t": 437, "d": [59,138], "a": 1 }, + { "px": [224,128], "src": [0,304], "f": 0, "t": 437, "d": [59,150], "a": 1 } + ], + "seed": 8131641, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + } + ], + "__neighbours": [] + }, + { + "identifier": "Level_1", + "iid": "d256bfd0-6280-11ee-9d82-b11687712c4d", + "uid": 65, + "worldX": -1, + "worldY": -1, + "worldDepth": 0, + "pxWid": 144, + "pxHei": 128, + "__bgColor": "#696A79", + "bgColor": null, + "useAutoIdentifier": true, + "bgRelPath": null, + "bgPos": null, + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#ADADB5", + "__bgPos": null, + "externalRelPath": null, + "fieldInstances": [], + "layerInstances": [ + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 9, + "__cHei": 8, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "d256bfd1-6280-11ee-9d82-339860f57293", + "levelId": 65, + "layerDefUid": 60, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 3799793, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Player", + "__grid": [4,4], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 3, "x": 0, "y": 0, "w": 32, "h": 32 }, + "__smartColor": "#BE4A2F", + "__worldX": 384, + "__worldY": 64, + "iid": "2e682060-6280-11ee-9d82-69b5a3382d99", + "width": 16, + "height": 16, + "defUid": 62, + "px": [64,64], + "fieldInstances": [] + }, + { + "__identifier": "Goal", + "__grid": [8,7], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 4, "x": 256, "y": 304, "w": 16, "h": 16 }, + "__smartColor": "#D77643", + "__worldX": 448, + "__worldY": 112, + "iid": "2f8b43a0-6280-11ee-9d82-b9d9109a7c7b", + "width": 16, + "height": 16, + "defUid": 64, + "px": [128,112], + "fieldInstances": [] + } + ] + }, + { + "__identifier": "Walls", + "__type": "IntGrid", + "__cWid": 9, + "__cHei": 8, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 4, + "__tilesetRelPath": "atlas/SunnyLand_by_Ansimuz-extended.png", + "iid": "d256bfd2-6280-11ee-9d82-77c0a528b632", + "levelId": 65, + "layerDefUid": 7, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + "autoLayerTiles": [ + { "px": [0,0], "src": [320,272], "f": 0, "t": 411, "d": [52,0], "a": 1 }, + { "px": [16,0], "src": [320,272], "f": 0, "t": 411, "d": [52,1], "a": 1 }, + { "px": [32,0], "src": [320,272], "f": 0, "t": 411, "d": [52,2], "a": 1 }, + { "px": [48,0], "src": [320,272], "f": 0, "t": 411, "d": [52,3], "a": 1 }, + { "px": [64,0], "src": [320,272], "f": 0, "t": 411, "d": [52,4], "a": 1 }, + { "px": [80,0], "src": [320,272], "f": 0, "t": 411, "d": [52,5], "a": 1 }, + { "px": [96,0], "src": [320,272], "f": 0, "t": 411, "d": [52,6], "a": 1 }, + { "px": [112,0], "src": [320,272], "f": 0, "t": 411, "d": [52,7], "a": 1 }, + { "px": [128,0], "src": [320,272], "f": 0, "t": 411, "d": [52,8], "a": 1 }, + { "px": [0,16], "src": [320,272], "f": 0, "t": 411, "d": [52,9], "a": 1 }, + { "px": [128,16], "src": [320,272], "f": 0, "t": 411, "d": [52,17], "a": 1 }, + { "px": [0,32], "src": [320,272], "f": 0, "t": 411, "d": [52,18], "a": 1 }, + { "px": [32,32], "src": [320,272], "f": 0, "t": 411, "d": [52,20], "a": 1 }, + { "px": [48,32], "src": [320,272], "f": 0, "t": 411, "d": [52,21], "a": 1 }, + { "px": [64,32], "src": [320,272], "f": 0, "t": 411, "d": [52,22], "a": 1 }, + { "px": [80,32], "src": [320,272], "f": 0, "t": 411, "d": [52,23], "a": 1 }, + { "px": [96,32], "src": [320,272], "f": 0, "t": 411, "d": [52,24], "a": 1 }, + { "px": [128,32], "src": [320,272], "f": 0, "t": 411, "d": [52,26], "a": 1 }, + { "px": [0,48], "src": [320,272], "f": 0, "t": 411, "d": [52,27], "a": 1 }, + { "px": [32,48], "src": [320,272], "f": 0, "t": 411, "d": [52,29], "a": 1 }, + { "px": [96,48], "src": [320,272], "f": 0, "t": 411, "d": [52,33], "a": 1 }, + { "px": [128,48], "src": [320,272], "f": 0, "t": 411, "d": [52,35], "a": 1 }, + { "px": [0,64], "src": [320,272], "f": 0, "t": 411, "d": [52,36], "a": 1 }, + { "px": [32,64], "src": [320,272], "f": 0, "t": 411, "d": [52,38], "a": 1 }, + { "px": [64,64], "src": [320,272], "f": 0, "t": 411, "d": [52,40], "a": 1 }, + { "px": [96,64], "src": [320,272], "f": 0, "t": 411, "d": [52,42], "a": 1 }, + { "px": [128,64], "src": [320,272], "f": 0, "t": 411, "d": [52,44], "a": 1 }, + { "px": [0,80], "src": [320,272], "f": 0, "t": 411, "d": [52,45], "a": 1 }, + { "px": [32,80], "src": [320,272], "f": 0, "t": 411, "d": [52,47], "a": 1 }, + { "px": [48,80], "src": [320,272], "f": 0, "t": 411, "d": [52,48], "a": 1 }, + { "px": [64,80], "src": [320,272], "f": 0, "t": 411, "d": [52,49], "a": 1 }, + { "px": [96,80], "src": [320,272], "f": 0, "t": 411, "d": [52,51], "a": 1 }, + { "px": [128,80], "src": [320,272], "f": 0, "t": 411, "d": [52,53], "a": 1 }, + { "px": [0,96], "src": [320,272], "f": 0, "t": 411, "d": [52,54], "a": 1 }, + { "px": [96,96], "src": [320,272], "f": 0, "t": 411, "d": [52,60], "a": 1 }, + { "px": [128,96], "src": [320,272], "f": 0, "t": 411, "d": [52,62], "a": 1 }, + { "px": [0,112], "src": [320,272], "f": 0, "t": 411, "d": [52,63], "a": 1 }, + { "px": [16,112], "src": [320,272], "f": 0, "t": 411, "d": [52,64], "a": 1 }, + { "px": [32,112], "src": [320,272], "f": 0, "t": 411, "d": [52,65], "a": 1 }, + { "px": [48,112], "src": [320,272], "f": 0, "t": 411, "d": [52,66], "a": 1 }, + { "px": [64,112], "src": [320,272], "f": 0, "t": 411, "d": [52,67], "a": 1 }, + { "px": [80,112], "src": [320,272], "f": 0, "t": 411, "d": [52,68], "a": 1 }, + { "px": [96,112], "src": [320,272], "f": 0, "t": 411, "d": [52,69], "a": 1 }, + { "px": [128,112], "src": [320,272], "f": 0, "t": 411, "d": [52,71], "a": 1 }, + { "px": [16,32], "src": [224,128], "f": 0, "t": 198, "d": [56,19], "a": 1 }, + { "px": [112,32], "src": [224,128], "f": 0, "t": 198, "d": [56,25], "a": 1 }, + { "px": [16,48], "src": [224,128], "f": 0, "t": 198, "d": [56,28], "a": 1 }, + { "px": [112,48], "src": [224,128], "f": 0, "t": 198, "d": [56,34], "a": 1 }, + { "px": [16,64], "src": [224,128], "f": 0, "t": 198, "d": [56,37], "a": 1 }, + { "px": [80,64], "src": [224,128], "f": 0, "t": 198, "d": [56,41], "a": 1 }, + { "px": [112,64], "src": [224,128], "f": 0, "t": 198, "d": [56,43], "a": 1 }, + { "px": [16,80], "src": [224,128], "f": 0, "t": 198, "d": [56,46], "a": 1 }, + { "px": [80,80], "src": [224,128], "f": 0, "t": 198, "d": [56,50], "a": 1 }, + { "px": [112,80], "src": [224,128], "f": 0, "t": 198, "d": [56,52], "a": 1 }, + { "px": [112,96], "src": [224,128], "f": 0, "t": 198, "d": [56,61], "a": 1 }, + { "px": [112,112], "src": [224,128], "f": 0, "t": 198, "d": [56,70], "a": 1 }, + { "px": [32,16], "src": [256,96], "f": 0, "t": 154, "d": [57,11], "a": 1 }, + { "px": [48,16], "src": [256,96], "f": 0, "t": 154, "d": [57,12], "a": 1 }, + { "px": [64,16], "src": [256,96], "f": 0, "t": 154, "d": [57,13], "a": 1 }, + { "px": [80,16], "src": [256,96], "f": 0, "t": 154, "d": [57,14], "a": 1 }, + { "px": [96,16], "src": [256,96], "f": 0, "t": 154, "d": [57,15], "a": 1 }, + { "px": [64,48], "src": [256,96], "f": 0, "t": 154, "d": [57,31], "a": 1 }, + { "px": [32,96], "src": [256,96], "f": 0, "t": 154, "d": [57,56], "a": 1 }, + { "px": [48,96], "src": [256,96], "f": 0, "t": 154, "d": [57,57], "a": 1 }, + { "px": [64,96], "src": [256,96], "f": 0, "t": 154, "d": [57,58], "a": 1 }, + { "px": [48,64], "src": [224,96], "f": 2, "t": 152, "d": [58,39], "a": 1 }, + { "px": [16,16], "src": [0,304], "f": 3, "t": 437, "d": [59,10], "a": 1 }, + { "px": [112,16], "src": [0,304], "f": 2, "t": 437, "d": [59,16], "a": 1 }, + { "px": [48,48], "src": [0,304], "f": 3, "t": 437, "d": [59,30], "a": 1 }, + { "px": [80,48], "src": [0,304], "f": 2, "t": 437, "d": [59,32], "a": 1 }, + { "px": [16,96], "src": [0,304], "f": 1, "t": 437, "d": [59,55], "a": 1 }, + { "px": [80,96], "src": [0,304], "f": 0, "t": 437, "d": [59,59], "a": 1 } + ], + "seed": 2123058, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + } + ], + "__neighbours": [] + }, + { + "identifier": "Level_2", + "iid": "ffd63da0-6280-11ee-9d82-33bc4a3f7c31", + "uid": 66, + "worldX": -1, + "worldY": -1, + "worldDepth": 0, + "pxWid": 240, + "pxHei": 240, + "__bgColor": "#696A79", + "bgColor": null, + "useAutoIdentifier": true, + "bgRelPath": null, + "bgPos": null, + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#ADADB5", + "__bgPos": null, + "externalRelPath": null, + "fieldInstances": [], + "layerInstances": [ + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 15, + "__cHei": 15, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "ffd63da1-6280-11ee-9d82-b1384772dbf1", + "levelId": 66, + "layerDefUid": 60, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 7964091, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Player", + "__grid": [0,0], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 3, "x": 0, "y": 0, "w": 32, "h": 32 }, + "__smartColor": "#BE4A2F", + "__worldX": 512, + "__worldY": 0, + "iid": "174cc070-6280-11ee-9d82-177ac78b4a85", + "width": 16, + "height": 16, + "defUid": 62, + "px": [0,0], + "fieldInstances": [] + }, + { + "__identifier": "Goal", + "__grid": [14,14], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 4, "x": 256, "y": 304, "w": 16, "h": 16 }, + "__smartColor": "#D77643", + "__worldX": 736, + "__worldY": 224, + "iid": "1eecf610-6280-11ee-9d82-c7993145cad1", + "width": 16, + "height": 16, + "defUid": 64, + "px": [224,224], + "fieldInstances": [] + } + ] + }, + { + "__identifier": "Walls", + "__type": "IntGrid", + "__cWid": 15, + "__cHei": 15, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 4, + "__tilesetRelPath": "atlas/SunnyLand_by_Ansimuz-extended.png", + "iid": "ffd63da2-6280-11ee-9d82-7d66ce1b4bd2", + "levelId": 66, + "layerDefUid": 7, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [ + 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,0,1,0,0,0, + 1,0,1,0,0,0,1,0,1,0,0,1,0,1,1,1,0,1,1,1,0,1,0,1,0,0,1,0,1,0,0,0,0,0,1, + 0,1,0,0,0,0,1,0,1,0,1,0,1,1,1,0,1,0,1,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0, + 0,1,1,1,0,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,1,0,1,1, + 1,1,1,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,0,1,1,1,0,1,1,1,1,1, + 0,1,1,1,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,1,1,0,1,1,1,0,1,0,1,0,1,0,1,1, + 0,0,0,1,0,0,0,0,0,1,0,0,0,0,0 + ], + "autoLayerTiles": [ + { "px": [0,0], "src": [320,272], "f": 0, "t": 411, "d": [52,0], "a": 1 }, + { "px": [16,0], "src": [320,272], "f": 0, "t": 411, "d": [52,1], "a": 1 }, + { "px": [32,0], "src": [320,272], "f": 0, "t": 411, "d": [52,2], "a": 1 }, + { "px": [64,0], "src": [320,272], "f": 0, "t": 411, "d": [52,4], "a": 1 }, + { "px": [80,0], "src": [320,272], "f": 0, "t": 411, "d": [52,5], "a": 1 }, + { "px": [96,0], "src": [320,272], "f": 0, "t": 411, "d": [52,6], "a": 1 }, + { "px": [112,0], "src": [320,272], "f": 0, "t": 411, "d": [52,7], "a": 1 }, + { "px": [128,0], "src": [320,272], "f": 0, "t": 411, "d": [52,8], "a": 1 }, + { "px": [144,0], "src": [320,272], "f": 0, "t": 411, "d": [52,9], "a": 1 }, + { "px": [160,0], "src": [320,272], "f": 0, "t": 411, "d": [52,10], "a": 1 }, + { "px": [176,0], "src": [320,272], "f": 0, "t": 411, "d": [52,11], "a": 1 }, + { "px": [192,0], "src": [320,272], "f": 0, "t": 411, "d": [52,12], "a": 1 }, + { "px": [208,0], "src": [320,272], "f": 0, "t": 411, "d": [52,13], "a": 1 }, + { "px": [224,0], "src": [320,272], "f": 0, "t": 411, "d": [52,14], "a": 1 }, + { "px": [0,16], "src": [320,272], "f": 0, "t": 411, "d": [52,15], "a": 1 }, + { "px": [64,16], "src": [320,272], "f": 0, "t": 411, "d": [52,19], "a": 1 }, + { "px": [128,16], "src": [320,272], "f": 0, "t": 411, "d": [52,23], "a": 1 }, + { "px": [224,16], "src": [320,272], "f": 0, "t": 411, "d": [52,29], "a": 1 }, + { "px": [0,32], "src": [320,272], "f": 0, "t": 411, "d": [52,30], "a": 1 }, + { "px": [32,32], "src": [320,272], "f": 0, "t": 411, "d": [52,32], "a": 1 }, + { "px": [48,32], "src": [320,272], "f": 0, "t": 411, "d": [52,33], "a": 1 }, + { "px": [64,32], "src": [320,272], "f": 0, "t": 411, "d": [52,34], "a": 1 }, + { "px": [96,32], "src": [320,272], "f": 0, "t": 411, "d": [52,36], "a": 1 }, + { "px": [128,32], "src": [320,272], "f": 0, "t": 411, "d": [52,38], "a": 1 }, + { "px": [144,32], "src": [320,272], "f": 0, "t": 411, "d": [52,39], "a": 1 }, + { "px": [160,32], "src": [320,272], "f": 0, "t": 411, "d": [52,40], "a": 1 }, + { "px": [192,32], "src": [320,272], "f": 0, "t": 411, "d": [52,42], "a": 1 }, + { "px": [224,32], "src": [320,272], "f": 0, "t": 411, "d": [52,44], "a": 1 }, + { "px": [0,48], "src": [320,272], "f": 0, "t": 411, "d": [52,45], "a": 1 }, + { "px": [32,48], "src": [320,272], "f": 0, "t": 411, "d": [52,47], "a": 1 }, + { "px": [96,48], "src": [320,272], "f": 0, "t": 411, "d": [52,51], "a": 1 }, + { "px": [160,48], "src": [320,272], "f": 0, "t": 411, "d": [52,55], "a": 1 }, + { "px": [192,48], "src": [320,272], "f": 0, "t": 411, "d": [52,57], "a": 1 }, + { "px": [224,48], "src": [320,272], "f": 0, "t": 411, "d": [52,59], "a": 1 }, + { "px": [0,64], "src": [320,272], "f": 0, "t": 411, "d": [52,60], "a": 1 }, + { "px": [32,64], "src": [320,272], "f": 0, "t": 411, "d": [52,62], "a": 1 }, + { "px": [64,64], "src": [320,272], "f": 0, "t": 411, "d": [52,64], "a": 1 }, + { "px": [80,64], "src": [320,272], "f": 0, "t": 411, "d": [52,65], "a": 1 }, + { "px": [96,64], "src": [320,272], "f": 0, "t": 411, "d": [52,66], "a": 1 }, + { "px": [112,64], "src": [320,272], "f": 0, "t": 411, "d": [52,67], "a": 1 }, + { "px": [128,64], "src": [320,272], "f": 0, "t": 411, "d": [52,68], "a": 1 }, + { "px": [160,64], "src": [320,272], "f": 0, "t": 411, "d": [52,70], "a": 1 }, + { "px": [192,64], "src": [320,272], "f": 0, "t": 411, "d": [52,72], "a": 1 }, + { "px": [208,64], "src": [320,272], "f": 0, "t": 411, "d": [52,73], "a": 1 }, + { "px": [224,64], "src": [320,272], "f": 0, "t": 411, "d": [52,74], "a": 1 }, + { "px": [0,80], "src": [320,272], "f": 0, "t": 411, "d": [52,75], "a": 1 }, + { "px": [32,80], "src": [320,272], "f": 0, "t": 411, "d": [52,77], "a": 1 }, + { "px": [64,80], "src": [320,272], "f": 0, "t": 411, "d": [52,79], "a": 1 }, + { "px": [96,80], "src": [320,272], "f": 0, "t": 411, "d": [52,81], "a": 1 }, + { "px": [160,80], "src": [320,272], "f": 0, "t": 411, "d": [52,85], "a": 1 }, + { "px": [192,80], "src": [320,272], "f": 0, "t": 411, "d": [52,87], "a": 1 }, + { "px": [0,96], "src": [320,272], "f": 0, "t": 411, "d": [52,90], "a": 1 }, + { "px": [16,96], "src": [320,272], "f": 0, "t": 411, "d": [52,91], "a": 1 }, + { "px": [32,96], "src": [320,272], "f": 0, "t": 411, "d": [52,92], "a": 1 }, + { "px": [64,96], "src": [320,272], "f": 0, "t": 411, "d": [52,94], "a": 1 }, + { "px": [96,96], "src": [320,272], "f": 0, "t": 411, "d": [52,96], "a": 1 }, + { "px": [128,96], "src": [320,272], "f": 0, "t": 411, "d": [52,98], "a": 1 }, + { "px": [144,96], "src": [320,272], "f": 0, "t": 411, "d": [52,99], "a": 1 }, + { "px": [160,96], "src": [320,272], "f": 0, "t": 411, "d": [52,100], "a": 1 }, + { "px": [192,96], "src": [320,272], "f": 0, "t": 411, "d": [52,102], "a": 1 }, + { "px": [208,96], "src": [320,272], "f": 0, "t": 411, "d": [52,103], "a": 1 }, + { "px": [224,96], "src": [320,272], "f": 0, "t": 411, "d": [52,104], "a": 1 }, + { "px": [0,112], "src": [320,272], "f": 0, "t": 411, "d": [52,105], "a": 1 }, + { "px": [64,112], "src": [320,272], "f": 0, "t": 411, "d": [52,109], "a": 1 }, + { "px": [96,112], "src": [320,272], "f": 0, "t": 411, "d": [52,111], "a": 1 }, + { "px": [128,112], "src": [320,272], "f": 0, "t": 411, "d": [52,113], "a": 1 }, + { "px": [224,112], "src": [320,272], "f": 0, "t": 411, "d": [52,119], "a": 1 }, + { "px": [0,128], "src": [320,272], "f": 0, "t": 411, "d": [52,120], "a": 1 }, + { "px": [16,128], "src": [320,272], "f": 0, "t": 411, "d": [52,121], "a": 1 }, + { "px": [32,128], "src": [320,272], "f": 0, "t": 411, "d": [52,122], "a": 1 }, + { "px": [48,128], "src": [320,272], "f": 0, "t": 411, "d": [52,123], "a": 1 }, + { "px": [64,128], "src": [320,272], "f": 0, "t": 411, "d": [52,124], "a": 1 }, + { "px": [96,128], "src": [320,272], "f": 0, "t": 411, "d": [52,126], "a": 1 }, + { "px": [128,128], "src": [320,272], "f": 0, "t": 411, "d": [52,128], "a": 1 }, + { "px": [160,128], "src": [320,272], "f": 0, "t": 411, "d": [52,130], "a": 1 }, + { "px": [176,128], "src": [320,272], "f": 0, "t": 411, "d": [52,131], "a": 1 }, + { "px": [192,128], "src": [320,272], "f": 0, "t": 411, "d": [52,132], "a": 1 }, + { "px": [224,128], "src": [320,272], "f": 0, "t": 411, "d": [52,134], "a": 1 }, + { "px": [32,144], "src": [320,272], "f": 0, "t": 411, "d": [52,137], "a": 1 }, + { "px": [128,144], "src": [320,272], "f": 0, "t": 411, "d": [52,143], "a": 1 }, + { "px": [160,144], "src": [320,272], "f": 0, "t": 411, "d": [52,145], "a": 1 }, + { "px": [192,144], "src": [320,272], "f": 0, "t": 411, "d": [52,147], "a": 1 }, + { "px": [224,144], "src": [320,272], "f": 0, "t": 411, "d": [52,149], "a": 1 }, + { "px": [0,160], "src": [320,272], "f": 0, "t": 411, "d": [52,150], "a": 1 }, + { "px": [16,160], "src": [320,272], "f": 0, "t": 411, "d": [52,151], "a": 1 }, + { "px": [32,160], "src": [320,272], "f": 0, "t": 411, "d": [52,152], "a": 1 }, + { "px": [64,160], "src": [320,272], "f": 0, "t": 411, "d": [52,154], "a": 1 }, + { "px": [80,160], "src": [320,272], "f": 0, "t": 411, "d": [52,155], "a": 1 }, + { "px": [96,160], "src": [320,272], "f": 0, "t": 411, "d": [52,156], "a": 1 }, + { "px": [112,160], "src": [320,272], "f": 0, "t": 411, "d": [52,157], "a": 1 }, + { "px": [128,160], "src": [320,272], "f": 0, "t": 411, "d": [52,158], "a": 1 }, + { "px": [160,160], "src": [320,272], "f": 0, "t": 411, "d": [52,160], "a": 1 }, + { "px": [192,160], "src": [320,272], "f": 0, "t": 411, "d": [52,162], "a": 1 }, + { "px": [224,160], "src": [320,272], "f": 0, "t": 411, "d": [52,164], "a": 1 }, + { "px": [0,176], "src": [320,272], "f": 0, "t": 411, "d": [52,165], "a": 1 }, + { "px": [64,176], "src": [320,272], "f": 0, "t": 411, "d": [52,169], "a": 1 }, + { "px": [160,176], "src": [320,272], "f": 0, "t": 411, "d": [52,175], "a": 1 }, + { "px": [224,176], "src": [320,272], "f": 0, "t": 411, "d": [52,179], "a": 1 }, + { "px": [0,192], "src": [320,272], "f": 0, "t": 411, "d": [52,180], "a": 1 }, + { "px": [32,192], "src": [320,272], "f": 0, "t": 411, "d": [52,182], "a": 1 }, + { "px": [48,192], "src": [320,272], "f": 0, "t": 411, "d": [52,183], "a": 1 }, + { "px": [64,192], "src": [320,272], "f": 0, "t": 411, "d": [52,184], "a": 1 }, + { "px": [96,192], "src": [320,272], "f": 0, "t": 411, "d": [52,186], "a": 1 }, + { "px": [128,192], "src": [320,272], "f": 0, "t": 411, "d": [52,188], "a": 1 }, + { "px": [144,192], "src": [320,272], "f": 0, "t": 411, "d": [52,189], "a": 1 }, + { "px": [160,192], "src": [320,272], "f": 0, "t": 411, "d": [52,190], "a": 1 }, + { "px": [192,192], "src": [320,272], "f": 0, "t": 411, "d": [52,192], "a": 1 }, + { "px": [208,192], "src": [320,272], "f": 0, "t": 411, "d": [52,193], "a": 1 }, + { "px": [224,192], "src": [320,272], "f": 0, "t": 411, "d": [52,194], "a": 1 }, + { "px": [32,208], "src": [320,272], "f": 0, "t": 411, "d": [52,197], "a": 1 }, + { "px": [96,208], "src": [320,272], "f": 0, "t": 411, "d": [52,201], "a": 1 }, + { "px": [128,208], "src": [320,272], "f": 0, "t": 411, "d": [52,203], "a": 1 }, + { "px": [160,208], "src": [320,272], "f": 0, "t": 411, "d": [52,205], "a": 1 }, + { "px": [192,208], "src": [320,272], "f": 0, "t": 411, "d": [52,207], "a": 1 }, + { "px": [0,224], "src": [320,272], "f": 0, "t": 411, "d": [52,210], "a": 1 }, + { "px": [16,224], "src": [320,272], "f": 0, "t": 411, "d": [52,211], "a": 1 }, + { "px": [32,224], "src": [320,272], "f": 0, "t": 411, "d": [52,212], "a": 1 }, + { "px": [64,224], "src": [320,272], "f": 0, "t": 411, "d": [52,214], "a": 1 }, + { "px": [80,224], "src": [320,272], "f": 0, "t": 411, "d": [52,215], "a": 1 }, + { "px": [96,224], "src": [320,272], "f": 0, "t": 411, "d": [52,216], "a": 1 }, + { "px": [112,224], "src": [320,272], "f": 0, "t": 411, "d": [52,217], "a": 1 }, + { "px": [128,224], "src": [320,272], "f": 0, "t": 411, "d": [52,218], "a": 1 }, + { "px": [160,224], "src": [320,272], "f": 0, "t": 411, "d": [52,220], "a": 1 }, + { "px": [176,224], "src": [320,272], "f": 0, "t": 411, "d": [52,221], "a": 1 }, + { "px": [192,224], "src": [320,272], "f": 0, "t": 411, "d": [52,222], "a": 1 }, + { "px": [208,224], "src": [320,272], "f": 0, "t": 411, "d": [52,223], "a": 1 }, + { "px": [224,224], "src": [320,272], "f": 0, "t": 411, "d": [52,224], "a": 1 }, + { "px": [48,0], "src": [224,128], "f": 0, "t": 198, "d": [56,3], "a": 1 }, + { "px": [16,32], "src": [224,128], "f": 0, "t": 198, "d": [56,31], "a": 1 }, + { "px": [80,32], "src": [224,128], "f": 0, "t": 198, "d": [56,35], "a": 1 }, + { "px": [112,32], "src": [224,128], "f": 0, "t": 198, "d": [56,37], "a": 1 }, + { "px": [176,32], "src": [224,128], "f": 0, "t": 198, "d": [56,41], "a": 1 }, + { "px": [208,32], "src": [224,128], "f": 0, "t": 198, "d": [56,43], "a": 1 }, + { "px": [16,48], "src": [224,128], "f": 0, "t": 198, "d": [56,46], "a": 1 }, + { "px": [176,48], "src": [224,128], "f": 0, "t": 198, "d": [56,56], "a": 1 }, + { "px": [16,64], "src": [224,128], "f": 0, "t": 198, "d": [56,61], "a": 1 }, + { "px": [48,64], "src": [224,128], "f": 0, "t": 198, "d": [56,63], "a": 1 }, + { "px": [144,64], "src": [224,128], "f": 0, "t": 198, "d": [56,69], "a": 1 }, + { "px": [176,64], "src": [224,128], "f": 0, "t": 198, "d": [56,71], "a": 1 }, + { "px": [48,80], "src": [224,128], "f": 0, "t": 198, "d": [56,78], "a": 1 }, + { "px": [176,80], "src": [224,128], "f": 0, "t": 198, "d": [56,86], "a": 1 }, + { "px": [48,96], "src": [224,128], "f": 0, "t": 198, "d": [56,93], "a": 1 }, + { "px": [80,96], "src": [224,128], "f": 0, "t": 198, "d": [56,95], "a": 1 }, + { "px": [112,96], "src": [224,128], "f": 0, "t": 198, "d": [56,97], "a": 1 }, + { "px": [176,96], "src": [224,128], "f": 0, "t": 198, "d": [56,101], "a": 1 }, + { "px": [80,112], "src": [224,128], "f": 0, "t": 198, "d": [56,110], "a": 1 }, + { "px": [112,112], "src": [224,128], "f": 0, "t": 198, "d": [56,112], "a": 1 }, + { "px": [80,128], "src": [224,128], "f": 0, "t": 198, "d": [56,125], "a": 1 }, + { "px": [112,128], "src": [224,128], "f": 0, "t": 198, "d": [56,127], "a": 1 }, + { "px": [144,128], "src": [224,128], "f": 0, "t": 198, "d": [56,129], "a": 1 }, + { "px": [208,128], "src": [224,128], "f": 0, "t": 198, "d": [56,133], "a": 1 }, + { "px": [144,144], "src": [224,128], "f": 0, "t": 198, "d": [56,144], "a": 1 }, + { "px": [208,144], "src": [224,128], "f": 0, "t": 198, "d": [56,148], "a": 1 }, + { "px": [48,160], "src": [224,128], "f": 0, "t": 198, "d": [56,153], "a": 1 }, + { "px": [144,160], "src": [224,128], "f": 0, "t": 198, "d": [56,159], "a": 1 }, + { "px": [176,160], "src": [224,128], "f": 0, "t": 198, "d": [56,161], "a": 1 }, + { "px": [208,160], "src": [224,128], "f": 0, "t": 198, "d": [56,163], "a": 1 }, + { "px": [16,192], "src": [224,128], "f": 0, "t": 198, "d": [56,181], "a": 1 }, + { "px": [80,192], "src": [224,128], "f": 0, "t": 198, "d": [56,185], "a": 1 }, + { "px": [112,192], "src": [224,128], "f": 0, "t": 198, "d": [56,187], "a": 1 }, + { "px": [176,192], "src": [224,128], "f": 0, "t": 198, "d": [56,191], "a": 1 }, + { "px": [48,224], "src": [224,128], "f": 0, "t": 198, "d": [56,213], "a": 1 }, + { "px": [144,224], "src": [224,128], "f": 0, "t": 198, "d": [56,219], "a": 1 }, + { "px": [32,16], "src": [256,96], "f": 0, "t": 154, "d": [57,17], "a": 1 }, + { "px": [96,16], "src": [256,96], "f": 0, "t": 154, "d": [57,21], "a": 1 }, + { "px": [160,16], "src": [256,96], "f": 0, "t": 154, "d": [57,25], "a": 1 }, + { "px": [192,16], "src": [256,96], "f": 0, "t": 154, "d": [57,27], "a": 1 }, + { "px": [64,48], "src": [256,96], "f": 0, "t": 154, "d": [57,49], "a": 1 }, + { "px": [128,48], "src": [256,96], "f": 0, "t": 154, "d": [57,53], "a": 1 }, + { "px": [128,80], "src": [256,96], "f": 0, "t": 154, "d": [57,83], "a": 1 }, + { "px": [224,80], "src": [256,96], "f": 0, "t": 154, "d": [57,89], "a": 1 }, + { "px": [32,112], "src": [256,96], "f": 0, "t": 154, "d": [57,107], "a": 1 }, + { "px": [160,112], "src": [256,96], "f": 0, "t": 154, "d": [57,115], "a": 1 }, + { "px": [192,112], "src": [256,96], "f": 0, "t": 154, "d": [57,117], "a": 1 }, + { "px": [0,144], "src": [256,96], "f": 0, "t": 154, "d": [57,135], "a": 1 }, + { "px": [64,144], "src": [256,96], "f": 0, "t": 154, "d": [57,139], "a": 1 }, + { "px": [96,144], "src": [256,96], "f": 0, "t": 154, "d": [57,141], "a": 1 }, + { "px": [32,176], "src": [256,96], "f": 0, "t": 154, "d": [57,167], "a": 1 }, + { "px": [96,176], "src": [256,96], "f": 0, "t": 154, "d": [57,171], "a": 1 }, + { "px": [128,176], "src": [256,96], "f": 0, "t": 154, "d": [57,173], "a": 1 }, + { "px": [192,176], "src": [256,96], "f": 0, "t": 154, "d": [57,177], "a": 1 }, + { "px": [0,208], "src": [256,96], "f": 0, "t": 154, "d": [57,195], "a": 1 }, + { "px": [64,208], "src": [256,96], "f": 0, "t": 154, "d": [57,199], "a": 1 }, + { "px": [224,208], "src": [256,96], "f": 0, "t": 154, "d": [57,209], "a": 1 }, + { "px": [144,16], "src": [224,96], "f": 0, "t": 152, "d": [58,24], "a": 1 }, + { "px": [208,48], "src": [224,96], "f": 2, "t": 152, "d": [58,58], "a": 1 }, + { "px": [16,80], "src": [224,96], "f": 2, "t": 152, "d": [58,76], "a": 1 }, + { "px": [80,80], "src": [224,96], "f": 0, "t": 152, "d": [58,80], "a": 1 }, + { "px": [208,80], "src": [224,96], "f": 0, "t": 152, "d": [58,88], "a": 1 }, + { "px": [16,112], "src": [224,96], "f": 0, "t": 152, "d": [58,106], "a": 1 }, + { "px": [16,144], "src": [224,96], "f": 1, "t": 152, "d": [58,136], "a": 1 }, + { "px": [176,144], "src": [224,96], "f": 0, "t": 152, "d": [58,146], "a": 1 }, + { "px": [112,208], "src": [224,96], "f": 2, "t": 152, "d": [58,202], "a": 1 }, + { "px": [144,208], "src": [224,96], "f": 0, "t": 152, "d": [58,204], "a": 1 }, + { "px": [176,208], "src": [224,96], "f": 2, "t": 152, "d": [58,206], "a": 1 }, + { "px": [208,208], "src": [224,96], "f": 0, "t": 152, "d": [58,208], "a": 1 }, + { "px": [16,16], "src": [0,304], "f": 3, "t": 437, "d": [59,16], "a": 1 }, + { "px": [48,16], "src": [0,304], "f": 0, "t": 437, "d": [59,18], "a": 1 }, + { "px": [80,16], "src": [0,304], "f": 3, "t": 437, "d": [59,20], "a": 1 }, + { "px": [112,16], "src": [0,304], "f": 2, "t": 437, "d": [59,22], "a": 1 }, + { "px": [176,16], "src": [0,304], "f": 2, "t": 437, "d": [59,26], "a": 1 }, + { "px": [208,16], "src": [0,304], "f": 2, "t": 437, "d": [59,28], "a": 1 }, + { "px": [48,48], "src": [0,304], "f": 3, "t": 437, "d": [59,48], "a": 1 }, + { "px": [80,48], "src": [0,304], "f": 0, "t": 437, "d": [59,50], "a": 1 }, + { "px": [112,48], "src": [0,304], "f": 1, "t": 437, "d": [59,52], "a": 1 }, + { "px": [144,48], "src": [0,304], "f": 2, "t": 437, "d": [59,54], "a": 1 }, + { "px": [112,80], "src": [0,304], "f": 3, "t": 437, "d": [59,82], "a": 1 }, + { "px": [144,80], "src": [0,304], "f": 0, "t": 437, "d": [59,84], "a": 1 }, + { "px": [48,112], "src": [0,304], "f": 0, "t": 437, "d": [59,108], "a": 1 }, + { "px": [144,112], "src": [0,304], "f": 3, "t": 437, "d": [59,114], "a": 1 }, + { "px": [176,112], "src": [0,304], "f": 0, "t": 437, "d": [59,116], "a": 1 }, + { "px": [208,112], "src": [0,304], "f": 2, "t": 437, "d": [59,118], "a": 1 }, + { "px": [48,144], "src": [0,304], "f": 3, "t": 437, "d": [59,138], "a": 1 }, + { "px": [80,144], "src": [0,304], "f": 0, "t": 437, "d": [59,140], "a": 1 }, + { "px": [112,144], "src": [0,304], "f": 0, "t": 437, "d": [59,142], "a": 1 }, + { "px": [16,176], "src": [0,304], "f": 3, "t": 437, "d": [59,166], "a": 1 }, + { "px": [48,176], "src": [0,304], "f": 0, "t": 437, "d": [59,168], "a": 1 }, + { "px": [80,176], "src": [0,304], "f": 3, "t": 437, "d": [59,170], "a": 1 }, + { "px": [112,176], "src": [0,304], "f": 2, "t": 437, "d": [59,172], "a": 1 }, + { "px": [144,176], "src": [0,304], "f": 0, "t": 437, "d": [59,174], "a": 1 }, + { "px": [176,176], "src": [0,304], "f": 1, "t": 437, "d": [59,176], "a": 1 }, + { "px": [208,176], "src": [0,304], "f": 0, "t": 437, "d": [59,178], "a": 1 }, + { "px": [16,208], "src": [0,304], "f": 0, "t": 437, "d": [59,196], "a": 1 }, + { "px": [48,208], "src": [0,304], "f": 3, "t": 437, "d": [59,198], "a": 1 }, + { "px": [80,208], "src": [0,304], "f": 0, "t": 437, "d": [59,200], "a": 1 } + ], + "seed": 3275063, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + } + ], + "__neighbours": [] + } + ], + "worlds": [], + "dummyWorldIid": "96b76b90-6280-11ee-9465-b1de1cebcc94" +} \ No newline at end of file From d568c125b973eb8aec2e4210e9273dc5fab3adc1 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 20 Nov 2023 19:48:48 -0700 Subject: [PATCH 10/49] docs: move images for tile-based-game tutorial into their own directory --- .../create-your-ldtk-project.md | 28 +++++++++--------- .../{ => images}/all-walls-rule.png | Bin .../{ => images}/auto-tile-walls.png | Bin .../{ => images}/background-rule.png | Bin .../{ => images}/entities-layer.png | Bin .../{ => images}/goal-entity.png | Bin .../horizontal-wall-edge-rule.png | Bin .../tile-based-game/{ => images}/levels.png | Bin .../{ => images}/player-entity.png | Bin .../tile-based-game/{ => images}/tilesets.png | Bin .../{ => images}/vertical-wall-edge-rule.png | Bin .../{ => images}/wall-inner-corner-rule.png | Bin .../{ => images}/wall-layer.png | Bin .../{ => images}/wall-outer-corner-rule.png | Bin .../{ => images}/world-layout.png | Bin 15 files changed, 14 insertions(+), 14 deletions(-) rename book/src/tutorials/tile-based-game/{ => images}/all-walls-rule.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/auto-tile-walls.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/background-rule.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/entities-layer.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/goal-entity.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/horizontal-wall-edge-rule.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/levels.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/player-entity.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/tilesets.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/vertical-wall-edge-rule.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/wall-inner-corner-rule.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/wall-layer.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/wall-outer-corner-rule.png (100%) rename book/src/tutorials/tile-based-game/{ => images}/world-layout.png (100%) diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index b2381ede..cb2636d0 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -6,7 +6,7 @@ For this tutorial, name the project `tile-based-game.ldtk`, and save it to your In the World tab - set the World layout to Horizontal. -![world-layout](world-layout.png) +![world-layout](images/world-layout.png) ## Import tilesets Add your environment/player tilesets to the project, in the Tilesets tab. @@ -14,7 +14,7 @@ Make sure that the source image files for these tilesets are also in your Bevy p Name the tilesets "Environment" and "Player" respectively. For the SunnyLand assets - the Player tileset needs to have a tile size of 32 and the environment asset a tile size of 16. -![tilesets](tilesets.png) +![tilesets](images/tilesets.png) ## Add IntGrid layer for walls Add an IntGrid layer to the project, in the Layers tab. @@ -22,7 +22,7 @@ This layer will be used to define where the collisions are in the level. Call this layer "Walls", make sure its grid size is 16, and optionally name the grid value 1 "Wall". Finally, give it an Auto-layer tileset - pointing to the "Environment" tileset. -![wall-layer](wall-layer.png) +![wall-layer](images/wall-layer.png) ## Define autotiling for walls and backgrounds From here, select "EDIT RULES" next to the wall layer's auto-tile tileset. @@ -34,7 +34,7 @@ First, define a catch-all rule that will place the background tile if no other r 3. In the top-right of the rule definition - select the tile you want to use as the background. 4. You can set the rule to be "1x1", but since this is a "catch-all" rule, nothing else should be necessary. -![background-rule](background-rule.png) +![background-rule](images/background-rule.png) Next, define a rule that will catch any wall tile. You will be able to define more complex rules on top of this to make walls prettier, but it's good to start with an extremely generic one first. @@ -43,7 +43,7 @@ You will be able to define more complex rules on top of this to make walls prett 3. Select the tile you want to use as a generic wall tile in the top-right. 4. Set the rule to be 1x1, and left-click the rule-pattern to place a wall tile. -![all-walls-rule](all-walls-rule.png) +![all-walls-rule](images/all-walls-rule.png) Now you will be able to place walls in your level and they will be automatically rendered using this tile. @@ -55,7 +55,7 @@ This will match any wall tiles that don't have a wall tile to their left. 4. On this new rule inside the group, enable the "X" option. This mirrors the rule in the x-direction, so that it works for the right edges of walls as well. -![horizontal-wall-edge-rule](horizontal-wall-edge-rule.png) +![horizontal-wall-edge-rule](images/horizontal-wall-edge-rule.png) You are welcome to add more rules to the walls group with more complex patterns for defining the vertical edges or corners. This tutorial will not go into painstaking detail about creating these, but their definitions are shown below. @@ -63,41 +63,41 @@ One general recommendation is to order these rules from most-specific to least-s A vertical wall edge rule - mirrored in the Y direction: -![vertical-wall-edge-rule](vertical-wall-edge-rule.png) +![vertical-wall-edge-rule](images/vertical-wall-edge-rule.png) An outer corner wall rule - mirrored in the X and Y directions: -![wall-outer-corner-rule](wall-outer-corner-rule.png) +![wall-outer-corner-rule](images/wall-outer-corner-rule.png) An inner corner wall rule - mirrored in the X and Y directions: -![wall-inner-corner-rule](wall-inner-corner-rule.png) +![wall-inner-corner-rule](images/wall-inner-corner-rule.png) Now you can enjoy placing walls in your level and watching LDtk auto-tile them for you! -![auto-tile-walls](auto-tile-walls.png) +![auto-tile-walls](images/auto-tile-walls.png) ## Add Entity layer Add an Entity layer to the project, again, in the Layers tab. This will be used to place less tiling-oriented game objects, like the player, or the goal. You do not need to make any modifications to the default entity layer for this tutorial, it should be called Entities and match the grid size of the intgrid layer. -![entity-layer](entities-layer.png) +![entity-layer](images/entities-layer.png) Then, in the Entities tab, add a Player entity. Be sure to name it "Player" and set its editor visual to use a tile from the Player tileset. For the SunnyLand assets - you will need to manually set its size to 16x16 so that it fits in a single tile on the grid. -![player-entity](player-entity.png) +![player-entity](images/player-entity.png) Lastly, add a Goal entity. Name it "Goal" and set its editor visual from a tileset as well. -![goal-entity](goal-entity.png) +![goal-entity](images/goal-entity.png) ## Design some levels In the following chapters, you will spawn this project in Bevy and implement gameplay code for it. The game will be simple - move the player around the grid, navigating the walls, and start the next level once they reach the goal. With this in mind, design a few levels for this game using the tools you have set up thus far. -![levels](levels.png) +![levels](images/levels.png) diff --git a/book/src/tutorials/tile-based-game/all-walls-rule.png b/book/src/tutorials/tile-based-game/images/all-walls-rule.png similarity index 100% rename from book/src/tutorials/tile-based-game/all-walls-rule.png rename to book/src/tutorials/tile-based-game/images/all-walls-rule.png diff --git a/book/src/tutorials/tile-based-game/auto-tile-walls.png b/book/src/tutorials/tile-based-game/images/auto-tile-walls.png similarity index 100% rename from book/src/tutorials/tile-based-game/auto-tile-walls.png rename to book/src/tutorials/tile-based-game/images/auto-tile-walls.png diff --git a/book/src/tutorials/tile-based-game/background-rule.png b/book/src/tutorials/tile-based-game/images/background-rule.png similarity index 100% rename from book/src/tutorials/tile-based-game/background-rule.png rename to book/src/tutorials/tile-based-game/images/background-rule.png diff --git a/book/src/tutorials/tile-based-game/entities-layer.png b/book/src/tutorials/tile-based-game/images/entities-layer.png similarity index 100% rename from book/src/tutorials/tile-based-game/entities-layer.png rename to book/src/tutorials/tile-based-game/images/entities-layer.png diff --git a/book/src/tutorials/tile-based-game/goal-entity.png b/book/src/tutorials/tile-based-game/images/goal-entity.png similarity index 100% rename from book/src/tutorials/tile-based-game/goal-entity.png rename to book/src/tutorials/tile-based-game/images/goal-entity.png diff --git a/book/src/tutorials/tile-based-game/horizontal-wall-edge-rule.png b/book/src/tutorials/tile-based-game/images/horizontal-wall-edge-rule.png similarity index 100% rename from book/src/tutorials/tile-based-game/horizontal-wall-edge-rule.png rename to book/src/tutorials/tile-based-game/images/horizontal-wall-edge-rule.png diff --git a/book/src/tutorials/tile-based-game/levels.png b/book/src/tutorials/tile-based-game/images/levels.png similarity index 100% rename from book/src/tutorials/tile-based-game/levels.png rename to book/src/tutorials/tile-based-game/images/levels.png diff --git a/book/src/tutorials/tile-based-game/player-entity.png b/book/src/tutorials/tile-based-game/images/player-entity.png similarity index 100% rename from book/src/tutorials/tile-based-game/player-entity.png rename to book/src/tutorials/tile-based-game/images/player-entity.png diff --git a/book/src/tutorials/tile-based-game/tilesets.png b/book/src/tutorials/tile-based-game/images/tilesets.png similarity index 100% rename from book/src/tutorials/tile-based-game/tilesets.png rename to book/src/tutorials/tile-based-game/images/tilesets.png diff --git a/book/src/tutorials/tile-based-game/vertical-wall-edge-rule.png b/book/src/tutorials/tile-based-game/images/vertical-wall-edge-rule.png similarity index 100% rename from book/src/tutorials/tile-based-game/vertical-wall-edge-rule.png rename to book/src/tutorials/tile-based-game/images/vertical-wall-edge-rule.png diff --git a/book/src/tutorials/tile-based-game/wall-inner-corner-rule.png b/book/src/tutorials/tile-based-game/images/wall-inner-corner-rule.png similarity index 100% rename from book/src/tutorials/tile-based-game/wall-inner-corner-rule.png rename to book/src/tutorials/tile-based-game/images/wall-inner-corner-rule.png diff --git a/book/src/tutorials/tile-based-game/wall-layer.png b/book/src/tutorials/tile-based-game/images/wall-layer.png similarity index 100% rename from book/src/tutorials/tile-based-game/wall-layer.png rename to book/src/tutorials/tile-based-game/images/wall-layer.png diff --git a/book/src/tutorials/tile-based-game/wall-outer-corner-rule.png b/book/src/tutorials/tile-based-game/images/wall-outer-corner-rule.png similarity index 100% rename from book/src/tutorials/tile-based-game/wall-outer-corner-rule.png rename to book/src/tutorials/tile-based-game/images/wall-outer-corner-rule.png diff --git a/book/src/tutorials/tile-based-game/world-layout.png b/book/src/tutorials/tile-based-game/images/world-layout.png similarity index 100% rename from book/src/tutorials/tile-based-game/world-layout.png rename to book/src/tutorials/tile-based-game/images/world-layout.png From eedb950dc6b5b4e7541d5d461494ed33054bc9d0 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 20 Nov 2023 19:50:32 -0700 Subject: [PATCH 11/49] docs: add empty spawn-your-ldtk-project-in-bevy page to tutorial --- book/src/SUMMARY.md | 2 +- .../tile-based-game/spawn-your-ldtk-project-in-bevy.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index a1a869da..31cd5d70 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -4,7 +4,7 @@ # Tutorials - [Tile-based Game](tutorials/tile-based-game/README.md) - [Create your LDtk project](tutorials/tile-based-game/create-your-ldtk-project.md) - - [Spawn your LDtk project in Bevy]() + - [Spawn your LDtk project in Bevy](tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md) - [Add gameplay to your project]() - [Platformer]() # Explanation diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md new file mode 100644 index 00000000..c14991dd --- /dev/null +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -0,0 +1 @@ +# Spawn your LDtk project in Bevy From 81d8cba944566fce44fff30dc33469557283dbc3 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 20 Nov 2023 20:29:43 -0700 Subject: [PATCH 12/49] docs: write intro to LDtk project creation chapter --- .../tile-based-game/create-your-ldtk-project.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index cb2636d0..74646fb0 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -1,4 +1,13 @@ -# Creating the LDtk project +# Create your LDtk project +In this section, you will create a simple LDtk project suitable for tile-based gameplay. +This project will have an IntGrid + AutoTile layer of walls, and an Entity layer for placing Player and Goal entities. +If you already have an LDtk project suitable for tile-based gameplay - feel free to skip this section. +However, note that some of the values specified in here will be used in the tutorial going forward, such as... +- the name/location of the file (assets/tile-based-game.ldtk) +- the identifiers of the Player and Goal entities (Player, Goal) +- the IntGrid value of walls (1) + +For details about the tutorial in general, including prerequisites, please see the parent page. ## Create empty project Open the LDtk app and create a new project. From b5fc6aad47161fc3ae76d1d725afd6d36473a9ed Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 20 Nov 2023 20:30:00 -0700 Subject: [PATCH 13/49] docs: write introduction to spawn in bevy chapter --- .../tile-based-game/spawn-your-ldtk-project-in-bevy.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md index c14991dd..48fc6c1f 100644 --- a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -1 +1,9 @@ # Spawn your LDtk project in Bevy +In this section, you will load/spawn your LDtk project in Bevy, including spawning sprites for the LDtk entities. +This tutorial will use the LDtk project created in the previous section. +You are welcome to bring your own tile-based LDtk project to this tutorial, but some of the values specified in here are specific to the previous section, such as... +- the name/location of the file (assets/tile-based-game.ldtk) +- the identifiers of the Player and Goal entities (Player, Goal) +- the IntGrid value of walls (1) + +For details about the tutorial in general, including prerequisites, please see the parent page. From 8f7681de684fc3fd0eec63677df2be2ea5f893b1 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 20 Nov 2023 21:05:33 -0700 Subject: [PATCH 14/49] docs: set up tile_based_game.rs example somewhat --- examples/tile_based_game.rs | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 examples/tile_based_game.rs diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs new file mode 100644 index 00000000..d850b562 --- /dev/null +++ b/examples/tile_based_game.rs @@ -0,0 +1,68 @@ +use bevy::prelude::*; +use bevy_ecs_ldtk::prelude::*; +use std::collections::HashSet; + +fn main() { + App::new() + .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest())) + .add_plugins(LdtkPlugin) + .add_systems(Startup, setup) + .add_systems(Update, (move_player, cache_wall_locations, check_goal)) + .insert_resource(LevelSelection::index(0)) + .init_resource::() + .register_ldtk_entity::("Player") + .register_ldtk_entity::("Goal") + .run(); +} + +fn setup(mut commands: Commands, asset_server: Res) { + let mut camera = Camera2dBundle::default(); + camera.projection.scale = 0.5; + commands.spawn(camera); + + commands.spawn(LdtkWorldBundle { + ldtk_handle: asset_server.load("tile-based-game.ldtk"), + ..Default::default() + }); +} + +#[derive(Default, Component)] +struct Player; + +#[derive(Default, Bundle, LdtkEntity)] +struct PlayerBundle { + player: Player, + #[sprite_sheet_bundle] + sprite_bundle: SpriteSheetBundle, + #[grid_coords] + grid_coords: GridCoords, +} + +#[derive(Default, Component)] +struct Goal; + +#[derive(Default, Bundle, LdtkEntity)] +struct GoalBundle { + goal: Goal, + #[sprite_sheet_bundle] + sprite_bundle: SpriteSheetBundle, + #[grid_coords] + grid_coords: GridCoords, +} + +#[derive(Default, Component)] +struct Wall; + +#[derive(Default, Bundle, LdtkIntCell)] +struct WallBundle { + wall: Wall, +} + +#[derive(Default, Resource)] +struct WallLocations(HashSet); + +fn move_player() {} + +fn cache_wall_locations() {} + +fn check_goal() {} From 4dbdcd079c6d54d520e32bee0f543e49e8cf9fad Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 20 Nov 2023 21:06:03 -0700 Subject: [PATCH 15/49] docs: write set up minimal Bevy App section of tutorial and define the other sections of the spawn chapter --- .../spawn-your-ldtk-project-in-bevy.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md index 48fc6c1f..007c75e4 100644 --- a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -7,3 +7,23 @@ You are welcome to bring your own tile-based LDtk project to this tutorial, but - the IntGrid value of walls (1) For details about the tutorial in general, including prerequisites, please see the parent page. + +## Set up minimal Bevy App +In the `main` function of your game, create a Bevy `App` with `DefaultPlugins` and `LdtkPlugin`. +This code snippet also sets bevy's texture filtering to "nearest", which is good for pixelated games. +```rust,no_run +use bevy::prelude::*; +use bevy_ecs_ldtk::prelude::*; + +fn main() { + App::new() + .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest())) + .add_plugins(LdtkPlugin) + .run(); +} +``` + +## Spawn the camera and LdtkWorldBundle on startup + + +## Register sprite bundles for the LDtk entities From ef642f9707976e325c0a5605a57c344a32fd163a Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Tue, 21 Nov 2023 21:11:21 -0700 Subject: [PATCH 16/49] docs: order App builders for tile_based_game example in expected order of tutorial --- examples/tile_based_game.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index d850b562..f4132b91 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -7,17 +7,27 @@ fn main() { .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest())) .add_plugins(LdtkPlugin) .add_systems(Startup, setup) - .add_systems(Update, (move_player, cache_wall_locations, check_goal)) .insert_resource(LevelSelection::index(0)) - .init_resource::() .register_ldtk_entity::("Player") .register_ldtk_entity::("Goal") + .add_systems( + Update, + ( + move_player_from_input, + translate_grid_coords, + cache_wall_locations, + check_goal, + ), + ) + .init_resource::() .run(); } fn setup(mut commands: Commands, asset_server: Res) { let mut camera = Camera2dBundle::default(); camera.projection.scale = 0.5; + camera.transform.translation.x += 1280.0 / 4.0; + camera.transform.translation.y += 720.0 / 4.0; commands.spawn(camera); commands.spawn(LdtkWorldBundle { @@ -61,7 +71,9 @@ struct WallBundle { #[derive(Default, Resource)] struct WallLocations(HashSet); -fn move_player() {} +fn move_player_from_input() {} + +fn translate_grid_coords() {} fn cache_wall_locations() {} From 14878441c3b68cb0f16a4c7bc3bea25475cda831 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Tue, 21 Nov 2023 21:11:51 -0700 Subject: [PATCH 17/49] docs: write spawn camera and world bundle section of tutorial --- .../tile-based-game/images/bevy-setup.png | Bin 0 -> 9212 bytes .../spawn-your-ldtk-project-in-bevy.md | 38 ++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 book/src/tutorials/tile-based-game/images/bevy-setup.png diff --git a/book/src/tutorials/tile-based-game/images/bevy-setup.png b/book/src/tutorials/tile-based-game/images/bevy-setup.png new file mode 100644 index 0000000000000000000000000000000000000000..f78fa80592886c1edc08fb5b55d5baaacdc12c7b GIT binary patch literal 9212 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 literal 0 HcmV?d00001 diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md index 007c75e4..b0823712 100644 --- a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -24,6 +24,44 @@ fn main() { ``` ## Spawn the camera and LdtkWorldBundle on startup +Create a startup system that spawns a camera entity and a `LdtkWorldBundle` entity. +The latter requires a `Handle`, which can be obtained by loading your LDtk project from the Bevy `AssetServer` resource. +This code snippet also doubles the scale of the camera and adjusts its transform to make the level slightly easier to view in 720p. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +{{#include ../../../../examples/tile_based_game.rs:26:37}} +``` + +Add this as a `StartUp` system to the `App`. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +# fn setup() {} +fn main() { + App::new() + // other App builders +{{#include ../../../../examples/tile_based_game.rs:9}} + .run(); +} +``` + +Finally, insert the `LevelSelection` resource to tell the plugin to spawn the first level. +Construct the `LevelSelection` using its `index` method to select the level at index 0. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +fn main() { + App::new() + // other App builders +{{#include ../../../../examples/tile_based_game.rs:10}} + .run(); +} +``` + +Now, run the game with `$ cargo run --release` to see your first level spawning in Bevy! + +![bevy-setup](images/bevy-setup.png) ## Register sprite bundles for the LDtk entities From 2cc23cdf456eecb22dfc46f02716709713a8efc2 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Tue, 21 Nov 2023 21:22:35 -0700 Subject: [PATCH 18/49] docs: simplify code snippets in spawn-your-ldtk-project-in-bevy slightly --- .../spawn-your-ldtk-project-in-bevy.md | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md index b0823712..f802aa84 100644 --- a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -30,20 +30,14 @@ This code snippet also doubles the scale of the camera and adjusts its transform ```rust,no_run # use bevy::prelude::*; # use bevy_ecs_ldtk::prelude::*; -{{#include ../../../../examples/tile_based_game.rs:26:37}} -``` - -Add this as a `StartUp` system to the `App`. -```rust,no_run -# use bevy::prelude::*; -# use bevy_ecs_ldtk::prelude::*; -# fn setup() {} fn main() { App::new() // other App builders {{#include ../../../../examples/tile_based_game.rs:9}} .run(); } + +{{#include ../../../../examples/tile_based_game.rs:26:37}} ``` Finally, insert the `LevelSelection` resource to tell the plugin to spawn the first level. @@ -62,6 +56,3 @@ fn main() { Now, run the game with `$ cargo run --release` to see your first level spawning in Bevy! ![bevy-setup](images/bevy-setup.png) - - -## Register sprite bundles for the LDtk entities From fa64b51bb2291e537849baf89202e7c7497305ca Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Wed, 22 Nov 2023 21:11:18 -0700 Subject: [PATCH 19/49] docs: write the spawn sprites section of the tutorial --- .../tile-based-game/images/bevy-sprites.png | Bin 0 -> 9875 bytes .../spawn-your-ldtk-project-in-bevy.md | 68 ++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 book/src/tutorials/tile-based-game/images/bevy-sprites.png diff --git a/book/src/tutorials/tile-based-game/images/bevy-sprites.png b/book/src/tutorials/tile-based-game/images/bevy-sprites.png new file mode 100644 index 0000000000000000000000000000000000000000..107137f26ecc22f9a8e1b4934081ce08e0d5fbe8 GIT binary patch literal 9875 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 P2s(Gh@RwX|$2 Date: Wed, 22 Nov 2023 21:13:10 -0700 Subject: [PATCH 20/49] docs: remove reference to intgrid value in spawn-in-bevy intro --- .../tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md | 1 - 1 file changed, 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md index 31ea87ed..bd9e41b8 100644 --- a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -4,7 +4,6 @@ This tutorial will use the LDtk project created in the previous section. You are welcome to bring your own tile-based LDtk project to this tutorial, but some of the values specified in here are specific to the previous section, such as... - the name/location of the file (assets/tile-based-game.ldtk) - the identifiers of the Player and Goal entities (Player, Goal) -- the IntGrid value of walls (1) For details about the tutorial in general, including prerequisites, please see the parent page. From d8f30a58b15f8c433029c545bbc82bfe6a8b77e7 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Wed, 22 Nov 2023 21:13:33 -0700 Subject: [PATCH 21/49] docs: simplify the spawn sprites section to have fewer code snippets --- .../spawn-your-ldtk-project-in-bevy.md | 40 ++++++------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md index bd9e41b8..5ae017c9 100644 --- a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -62,21 +62,7 @@ They are there, but they require a little more work to become visible. Create a `PlayerBundle` and `GoalBundle`, each with a `SpriteSheetBundle` field. These will be developed a little bit more in the next chapter, but for now they will be similar. -```rust,no_run -# use bevy::prelude::*; -# use bevy_ecs_ldtk::prelude::*; -#[derive(Default, Bundle)] -struct PlayerBundle { - sprite_sheet_bundle: SpriteSheetBundle, -} - -#[derive(Default, Bundle)] -struct GoalBundle { - sprite_sheet_bundle: SpriteSheetBundle, -} -``` - -Now, derive `LdtkEntity` for these bundles, and give the field a `#[sprite_sheet_bundle]` attribute. +Derive `LdtkEntity` for these bundles, and give the field a `#[sprite_sheet_bundle]` attribute. This trait implementation defines how these bundles should be spawned by the plugin. More specifically - they should be spawned as sprites identical to the entity's editor visual. ```rust,no_run @@ -106,20 +92,18 @@ fn main() { {{#include ../../../../examples/tile_based_game.rs:11:12}} .run(); } - -#[derive(Default, Bundle, LdtkEntity)] -struct PlayerBundle { - #[sprite_sheet_bundle] - sprite_sheet_bundle: SpriteSheetBundle, -} - -#[derive(Default, Bundle, LdtkEntity)] -struct GoalBundle { - #[sprite_sheet_bundle] - sprite_sheet_bundle: SpriteSheetBundle, -} +# #[derive(Default, Bundle, LdtkEntity)] +# struct PlayerBundle { +# #[sprite_sheet_bundle] +# sprite_sheet_bundle: SpriteSheetBundle, +# } +# #[derive(Default, Bundle, LdtkEntity)] +# struct GoalBundle { +# #[sprite_sheet_bundle] +# sprite_sheet_bundle: SpriteSheetBundle, +# } ``` -Now run the game again - the sprites will spawn this time. +Now run the game again - the sprites will appear this time. ![bevy-sprites](images/bevy-sprites.png) From 328b7cf9ff94fdcc9879f9ecaf879dffd0369975 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Wed, 22 Nov 2023 21:28:35 -0700 Subject: [PATCH 22/49] docs: begin chapter on adding gameplay --- book/src/SUMMARY.md | 2 +- .../tile-based-game/add-gameplay-to-your-project.md | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 31cd5d70..00c85dd1 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -5,7 +5,7 @@ - [Tile-based Game](tutorials/tile-based-game/README.md) - [Create your LDtk project](tutorials/tile-based-game/create-your-ldtk-project.md) - [Spawn your LDtk project in Bevy](tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md) - - [Add gameplay to your project]() + - [Add gameplay to your project](tutorials/tile-based-game/add-gameplay-to-your-project.md) - [Platformer]() # Explanation - [Game Logic Integration]() diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md new file mode 100644 index 00000000..a6f78a02 --- /dev/null +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -0,0 +1,13 @@ +# Add gameplay to your project +In this section, you will integrate gameplay to the Bevy/LDtk project created in the previous sections. +This includes tile-based movement, collision, and level transitions. +You are welcome to bring your own tile-based LDtk project to this tutorial, but some of the values specified in here are specific to the previous section, such as... +- the IntGrid value of walls (1) + +For details about the tutorial in general, including prerequisites, please see the parent page. + +## Add input for tile-based movement + +## Prevent tile-based movement into walls + +## Trigger level transitions on victory From 88206b3c1127871073e02a0689c4e9436a531be9 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Wed, 22 Nov 2023 21:28:57 -0700 Subject: [PATCH 23/49] docs: rename system to translate_grid_coords_entities in tile_based_game example --- examples/tile_based_game.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index f4132b91..613befef 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -14,7 +14,7 @@ fn main() { Update, ( move_player_from_input, - translate_grid_coords, + translate_grid_coords_entities, cache_wall_locations, check_goal, ), @@ -73,7 +73,7 @@ struct WallLocations(HashSet); fn move_player_from_input() {} -fn translate_grid_coords() {} +fn translate_grid_coords_entities() {} fn cache_wall_locations() {} From 7bcb668b2236515fb4bc5b75a7aed6381534e816 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Wed, 22 Nov 2023 21:29:32 -0700 Subject: [PATCH 24/49] docs: add more data and methods to LevelWalls (previously WallLocations) resource --- examples/tile_based_game.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index 613befef..c95a69a4 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -69,7 +69,21 @@ struct WallBundle { } #[derive(Default, Resource)] -struct WallLocations(HashSet); +struct LevelWalls { + wall_locations: HashSet, + level_width: i32, + level_height: i32, +} + +impl LevelWalls { + fn in_wall(&self, grid_coords: &GridCoords) -> bool { + grid_coords.x < 0 + || grid_coords.y < 0 + || grid_coords.x >= self.level_width + || grid_coords.y >= self.level_height + || self.wall_locations.contains(grid_coords) + } +} fn move_player_from_input() {} From 4597a5c94223432393bd94875f094fb9ee55b760 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Wed, 22 Nov 2023 21:30:35 -0700 Subject: [PATCH 25/49] docs: finish rename of resource to LevelWalls --- examples/tile_based_game.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index c95a69a4..9b451e71 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -19,7 +19,7 @@ fn main() { check_goal, ), ) - .init_resource::() + .init_resource::() .run(); } From 7a5b0f72a9eed61108907b686cfcc25f8fb0f076 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Thu, 23 Nov 2023 18:46:07 -0700 Subject: [PATCH 26/49] docs: write initial move_player_from_input and translate_grid_coords_entities systems for tutorial --- examples/tile_based_game.rs | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index 9b451e71..ec911e4b 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -1,5 +1,5 @@ use bevy::prelude::*; -use bevy_ecs_ldtk::prelude::*; +use bevy_ecs_ldtk::{prelude::*, utils::grid_coords_to_translation}; use std::collections::HashSet; fn main() { @@ -85,9 +85,36 @@ impl LevelWalls { } } -fn move_player_from_input() {} +fn move_player_from_input( + mut players: Query<&mut GridCoords, With>, + input: Res>, +) { + let movement_direction = if input.just_pressed(KeyCode::W) { + GridCoords::new(0, 1) + } else if input.just_pressed(KeyCode::A) { + GridCoords::new(-1, 0) + } else if input.just_pressed(KeyCode::S) { + GridCoords::new(0, -1) + } else if input.just_pressed(KeyCode::D) { + GridCoords::new(1, 0) + } else { + return; + }; -fn translate_grid_coords_entities() {} + for mut player_grid_coords in players.iter_mut() { + let destination = *player_grid_coords + movement_direction; + *player_grid_coords = destination; + } +} + +fn translate_grid_coords_entities( + mut grid_coords_entities: Query<(&mut Transform, &GridCoords), Changed>, +) { + for (mut transform, grid_coords) in grid_coords_entities.iter_mut() { + transform.translation = grid_coords_to_translation(*grid_coords, IVec2::splat(16)) + .extend(transform.translation.z); + } +} fn cache_wall_locations() {} From 162755422754e86be09c37c2de08376b6e88236c Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Thu, 23 Nov 2023 18:46:26 -0700 Subject: [PATCH 27/49] docs: write section adding more components to the player in tutorial --- .../add-gameplay-to-your-project.md | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index a6f78a02..aadcc49c 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -6,7 +6,25 @@ You are welcome to bring your own tile-based LDtk project to this tutorial, but For details about the tutorial in general, including prerequisites, please see the parent page. -## Add input for tile-based movement +## Add marker component and `GridCoords` to the player +In order to implement tile-based movement and tile-based mechanics, you'll need to deal with an entity's position in tile-space rather than just Bevy world translation. +`bevy_ecs_ldtk` provides a component that is suitable for this - and it has integration with the `LdtkEntity` derive. +Add the `GridCoords` component to the player bundle and give it the `#[grid_coords]` attribute. +The player entity will then be spawned with a `GridCoords` component whose value matches the entity's position in grid-space. + +Also give it a `Player` marker component so that you can query for it more easily in future systems. +Derive default for this component. +`bevy_ecs_ldtk` will use this default implementation when spawning the component unless otherwise specified. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +{{#include ../../../../examples/tile_based_game.rs:39:49}} +``` + +## Implement tile-based movement + + +## Update translation ## Prevent tile-based movement into walls From 94f68a6a8822d5d74b7f83df3e7e5842221a8d51 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Thu, 23 Nov 2023 19:02:30 -0700 Subject: [PATCH 28/49] docs: add LevelWalls logic to movement system so tutorial can include this file correctly --- examples/tile_based_game.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index ec911e4b..fdb08078 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -1,5 +1,5 @@ use bevy::prelude::*; -use bevy_ecs_ldtk::{prelude::*, utils::grid_coords_to_translation}; +use bevy_ecs_ldtk::prelude::*; use std::collections::HashSet; fn main() { @@ -88,6 +88,7 @@ impl LevelWalls { fn move_player_from_input( mut players: Query<&mut GridCoords, With>, input: Res>, + level_walls: Res, ) { let movement_direction = if input.just_pressed(KeyCode::W) { GridCoords::new(0, 1) @@ -103,7 +104,9 @@ fn move_player_from_input( for mut player_grid_coords in players.iter_mut() { let destination = *player_grid_coords + movement_direction; - *player_grid_coords = destination; + if !level_walls.in_wall(&destination) { + *player_grid_coords = destination; + } } } @@ -111,8 +114,9 @@ fn translate_grid_coords_entities( mut grid_coords_entities: Query<(&mut Transform, &GridCoords), Changed>, ) { for (mut transform, grid_coords) in grid_coords_entities.iter_mut() { - transform.translation = grid_coords_to_translation(*grid_coords, IVec2::splat(16)) - .extend(transform.translation.z); + transform.translation = + bevy_ecs_ldtk::utils::grid_coords_to_translation(*grid_coords, IVec2::splat(16)) + .extend(transform.translation.z); } } From 67c2dabcefc92c3a5fef89abb529c6fda2eff997 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Thu, 23 Nov 2023 19:02:50 -0700 Subject: [PATCH 29/49] docs: write 'Implement tile-based movement' section of tile-based game tutorial --- .../add-gameplay-to-your-project.md | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index aadcc49c..fca94da4 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -22,9 +22,30 @@ Derive default for this component. ``` ## Implement tile-based movement +The player now has the components you will need to implement tile-based movement. +Write a system that checks for just-pressed WASD input and converts it to a `GridCoords` direction. +I.e., `(0,1)` for W, `(-1,0)` for A, `(0,-1)` for S, and `(1,0)` for D. +Then, add the new direction to the player entity's `GridCoords` component. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +# #[derive(Component)] +# struct Player; +fn main() { + App::new() + // other App builders + .add_systems(Update, move_player_from_input) + .run(); +} + +{{#include ../../../../examples/tile_based_game.rs:88:90}} +{{#include ../../../../examples/tile_based_game.rs:92:106}} + *player_grid_coords = destination; + } +} +``` - -## Update translation +## Update translation from `GridCoords` value ## Prevent tile-based movement into walls From 98e75c69a9227d5c53fc419f78daa8d7da2ea226 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Thu, 23 Nov 2023 19:13:04 -0700 Subject: [PATCH 30/49] docs: write 'Update translation from GridCoords value' section of tile-based-game tutorial --- .../add-gameplay-to-your-project.md | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index fca94da4..a4c90080 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -8,7 +8,7 @@ For details about the tutorial in general, including prerequisites, please see t ## Add marker component and `GridCoords` to the player In order to implement tile-based movement and tile-based mechanics, you'll need to deal with an entity's position in tile-space rather than just Bevy world translation. -`bevy_ecs_ldtk` provides a component that is suitable for this - and it has integration with the `LdtkEntity` derive. +`bevy_ecs_ldtk` provides a component that is suitable for this, and it has integration with the `LdtkEntity` derive. Add the `GridCoords` component to the player bundle and give it the `#[grid_coords]` attribute. The player entity will then be spawned with a `GridCoords` component whose value matches the entity's position in grid-space. @@ -46,6 +46,29 @@ fn main() { ``` ## Update translation from `GridCoords` value +If you play the game at this point, you'll notice that the player entity doesn't appear to be moving at all. +The `GridCoords` component may be updating correctly, but the entity's `Transform` is what determines where it is rendered. +`bevy_ecs_ldtk` does not maintain the `Transform` of `GridCoords` entities automatically. +This is left up to the user, which allows you to implement custom lerping or animation of the transform as you please. + +Write a system that updates the `Transform` of `GridCoords` entities when their `GridCoords` value changes. +`bevy_ecs_ldtk` does provide a utility function to help calculate the resulting translation - providing you know the size of the cells of the grid. +For the LDtk project set up in this tutorial using the `SunnyLand` tilesets, this grid size is 16. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +# fn move_player_from_input() {} +fn main() { + App::new() + // other App builders +{{#include ../../../../examples/tile_based_game.rs:13:17}} + ), + ) + .run(); +} + +{{#include ../../../../examples/tile_based_game.rs:113:121}} +``` ## Prevent tile-based movement into walls From b47327357843174c3bdc2ae4a0e45cc97c077cc4 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sat, 25 Nov 2023 18:15:15 -0700 Subject: [PATCH 31/49] docs: register WallBundle in tile_based_game example and update code references for line changes --- .../tile-based-game/add-gameplay-to-your-project.md | 8 ++++---- .../tile-based-game/spawn-your-ldtk-project-in-bevy.md | 2 +- examples/tile_based_game.rs | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index a4c90080..193abd5f 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -18,7 +18,7 @@ Derive default for this component. ```rust,no_run # use bevy::prelude::*; # use bevy_ecs_ldtk::prelude::*; -{{#include ../../../../examples/tile_based_game.rs:39:49}} +{{#include ../../../../examples/tile_based_game.rs:40:50}} ``` ## Implement tile-based movement @@ -38,8 +38,8 @@ fn main() { .run(); } -{{#include ../../../../examples/tile_based_game.rs:88:90}} -{{#include ../../../../examples/tile_based_game.rs:92:106}} +{{#include ../../../../examples/tile_based_game.rs:89:91}} +{{#include ../../../../examples/tile_based_game.rs:93:107}} *player_grid_coords = destination; } } @@ -67,7 +67,7 @@ fn main() { .run(); } -{{#include ../../../../examples/tile_based_game.rs:113:121}} +{{#include ../../../../examples/tile_based_game.rs:114:122}} ``` ## Prevent tile-based movement into walls diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md index 5ae017c9..66355697 100644 --- a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -36,7 +36,7 @@ fn main() { .run(); } -{{#include ../../../../examples/tile_based_game.rs:26:37}} +{{#include ../../../../examples/tile_based_game.rs:27:38}} ``` Finally, insert the `LevelSelection` resource to tell the plugin to spawn the first level. diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index fdb08078..03fbddfe 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -19,6 +19,7 @@ fn main() { check_goal, ), ) + .register_ldtk_int_cell::(1) .init_resource::() .run(); } From 37b7cc06ce6ada1d09b092d1073fb8f77796b3f6 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sat, 25 Nov 2023 18:15:31 -0700 Subject: [PATCH 32/49] docs: write cache_wall_locations system in tile_based_game example --- examples/tile_based_game.rs | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index 03fbddfe..9ac81159 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -121,6 +121,36 @@ fn translate_grid_coords_entities( } } -fn cache_wall_locations() {} +fn cache_wall_locations( + mut level_walls: ResMut, + mut level_events: EventReader, + walls: Query<&GridCoords, With>, + ldtk_project_entities: Query<&Handle>, + ldtk_project_assets: Res>, +) { + for level_event in level_events.iter() { + match level_event { + LevelEvent::Spawned(level_iid) => { + let ldtk_project = ldtk_project_assets + .get(&ldtk_project_entities.single()) + .expect("LdtkProject should be loaded when level is spawned"); + let level = ldtk_project + .get_raw_level_by_iid(level_iid.get()) + .expect("spawned level should exist in project"); + + let wall_locations = walls.iter().copied().collect(); + + let new_level_walls = LevelWalls { + wall_locations, + level_width: level.px_wid / 16, + level_height: level.px_hei / 16, + }; + + *level_walls = new_level_walls; + } + _ => (), + } + } +} fn check_goal() {} From 909128126aa281abaf9f716062a3d57afac3e4f1 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sat, 25 Nov 2023 18:57:28 -0700 Subject: [PATCH 33/49] docs: use a GRID_SIZE const in tile_based_game example --- .../tile-based-game/add-gameplay-to-your-project.md | 2 +- examples/tile_based_game.rs | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index 193abd5f..0daa72e4 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -67,7 +67,7 @@ fn main() { .run(); } -{{#include ../../../../examples/tile_based_game.rs:114:122}} +{{#include ../../../../examples/tile_based_game.rs:114:124}} ``` ## Prevent tile-based movement into walls diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index 9ac81159..53cd27c2 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -111,12 +111,14 @@ fn move_player_from_input( } } +const GRID_SIZE: i32 = 16; + fn translate_grid_coords_entities( mut grid_coords_entities: Query<(&mut Transform, &GridCoords), Changed>, ) { for (mut transform, grid_coords) in grid_coords_entities.iter_mut() { transform.translation = - bevy_ecs_ldtk::utils::grid_coords_to_translation(*grid_coords, IVec2::splat(16)) + bevy_ecs_ldtk::utils::grid_coords_to_translation(*grid_coords, IVec2::splat(GRID_SIZE)) .extend(transform.translation.z); } } @@ -142,8 +144,8 @@ fn cache_wall_locations( let new_level_walls = LevelWalls { wall_locations, - level_width: level.px_wid / 16, - level_height: level.px_hei / 16, + level_width: level.px_wid / GRID_SIZE, + level_height: level.px_hei / GRID_SIZE, }; *level_walls = new_level_walls; From baac1f259b7593d340e8882b6eaecdd00eeecbca Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sat, 25 Nov 2023 18:57:48 -0700 Subject: [PATCH 34/49] docs: write 'prevent tile-based movement into walls' section of tile-based game tutorial --- .../add-gameplay-to-your-project.md | 108 +++++++++++++++++- 1 file changed, 107 insertions(+), 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index 0daa72e4..b49ac213 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -70,6 +70,112 @@ fn main() { {{#include ../../../../examples/tile_based_game.rs:114:124}} ``` -## Prevent tile-based movement into walls +## Prevent tile-based movement into walls +Movement works logically *and* visually now. +However, you might notice that you can move *into* the walls of the level. +To implement tile-based collision, you will need to add components to the walls to identify their locations, and check against these locations when trying to move the player. + +Create a new bundle for the wall entities, and give them a marker component. +Derive `LdtkIntCell` for this bundle, and register it to the app with `register_ldtk_int_cell` and the wall's intgrid value. +This bundle actually only needs this one marker component - IntGrid entities spawn with a `GridCoords` without requesting it. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +fn main() { + App::new() + // other App builders +{{#include ../../../../examples/tile_based_game.rs:22}} + .run(); +} + +{{#include ../../../../examples/tile_based_game.rs:64:70}} +``` + +There are a lot of ways to go about implementing the collision systems. +Naively, you could query for all of the `Wall` entities every time the player tries to move and check their `GridCoords` values. +In this tutorial, you will implement something a little more optimized: caching the wall locations into a resource when levels spawn. + +Create a `LevelWalls` resource for storing the current wall locations that can be looked up by-value. +Give it a `HashSet` field for the wall locations. +Give it fields for the level's width and height as well so you can prevent the player from moving out-of-bounds. +Then, implement a method `fn in_wall(&self, grid_coords: &GridCoords) -> bool` that returns true if the provided `grid_coords` is outside the level bounds or contained in the `HashSet`. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +use std::collections::HashSet; + +fn main() { + App::new() + // other App builders +{{#include ../../../../examples/tile_based_game.rs:23}} + .run(); +} + +{{#include ../../../../examples/tile_based_game.rs:72:87}} +``` + +Now, add a system that listens for `LevelEvent::Spawned` and populates this resource. +It will need access to all of the wall locations to populate the `HashSet` (`Query<&GridCoords, With>`). +It will also need access to the `LdtkProject` data to find the current level's width/height (`Query<&Handle>` and `Res>`). +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +# use std::collections::HashSet; +# const GRID_SIZE: i32 = 16; +# #[derive(Default, Resource)] +# struct LevelWalls { +# wall_locations: HashSet, +# level_width: i32, +# level_height: i32, +# } +# impl LevelWalls { +# fn in_wall(&self, grid_coords: &GridCoords) -> bool { +# grid_coords.x < 0 +# || grid_coords.y < 0 +# || grid_coords.x >= self.level_width +# || grid_coords.y >= self.level_height +# || self.wall_locations.contains(grid_coords) +# } +# } +# #[derive(Component)] +# struct Wall; +# fn move_player_from_input() {} +# fn translate_grid_coords_entities() {} +fn main() { + App::new() + // other App builders +{{#include ../../../../examples/tile_based_game.rs:13:18}} + ) + ) + .run(); +} + +{{#include ../../../../examples/tile_based_game.rs:126:156}} +``` + +Finally, update the `move_player_from_input` system to access the `LevelWalls` resource and check whether or not the player's destination is in a wall. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +# use std::collections::HashSet; +# #[derive(Component)] +# struct Player; +# #[derive(Default, Resource)] +# struct LevelWalls { +# wall_locations: HashSet, +# level_width: i32, +# level_height: i32, +# } +# impl LevelWalls { +# fn in_wall(&self, grid_coords: &GridCoords) -> bool { +# grid_coords.x < 0 +# || grid_coords.y < 0 +# || grid_coords.x >= self.level_width +# || grid_coords.y >= self.level_height +# || self.wall_locations.contains(grid_coords) +# } +# } +{{#include ../../../../examples/tile_based_game.rs:89:112}} +``` ## Trigger level transitions on victory From 86e61825987d6b63025bf2f5e6b0dbf5cd7a7a70 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 26 Nov 2023 12:35:40 -0700 Subject: [PATCH 35/49] docs: write 'Trigger level transitions on victory' section of tutorial --- .../add-gameplay-to-your-project.md | 37 +++++++++++++++++++ examples/tile_based_game.rs | 19 +++++++++- 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index b49ac213..f1c66a8a 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -178,4 +178,41 @@ Finally, update the `move_player_from_input` system to access the `LevelWalls` r {{#include ../../../../examples/tile_based_game.rs:89:112}} ``` +With this check in place, the player should now be unable to move into walls! + ## Trigger level transitions on victory +The final step is to implement the goal functionality. +When the player reaches the goal, the next level should spawn until there are no levels remaining. + +Similar to the `PlayerBundle`, give the `GoalBundle` its own marker component and `GridCoords`. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +{{#include ../../../../examples/tile_based_game.rs:52:62}} +``` + +Then, write a system that checks if the player's `GridCoords` and the goal's `GridCoords` match. +For a small optimization, filter the player query for `Changed` so it's only populated if the player moves. +If they do match, update the `LevelSelection` resource, increasing its level index by 1. +`bevy_ecs_ldtk` will automatically despawn the current level and spawn the next one when this resource is updated. +```rust,no_run +# use bevy::prelude::*; +# use bevy_ecs_ldtk::prelude::*; +# #[derive(Component)] +# struct Player; +# #[derive(Component)] +# struct Goal; +# fn move_player_from_input() {} +# fn translate_grid_coords_entities() {} +# fn cache_wall_locations() {} +fn main() { + App::new() + // other App builders +{{#include ../../../../examples/tile_based_game.rs:13:21}} + .run(); +} + +{{#include ../../../../examples/tile_based_game.rs:158::}} +``` + +With this, the simple tile-based game is complete. diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index 53cd27c2..c28df6aa 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -155,4 +155,21 @@ fn cache_wall_locations( } } -fn check_goal() {} +fn check_goal( + level_selection: ResMut, + players: Query<&GridCoords, (With, Changed)>, + goals: Query<&GridCoords, With>, +) { + if players + .iter() + .zip(goals.iter()) + .any(|(player_grid_coords, goal_grid_coords)| player_grid_coords == goal_grid_coords) + { + let indices = match level_selection.into_inner() { + LevelSelection::Indices(indices) => indices, + _ => panic!("level selection should always be Indices in this game"), + }; + + indices.level += 1; + } +} From 048cc8cf5101ea601e956f72e02e719262f7f1e4 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 26 Nov 2023 13:14:15 -0700 Subject: [PATCH 36/49] docs: add final 'Game Over' level to tile based game --- assets/tile-based-game.ldtk | 363 +++++++++++++++++++++++++++++++++++- 1 file changed, 362 insertions(+), 1 deletion(-) diff --git a/assets/tile-based-game.ldtk b/assets/tile-based-game.ldtk index 70ad5f9d..b330e699 100644 --- a/assets/tile-based-game.ldtk +++ b/assets/tile-based-game.ldtk @@ -11,7 +11,7 @@ "iid": "96b74480-6280-11ee-9465-71258fcae37f", "jsonVersion": "1.4.1", "appBuildId": 471698, - "nextUid": 67, + "nextUid": 68, "identifierStyle": "Capitalize", "toc": [], "worldLayout": "LinearHorizontal", @@ -1305,6 +1305,367 @@ } ], "__neighbours": [] + }, + { + "identifier": "Level_3", + "iid": "ed46e220-8990-11ee-9d82-9f8809be02fe", + "uid": 67, + "worldX": -1, + "worldY": -1, + "worldDepth": 0, + "pxWid": 320, + "pxHei": 208, + "__bgColor": "#696A79", + "bgColor": null, + "useAutoIdentifier": true, + "bgRelPath": null, + "bgPos": null, + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#ADADB5", + "__bgPos": null, + "externalRelPath": null, + "fieldInstances": [], + "layerInstances": [ + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 20, + "__cHei": 13, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "ed46e221-8990-11ee-9d82-f1591789ff15", + "levelId": 67, + "layerDefUid": 60, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 8110233, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Player", + "__grid": [9,6], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 3, "x": 0, "y": 0, "w": 32, "h": 32 }, + "__smartColor": "#BE4A2F", + "__worldX": 944, + "__worldY": 96, + "iid": "2760d880-8990-11ee-9d82-d960c095a886", + "width": 16, + "height": 16, + "defUid": 62, + "px": [144,96], + "fieldInstances": [] + } + ] + }, + { + "__identifier": "Walls", + "__type": "IntGrid", + "__cWid": 20, + "__cHei": 13, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 4, + "__tilesetRelPath": "atlas/SunnyLand_by_Ansimuz-extended.png", + "iid": "ed46e222-8990-11ee-9d82-77bd202b92c3", + "levelId": 67, + "layerDefUid": 7, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1, + 0,1,1,1,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,1,0,1,0,0,1,1,1,0, + 1,0,1,0,1,0,1,1,0,0,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,1,1, + 0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,0,1,0,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,1, + 0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,1,0,1,0,1,0, + 1,0,0,0,1,0,1,0,0,0,0,0,1,1,1,0,0,1,0,0,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + ], + "autoLayerTiles": [ + { "px": [0,0], "src": [320,272], "f": 0, "t": 411, "d": [52,0], "a": 1 }, + { "px": [16,0], "src": [320,272], "f": 0, "t": 411, "d": [52,1], "a": 1 }, + { "px": [32,0], "src": [320,272], "f": 0, "t": 411, "d": [52,2], "a": 1 }, + { "px": [48,0], "src": [320,272], "f": 0, "t": 411, "d": [52,3], "a": 1 }, + { "px": [64,0], "src": [320,272], "f": 0, "t": 411, "d": [52,4], "a": 1 }, + { "px": [80,0], "src": [320,272], "f": 0, "t": 411, "d": [52,5], "a": 1 }, + { "px": [96,0], "src": [320,272], "f": 0, "t": 411, "d": [52,6], "a": 1 }, + { "px": [112,0], "src": [320,272], "f": 0, "t": 411, "d": [52,7], "a": 1 }, + { "px": [128,0], "src": [320,272], "f": 0, "t": 411, "d": [52,8], "a": 1 }, + { "px": [144,0], "src": [320,272], "f": 0, "t": 411, "d": [52,9], "a": 1 }, + { "px": [160,0], "src": [320,272], "f": 0, "t": 411, "d": [52,10], "a": 1 }, + { "px": [176,0], "src": [320,272], "f": 0, "t": 411, "d": [52,11], "a": 1 }, + { "px": [192,0], "src": [320,272], "f": 0, "t": 411, "d": [52,12], "a": 1 }, + { "px": [208,0], "src": [320,272], "f": 0, "t": 411, "d": [52,13], "a": 1 }, + { "px": [224,0], "src": [320,272], "f": 0, "t": 411, "d": [52,14], "a": 1 }, + { "px": [240,0], "src": [320,272], "f": 0, "t": 411, "d": [52,15], "a": 1 }, + { "px": [256,0], "src": [320,272], "f": 0, "t": 411, "d": [52,16], "a": 1 }, + { "px": [272,0], "src": [320,272], "f": 0, "t": 411, "d": [52,17], "a": 1 }, + { "px": [288,0], "src": [320,272], "f": 0, "t": 411, "d": [52,18], "a": 1 }, + { "px": [304,0], "src": [320,272], "f": 0, "t": 411, "d": [52,19], "a": 1 }, + { "px": [0,16], "src": [320,272], "f": 0, "t": 411, "d": [52,20], "a": 1 }, + { "px": [16,16], "src": [320,272], "f": 0, "t": 411, "d": [52,21], "a": 1 }, + { "px": [80,16], "src": [320,272], "f": 0, "t": 411, "d": [52,25], "a": 1 }, + { "px": [144,16], "src": [320,272], "f": 0, "t": 411, "d": [52,29], "a": 1 }, + { "px": [240,16], "src": [320,272], "f": 0, "t": 411, "d": [52,35], "a": 1 }, + { "px": [304,16], "src": [320,272], "f": 0, "t": 411, "d": [52,39], "a": 1 }, + { "px": [0,32], "src": [320,272], "f": 0, "t": 411, "d": [52,40], "a": 1 }, + { "px": [32,32], "src": [320,272], "f": 0, "t": 411, "d": [52,42], "a": 1 }, + { "px": [48,32], "src": [320,272], "f": 0, "t": 411, "d": [52,43], "a": 1 }, + { "px": [64,32], "src": [320,272], "f": 0, "t": 411, "d": [52,44], "a": 1 }, + { "px": [80,32], "src": [320,272], "f": 0, "t": 411, "d": [52,45], "a": 1 }, + { "px": [112,32], "src": [320,272], "f": 0, "t": 411, "d": [52,47], "a": 1 }, + { "px": [144,32], "src": [320,272], "f": 0, "t": 411, "d": [52,49], "a": 1 }, + { "px": [176,32], "src": [320,272], "f": 0, "t": 411, "d": [52,51], "a": 1 }, + { "px": [208,32], "src": [320,272], "f": 0, "t": 411, "d": [52,53], "a": 1 }, + { "px": [240,32], "src": [320,272], "f": 0, "t": 411, "d": [52,55], "a": 1 }, + { "px": [272,32], "src": [320,272], "f": 0, "t": 411, "d": [52,57], "a": 1 }, + { "px": [288,32], "src": [320,272], "f": 0, "t": 411, "d": [52,58], "a": 1 }, + { "px": [304,32], "src": [320,272], "f": 0, "t": 411, "d": [52,59], "a": 1 }, + { "px": [0,48], "src": [320,272], "f": 0, "t": 411, "d": [52,60], "a": 1 }, + { "px": [32,48], "src": [320,272], "f": 0, "t": 411, "d": [52,62], "a": 1 }, + { "px": [64,48], "src": [320,272], "f": 0, "t": 411, "d": [52,64], "a": 1 }, + { "px": [80,48], "src": [320,272], "f": 0, "t": 411, "d": [52,65], "a": 1 }, + { "px": [144,48], "src": [320,272], "f": 0, "t": 411, "d": [52,69], "a": 1 }, + { "px": [176,48], "src": [320,272], "f": 0, "t": 411, "d": [52,71], "a": 1 }, + { "px": [208,48], "src": [320,272], "f": 0, "t": 411, "d": [52,73], "a": 1 }, + { "px": [240,48], "src": [320,272], "f": 0, "t": 411, "d": [52,75], "a": 1 }, + { "px": [288,48], "src": [320,272], "f": 0, "t": 411, "d": [52,78], "a": 1 }, + { "px": [304,48], "src": [320,272], "f": 0, "t": 411, "d": [52,79], "a": 1 }, + { "px": [0,64], "src": [320,272], "f": 0, "t": 411, "d": [52,80], "a": 1 }, + { "px": [32,64], "src": [320,272], "f": 0, "t": 411, "d": [52,82], "a": 1 }, + { "px": [48,64], "src": [320,272], "f": 0, "t": 411, "d": [52,83], "a": 1 }, + { "px": [80,64], "src": [320,272], "f": 0, "t": 411, "d": [52,85], "a": 1 }, + { "px": [112,64], "src": [320,272], "f": 0, "t": 411, "d": [52,87], "a": 1 }, + { "px": [144,64], "src": [320,272], "f": 0, "t": 411, "d": [52,89], "a": 1 }, + { "px": [176,64], "src": [320,272], "f": 0, "t": 411, "d": [52,91], "a": 1 }, + { "px": [208,64], "src": [320,272], "f": 0, "t": 411, "d": [52,93], "a": 1 }, + { "px": [240,64], "src": [320,272], "f": 0, "t": 411, "d": [52,95], "a": 1 }, + { "px": [272,64], "src": [320,272], "f": 0, "t": 411, "d": [52,97], "a": 1 }, + { "px": [288,64], "src": [320,272], "f": 0, "t": 411, "d": [52,98], "a": 1 }, + { "px": [304,64], "src": [320,272], "f": 0, "t": 411, "d": [52,99], "a": 1 }, + { "px": [0,80], "src": [320,272], "f": 0, "t": 411, "d": [52,100], "a": 1 }, + { "px": [16,80], "src": [320,272], "f": 0, "t": 411, "d": [52,101], "a": 1 }, + { "px": [80,80], "src": [320,272], "f": 0, "t": 411, "d": [52,105], "a": 1 }, + { "px": [112,80], "src": [320,272], "f": 0, "t": 411, "d": [52,107], "a": 1 }, + { "px": [144,80], "src": [320,272], "f": 0, "t": 411, "d": [52,109], "a": 1 }, + { "px": [176,80], "src": [320,272], "f": 0, "t": 411, "d": [52,111], "a": 1 }, + { "px": [208,80], "src": [320,272], "f": 0, "t": 411, "d": [52,113], "a": 1 }, + { "px": [240,80], "src": [320,272], "f": 0, "t": 411, "d": [52,115], "a": 1 }, + { "px": [304,80], "src": [320,272], "f": 0, "t": 411, "d": [52,119], "a": 1 }, + { "px": [0,96], "src": [320,272], "f": 0, "t": 411, "d": [52,120], "a": 1 }, + { "px": [16,96], "src": [320,272], "f": 0, "t": 411, "d": [52,121], "a": 1 }, + { "px": [32,96], "src": [320,272], "f": 0, "t": 411, "d": [52,122], "a": 1 }, + { "px": [48,96], "src": [320,272], "f": 0, "t": 411, "d": [52,123], "a": 1 }, + { "px": [64,96], "src": [320,272], "f": 0, "t": 411, "d": [52,124], "a": 1 }, + { "px": [80,96], "src": [320,272], "f": 0, "t": 411, "d": [52,125], "a": 1 }, + { "px": [96,96], "src": [320,272], "f": 0, "t": 411, "d": [52,126], "a": 1 }, + { "px": [112,96], "src": [320,272], "f": 0, "t": 411, "d": [52,127], "a": 1 }, + { "px": [128,96], "src": [320,272], "f": 0, "t": 411, "d": [52,128], "a": 1 }, + { "px": [144,96], "src": [320,272], "f": 0, "t": 411, "d": [52,129], "a": 1 }, + { "px": [160,96], "src": [320,272], "f": 0, "t": 411, "d": [52,130], "a": 1 }, + { "px": [176,96], "src": [320,272], "f": 0, "t": 411, "d": [52,131], "a": 1 }, + { "px": [192,96], "src": [320,272], "f": 0, "t": 411, "d": [52,132], "a": 1 }, + { "px": [208,96], "src": [320,272], "f": 0, "t": 411, "d": [52,133], "a": 1 }, + { "px": [224,96], "src": [320,272], "f": 0, "t": 411, "d": [52,134], "a": 1 }, + { "px": [240,96], "src": [320,272], "f": 0, "t": 411, "d": [52,135], "a": 1 }, + { "px": [256,96], "src": [320,272], "f": 0, "t": 411, "d": [52,136], "a": 1 }, + { "px": [272,96], "src": [320,272], "f": 0, "t": 411, "d": [52,137], "a": 1 }, + { "px": [288,96], "src": [320,272], "f": 0, "t": 411, "d": [52,138], "a": 1 }, + { "px": [304,96], "src": [320,272], "f": 0, "t": 411, "d": [52,139], "a": 1 }, + { "px": [0,112], "src": [320,272], "f": 0, "t": 411, "d": [52,140], "a": 1 }, + { "px": [16,112], "src": [320,272], "f": 0, "t": 411, "d": [52,141], "a": 1 }, + { "px": [80,112], "src": [320,272], "f": 0, "t": 411, "d": [52,145], "a": 1 }, + { "px": [112,112], "src": [320,272], "f": 0, "t": 411, "d": [52,147], "a": 1 }, + { "px": [144,112], "src": [320,272], "f": 0, "t": 411, "d": [52,149], "a": 1 }, + { "px": [208,112], "src": [320,272], "f": 0, "t": 411, "d": [52,153], "a": 1 }, + { "px": [272,112], "src": [320,272], "f": 0, "t": 411, "d": [52,157], "a": 1 }, + { "px": [288,112], "src": [320,272], "f": 0, "t": 411, "d": [52,158], "a": 1 }, + { "px": [304,112], "src": [320,272], "f": 0, "t": 411, "d": [52,159], "a": 1 }, + { "px": [0,128], "src": [320,272], "f": 0, "t": 411, "d": [52,160], "a": 1 }, + { "px": [16,128], "src": [320,272], "f": 0, "t": 411, "d": [52,161], "a": 1 }, + { "px": [48,128], "src": [320,272], "f": 0, "t": 411, "d": [52,163], "a": 1 }, + { "px": [80,128], "src": [320,272], "f": 0, "t": 411, "d": [52,165], "a": 1 }, + { "px": [112,128], "src": [320,272], "f": 0, "t": 411, "d": [52,167], "a": 1 }, + { "px": [144,128], "src": [320,272], "f": 0, "t": 411, "d": [52,169], "a": 1 }, + { "px": [176,128], "src": [320,272], "f": 0, "t": 411, "d": [52,171], "a": 1 }, + { "px": [192,128], "src": [320,272], "f": 0, "t": 411, "d": [52,172], "a": 1 }, + { "px": [208,128], "src": [320,272], "f": 0, "t": 411, "d": [52,173], "a": 1 }, + { "px": [240,128], "src": [320,272], "f": 0, "t": 411, "d": [52,175], "a": 1 }, + { "px": [272,128], "src": [320,272], "f": 0, "t": 411, "d": [52,177], "a": 1 }, + { "px": [288,128], "src": [320,272], "f": 0, "t": 411, "d": [52,178], "a": 1 }, + { "px": [304,128], "src": [320,272], "f": 0, "t": 411, "d": [52,179], "a": 1 }, + { "px": [0,144], "src": [320,272], "f": 0, "t": 411, "d": [52,180], "a": 1 }, + { "px": [16,144], "src": [320,272], "f": 0, "t": 411, "d": [52,181], "a": 1 }, + { "px": [48,144], "src": [320,272], "f": 0, "t": 411, "d": [52,183], "a": 1 }, + { "px": [80,144], "src": [320,272], "f": 0, "t": 411, "d": [52,185], "a": 1 }, + { "px": [112,144], "src": [320,272], "f": 0, "t": 411, "d": [52,187], "a": 1 }, + { "px": [144,144], "src": [320,272], "f": 0, "t": 411, "d": [52,189], "a": 1 }, + { "px": [192,144], "src": [320,272], "f": 0, "t": 411, "d": [52,192], "a": 1 }, + { "px": [208,144], "src": [320,272], "f": 0, "t": 411, "d": [52,193], "a": 1 }, + { "px": [256,144], "src": [320,272], "f": 0, "t": 411, "d": [52,196], "a": 1 }, + { "px": [272,144], "src": [320,272], "f": 0, "t": 411, "d": [52,197], "a": 1 }, + { "px": [288,144], "src": [320,272], "f": 0, "t": 411, "d": [52,198], "a": 1 }, + { "px": [304,144], "src": [320,272], "f": 0, "t": 411, "d": [52,199], "a": 1 }, + { "px": [0,160], "src": [320,272], "f": 0, "t": 411, "d": [52,200], "a": 1 }, + { "px": [16,160], "src": [320,272], "f": 0, "t": 411, "d": [52,201], "a": 1 }, + { "px": [48,160], "src": [320,272], "f": 0, "t": 411, "d": [52,203], "a": 1 }, + { "px": [80,160], "src": [320,272], "f": 0, "t": 411, "d": [52,205], "a": 1 }, + { "px": [112,160], "src": [320,272], "f": 0, "t": 411, "d": [52,207], "a": 1 }, + { "px": [144,160], "src": [320,272], "f": 0, "t": 411, "d": [52,209], "a": 1 }, + { "px": [176,160], "src": [320,272], "f": 0, "t": 411, "d": [52,211], "a": 1 }, + { "px": [192,160], "src": [320,272], "f": 0, "t": 411, "d": [52,212], "a": 1 }, + { "px": [208,160], "src": [320,272], "f": 0, "t": 411, "d": [52,213], "a": 1 }, + { "px": [240,160], "src": [320,272], "f": 0, "t": 411, "d": [52,215], "a": 1 }, + { "px": [272,160], "src": [320,272], "f": 0, "t": 411, "d": [52,217], "a": 1 }, + { "px": [288,160], "src": [320,272], "f": 0, "t": 411, "d": [52,218], "a": 1 }, + { "px": [304,160], "src": [320,272], "f": 0, "t": 411, "d": [52,219], "a": 1 }, + { "px": [0,176], "src": [320,272], "f": 0, "t": 411, "d": [52,220], "a": 1 }, + { "px": [16,176], "src": [320,272], "f": 0, "t": 411, "d": [52,221], "a": 1 }, + { "px": [80,176], "src": [320,272], "f": 0, "t": 411, "d": [52,225], "a": 1 }, + { "px": [96,176], "src": [320,272], "f": 0, "t": 411, "d": [52,226], "a": 1 }, + { "px": [128,176], "src": [320,272], "f": 0, "t": 411, "d": [52,228], "a": 1 }, + { "px": [144,176], "src": [320,272], "f": 0, "t": 411, "d": [52,229], "a": 1 }, + { "px": [208,176], "src": [320,272], "f": 0, "t": 411, "d": [52,233], "a": 1 }, + { "px": [240,176], "src": [320,272], "f": 0, "t": 411, "d": [52,235], "a": 1 }, + { "px": [272,176], "src": [320,272], "f": 0, "t": 411, "d": [52,237], "a": 1 }, + { "px": [288,176], "src": [320,272], "f": 0, "t": 411, "d": [52,238], "a": 1 }, + { "px": [304,176], "src": [320,272], "f": 0, "t": 411, "d": [52,239], "a": 1 }, + { "px": [0,192], "src": [320,272], "f": 0, "t": 411, "d": [52,240], "a": 1 }, + { "px": [16,192], "src": [320,272], "f": 0, "t": 411, "d": [52,241], "a": 1 }, + { "px": [32,192], "src": [320,272], "f": 0, "t": 411, "d": [52,242], "a": 1 }, + { "px": [48,192], "src": [320,272], "f": 0, "t": 411, "d": [52,243], "a": 1 }, + { "px": [64,192], "src": [320,272], "f": 0, "t": 411, "d": [52,244], "a": 1 }, + { "px": [80,192], "src": [320,272], "f": 0, "t": 411, "d": [52,245], "a": 1 }, + { "px": [96,192], "src": [320,272], "f": 0, "t": 411, "d": [52,246], "a": 1 }, + { "px": [112,192], "src": [320,272], "f": 0, "t": 411, "d": [52,247], "a": 1 }, + { "px": [128,192], "src": [320,272], "f": 0, "t": 411, "d": [52,248], "a": 1 }, + { "px": [144,192], "src": [320,272], "f": 0, "t": 411, "d": [52,249], "a": 1 }, + { "px": [160,192], "src": [320,272], "f": 0, "t": 411, "d": [52,250], "a": 1 }, + { "px": [176,192], "src": [320,272], "f": 0, "t": 411, "d": [52,251], "a": 1 }, + { "px": [192,192], "src": [320,272], "f": 0, "t": 411, "d": [52,252], "a": 1 }, + { "px": [208,192], "src": [320,272], "f": 0, "t": 411, "d": [52,253], "a": 1 }, + { "px": [224,192], "src": [320,272], "f": 0, "t": 411, "d": [52,254], "a": 1 }, + { "px": [240,192], "src": [320,272], "f": 0, "t": 411, "d": [52,255], "a": 1 }, + { "px": [256,192], "src": [320,272], "f": 0, "t": 411, "d": [52,256], "a": 1 }, + { "px": [272,192], "src": [320,272], "f": 0, "t": 411, "d": [52,257], "a": 1 }, + { "px": [288,192], "src": [320,272], "f": 0, "t": 411, "d": [52,258], "a": 1 }, + { "px": [304,192], "src": [320,272], "f": 0, "t": 411, "d": [52,259], "a": 1 }, + { "px": [96,32], "src": [224,128], "f": 0, "t": 198, "d": [56,46], "a": 1 }, + { "px": [128,32], "src": [224,128], "f": 0, "t": 198, "d": [56,48], "a": 1 }, + { "px": [160,32], "src": [224,128], "f": 0, "t": 198, "d": [56,50], "a": 1 }, + { "px": [192,32], "src": [224,128], "f": 0, "t": 198, "d": [56,52], "a": 1 }, + { "px": [224,32], "src": [224,128], "f": 0, "t": 198, "d": [56,54], "a": 1 }, + { "px": [256,32], "src": [224,128], "f": 0, "t": 198, "d": [56,56], "a": 1 }, + { "px": [16,48], "src": [224,128], "f": 0, "t": 198, "d": [56,61], "a": 1 }, + { "px": [160,48], "src": [224,128], "f": 0, "t": 198, "d": [56,70], "a": 1 }, + { "px": [192,48], "src": [224,128], "f": 0, "t": 198, "d": [56,72], "a": 1 }, + { "px": [224,48], "src": [224,128], "f": 0, "t": 198, "d": [56,74], "a": 1 }, + { "px": [96,64], "src": [224,128], "f": 0, "t": 198, "d": [56,86], "a": 1 }, + { "px": [128,64], "src": [224,128], "f": 0, "t": 198, "d": [56,88], "a": 1 }, + { "px": [160,64], "src": [224,128], "f": 0, "t": 198, "d": [56,90], "a": 1 }, + { "px": [192,64], "src": [224,128], "f": 0, "t": 198, "d": [56,92], "a": 1 }, + { "px": [224,64], "src": [224,128], "f": 0, "t": 198, "d": [56,94], "a": 1 }, + { "px": [256,64], "src": [224,128], "f": 0, "t": 198, "d": [56,96], "a": 1 }, + { "px": [32,128], "src": [224,128], "f": 0, "t": 198, "d": [56,162], "a": 1 }, + { "px": [64,128], "src": [224,128], "f": 0, "t": 198, "d": [56,164], "a": 1 }, + { "px": [96,128], "src": [224,128], "f": 0, "t": 198, "d": [56,166], "a": 1 }, + { "px": [128,128], "src": [224,128], "f": 0, "t": 198, "d": [56,168], "a": 1 }, + { "px": [160,128], "src": [224,128], "f": 0, "t": 198, "d": [56,170], "a": 1 }, + { "px": [224,128], "src": [224,128], "f": 0, "t": 198, "d": [56,174], "a": 1 }, + { "px": [32,144], "src": [224,128], "f": 0, "t": 198, "d": [56,182], "a": 1 }, + { "px": [64,144], "src": [224,128], "f": 0, "t": 198, "d": [56,184], "a": 1 }, + { "px": [96,144], "src": [224,128], "f": 0, "t": 198, "d": [56,186], "a": 1 }, + { "px": [128,144], "src": [224,128], "f": 0, "t": 198, "d": [56,188], "a": 1 }, + { "px": [32,160], "src": [224,128], "f": 0, "t": 198, "d": [56,202], "a": 1 }, + { "px": [64,160], "src": [224,128], "f": 0, "t": 198, "d": [56,204], "a": 1 }, + { "px": [160,160], "src": [224,128], "f": 0, "t": 198, "d": [56,210], "a": 1 }, + { "px": [224,160], "src": [224,128], "f": 0, "t": 198, "d": [56,214], "a": 1 }, + { "px": [48,16], "src": [256,96], "f": 0, "t": 154, "d": [57,23], "a": 1 }, + { "px": [112,16], "src": [256,96], "f": 0, "t": 154, "d": [57,27], "a": 1 }, + { "px": [176,16], "src": [256,96], "f": 0, "t": 154, "d": [57,31], "a": 1 }, + { "px": [208,16], "src": [256,96], "f": 0, "t": 154, "d": [57,33], "a": 1 }, + { "px": [272,16], "src": [256,96], "f": 0, "t": 154, "d": [57,37], "a": 1 }, + { "px": [112,48], "src": [256,96], "f": 0, "t": 154, "d": [57,67], "a": 1 }, + { "px": [48,80], "src": [256,96], "f": 0, "t": 154, "d": [57,103], "a": 1 }, + { "px": [272,80], "src": [256,96], "f": 0, "t": 154, "d": [57,117], "a": 1 }, + { "px": [48,112], "src": [256,96], "f": 0, "t": 154, "d": [57,143], "a": 1 }, + { "px": [176,112], "src": [256,96], "f": 0, "t": 154, "d": [57,151], "a": 1 }, + { "px": [240,112], "src": [256,96], "f": 0, "t": 154, "d": [57,155], "a": 1 }, + { "px": [48,176], "src": [256,96], "f": 0, "t": 154, "d": [57,223], "a": 1 }, + { "px": [176,176], "src": [256,96], "f": 0, "t": 154, "d": [57,231], "a": 1 }, + { "px": [32,16], "src": [224,96], "f": 0, "t": 152, "d": [58,22], "a": 1 }, + { "px": [64,16], "src": [224,96], "f": 1, "t": 152, "d": [58,24], "a": 1 }, + { "px": [288,16], "src": [224,96], "f": 1, "t": 152, "d": [58,38], "a": 1 }, + { "px": [16,32], "src": [224,96], "f": 0, "t": 152, "d": [58,41], "a": 1 }, + { "px": [48,48], "src": [224,96], "f": 0, "t": 152, "d": [58,63], "a": 1 }, + { "px": [272,48], "src": [224,96], "f": 1, "t": 152, "d": [58,77], "a": 1 }, + { "px": [16,64], "src": [224,96], "f": 2, "t": 152, "d": [58,81], "a": 1 }, + { "px": [64,64], "src": [224,96], "f": 0, "t": 152, "d": [58,84], "a": 1 }, + { "px": [32,80], "src": [224,96], "f": 0, "t": 152, "d": [58,102], "a": 1 }, + { "px": [96,80], "src": [224,96], "f": 2, "t": 152, "d": [58,106], "a": 1 }, + { "px": [128,80], "src": [224,96], "f": 2, "t": 152, "d": [58,108], "a": 1 }, + { "px": [160,80], "src": [224,96], "f": 2, "t": 152, "d": [58,110], "a": 1 }, + { "px": [192,80], "src": [224,96], "f": 2, "t": 152, "d": [58,112], "a": 1 }, + { "px": [224,80], "src": [224,96], "f": 2, "t": 152, "d": [58,114], "a": 1 }, + { "px": [288,80], "src": [224,96], "f": 1, "t": 152, "d": [58,118], "a": 1 }, + { "px": [96,112], "src": [224,96], "f": 0, "t": 152, "d": [58,146], "a": 1 }, + { "px": [128,112], "src": [224,96], "f": 0, "t": 152, "d": [58,148], "a": 1 }, + { "px": [192,112], "src": [224,96], "f": 1, "t": 152, "d": [58,152], "a": 1 }, + { "px": [256,128], "src": [224,96], "f": 2, "t": 152, "d": [58,176], "a": 1 }, + { "px": [176,144], "src": [224,96], "f": 1, "t": 152, "d": [58,191], "a": 1 }, + { "px": [240,144], "src": [224,96], "f": 1, "t": 152, "d": [58,195], "a": 1 }, + { "px": [96,160], "src": [224,96], "f": 2, "t": 152, "d": [58,206], "a": 1 }, + { "px": [128,160], "src": [224,96], "f": 2, "t": 152, "d": [58,208], "a": 1 }, + { "px": [256,160], "src": [224,96], "f": 0, "t": 152, "d": [58,216], "a": 1 }, + { "px": [112,176], "src": [224,96], "f": 0, "t": 152, "d": [58,227], "a": 1 }, + { "px": [192,176], "src": [224,96], "f": 1, "t": 152, "d": [58,232], "a": 1 }, + { "px": [224,176], "src": [224,96], "f": 2, "t": 152, "d": [58,234], "a": 1 }, + { "px": [256,176], "src": [224,96], "f": 2, "t": 152, "d": [58,236], "a": 1 }, + { "px": [96,16], "src": [0,304], "f": 3, "t": 437, "d": [59,26], "a": 1 }, + { "px": [128,16], "src": [0,304], "f": 2, "t": 437, "d": [59,28], "a": 1 }, + { "px": [160,16], "src": [0,304], "f": 3, "t": 437, "d": [59,30], "a": 1 }, + { "px": [192,16], "src": [0,304], "f": 2, "t": 437, "d": [59,32], "a": 1 }, + { "px": [224,16], "src": [0,304], "f": 2, "t": 437, "d": [59,34], "a": 1 }, + { "px": [256,16], "src": [0,304], "f": 3, "t": 437, "d": [59,36], "a": 1 }, + { "px": [96,48], "src": [0,304], "f": 1, "t": 437, "d": [59,66], "a": 1 }, + { "px": [128,48], "src": [0,304], "f": 0, "t": 437, "d": [59,68], "a": 1 }, + { "px": [256,48], "src": [0,304], "f": 1, "t": 437, "d": [59,76], "a": 1 }, + { "px": [64,80], "src": [0,304], "f": 0, "t": 437, "d": [59,104], "a": 1 }, + { "px": [256,80], "src": [0,304], "f": 1, "t": 437, "d": [59,116], "a": 1 }, + { "px": [32,112], "src": [0,304], "f": 3, "t": 437, "d": [59,142], "a": 1 }, + { "px": [64,112], "src": [0,304], "f": 2, "t": 437, "d": [59,144], "a": 1 }, + { "px": [160,112], "src": [0,304], "f": 3, "t": 437, "d": [59,150], "a": 1 }, + { "px": [224,112], "src": [0,304], "f": 3, "t": 437, "d": [59,154], "a": 1 }, + { "px": [256,112], "src": [0,304], "f": 2, "t": 437, "d": [59,156], "a": 1 }, + { "px": [160,144], "src": [0,304], "f": 1, "t": 437, "d": [59,190], "a": 1 }, + { "px": [224,144], "src": [0,304], "f": 1, "t": 437, "d": [59,194], "a": 1 }, + { "px": [32,176], "src": [0,304], "f": 1, "t": 437, "d": [59,222], "a": 1 }, + { "px": [64,176], "src": [0,304], "f": 0, "t": 437, "d": [59,224], "a": 1 }, + { "px": [160,176], "src": [0,304], "f": 1, "t": 437, "d": [59,230], "a": 1 } + ], + "seed": 2710914, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + } + ], + "__neighbours": [] } ], "worlds": [], From 436cebc8aa06d6856f130fa87d071ccf09248c82 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 26 Nov 2023 13:33:24 -0700 Subject: [PATCH 37/49] docs: add embedded video for complete game. --- .../tutorials/tile-based-game/add-gameplay-to-your-project.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index f1c66a8a..0f4eca93 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -216,3 +216,6 @@ fn main() { ``` With this, the simple tile-based game is complete. +When you navigate the player to the goal, the next level will begin until there are no levels remaining. + +

From 58fb7a33649a28c475a09b93d7b983e0eb582546 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 26 Nov 2023 14:45:58 -0700 Subject: [PATCH 38/49] docs: link to Tile-based Game tutorial instead of getting-started in intro --- book/src/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/README.md b/book/src/README.md index 95a56eeb..951970be 100644 --- a/book/src/README.md +++ b/book/src/README.md @@ -26,7 +26,7 @@ Deployment of this book to github pages is also performed by `bevy_ecs_ldtk`'s C Splitting the documentation up this way means that this book is not necessarily meant to be read in order. Some chapters are intended to be read while working on your own project, while others are meant to be more like studying material. The following chapters are good jumping-off points for beginners: -- [*Getting Started* tutorial](getting-started.md) +- [*Tile-based Game* tutorial](tutorials/tile-based-game/index.html) - [*Game Logic Integration* explanation]() ## Other resources From e16e257f3e7f08488b2e546f043d2d8a7aaf78e7 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 26 Nov 2023 15:01:40 -0700 Subject: [PATCH 39/49] docs: add link to tutorial in tile_based_game example --- examples/tile_based_game.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index c28df6aa..6ce174ad 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -1,3 +1,5 @@ +// This example has a tutorial in the bevy_ecs_ldtk book associated with it: +// use bevy::prelude::*; use bevy_ecs_ldtk::prelude::*; use std::collections::HashSet; From 33e7c97c268be104236abd764ce4ea720f1223d8 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 26 Nov 2023 15:05:07 -0700 Subject: [PATCH 40/49] chore: fix clippy issues in tile-based-game example --- examples/tile_based_game.rs | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/examples/tile_based_game.rs b/examples/tile_based_game.rs index 6ce174ad..b20fbe9a 100644 --- a/examples/tile_based_game.rs +++ b/examples/tile_based_game.rs @@ -133,26 +133,23 @@ fn cache_wall_locations( ldtk_project_assets: Res>, ) { for level_event in level_events.iter() { - match level_event { - LevelEvent::Spawned(level_iid) => { - let ldtk_project = ldtk_project_assets - .get(&ldtk_project_entities.single()) - .expect("LdtkProject should be loaded when level is spawned"); - let level = ldtk_project - .get_raw_level_by_iid(level_iid.get()) - .expect("spawned level should exist in project"); - - let wall_locations = walls.iter().copied().collect(); - - let new_level_walls = LevelWalls { - wall_locations, - level_width: level.px_wid / GRID_SIZE, - level_height: level.px_hei / GRID_SIZE, - }; - - *level_walls = new_level_walls; - } - _ => (), + if let LevelEvent::Spawned(level_iid) = level_event { + let ldtk_project = ldtk_project_assets + .get(ldtk_project_entities.single()) + .expect("LdtkProject should be loaded when level is spawned"); + let level = ldtk_project + .get_raw_level_by_iid(level_iid.get()) + .expect("spawned level should exist in project"); + + let wall_locations = walls.iter().copied().collect(); + + let new_level_walls = LevelWalls { + wall_locations, + level_width: level.px_wid / GRID_SIZE, + level_height: level.px_hei / GRID_SIZE, + }; + + *level_walls = new_level_walls; } } } From f795d0396100b0d9b75105bcc559e3e2fadb9869 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 26 Nov 2023 15:13:57 -0700 Subject: [PATCH 41/49] docs: fix line numbers after adding link to example --- .../add-gameplay-to-your-project.md | 30 +++++++++---------- .../spawn-your-ldtk-project-in-bevy.md | 8 ++--- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index 0f4eca93..e27d3b9f 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -18,7 +18,7 @@ Derive default for this component. ```rust,no_run # use bevy::prelude::*; # use bevy_ecs_ldtk::prelude::*; -{{#include ../../../../examples/tile_based_game.rs:40:50}} +{{#include ../../../../examples/tile_based_game.rs:42:52}} ``` ## Implement tile-based movement @@ -38,8 +38,8 @@ fn main() { .run(); } -{{#include ../../../../examples/tile_based_game.rs:89:91}} -{{#include ../../../../examples/tile_based_game.rs:93:107}} +{{#include ../../../../examples/tile_based_game.rs:91:93}} +{{#include ../../../../examples/tile_based_game.rs:95:109}} *player_grid_coords = destination; } } @@ -61,13 +61,13 @@ For the LDtk project set up in this tutorial using the `SunnyLand` tilesets, thi fn main() { App::new() // other App builders -{{#include ../../../../examples/tile_based_game.rs:13:17}} +{{#include ../../../../examples/tile_based_game.rs:15:19}} ), ) .run(); } -{{#include ../../../../examples/tile_based_game.rs:114:124}} +{{#include ../../../../examples/tile_based_game.rs:116:126}} ``` ## Prevent tile-based movement into walls @@ -84,11 +84,11 @@ This bundle actually only needs this one marker component - IntGrid entities spa fn main() { App::new() // other App builders -{{#include ../../../../examples/tile_based_game.rs:22}} +{{#include ../../../../examples/tile_based_game.rs:24}} .run(); } -{{#include ../../../../examples/tile_based_game.rs:64:70}} +{{#include ../../../../examples/tile_based_game.rs:66:72}} ``` There are a lot of ways to go about implementing the collision systems. @@ -107,11 +107,11 @@ use std::collections::HashSet; fn main() { App::new() // other App builders -{{#include ../../../../examples/tile_based_game.rs:23}} +{{#include ../../../../examples/tile_based_game.rs:25}} .run(); } -{{#include ../../../../examples/tile_based_game.rs:72:87}} +{{#include ../../../../examples/tile_based_game.rs:74:89}} ``` Now, add a system that listens for `LevelEvent::Spawned` and populates this resource. @@ -144,13 +144,13 @@ It will also need access to the `LdtkProject` data to find the current level's w fn main() { App::new() // other App builders -{{#include ../../../../examples/tile_based_game.rs:13:18}} +{{#include ../../../../examples/tile_based_game.rs:15:20}} ) ) .run(); } -{{#include ../../../../examples/tile_based_game.rs:126:156}} +{{#include ../../../../examples/tile_based_game.rs:128:155}} ``` Finally, update the `move_player_from_input` system to access the `LevelWalls` resource and check whether or not the player's destination is in a wall. @@ -175,7 +175,7 @@ Finally, update the `move_player_from_input` system to access the `LevelWalls` r # || self.wall_locations.contains(grid_coords) # } # } -{{#include ../../../../examples/tile_based_game.rs:89:112}} +{{#include ../../../../examples/tile_based_game.rs:91:114}} ``` With this check in place, the player should now be unable to move into walls! @@ -188,7 +188,7 @@ Similar to the `PlayerBundle`, give the `GoalBundle` its own marker component an ```rust,no_run # use bevy::prelude::*; # use bevy_ecs_ldtk::prelude::*; -{{#include ../../../../examples/tile_based_game.rs:52:62}} +{{#include ../../../../examples/tile_based_game.rs:54:64}} ``` Then, write a system that checks if the player's `GridCoords` and the goal's `GridCoords` match. @@ -208,11 +208,11 @@ If they do match, update the `LevelSelection` resource, increasing its level ind fn main() { App::new() // other App builders -{{#include ../../../../examples/tile_based_game.rs:13:21}} +{{#include ../../../../examples/tile_based_game.rs:15:23}} .run(); } -{{#include ../../../../examples/tile_based_game.rs:158::}} +{{#include ../../../../examples/tile_based_game.rs:157::}} ``` With this, the simple tile-based game is complete. diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md index 66355697..c258d389 100644 --- a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -32,11 +32,11 @@ This code snippet also doubles the scale of the camera and adjusts its transform fn main() { App::new() // other App builders -{{#include ../../../../examples/tile_based_game.rs:9}} +{{#include ../../../../examples/tile_based_game.rs:11}} .run(); } -{{#include ../../../../examples/tile_based_game.rs:27:38}} +{{#include ../../../../examples/tile_based_game.rs:29:40}} ``` Finally, insert the `LevelSelection` resource to tell the plugin to spawn the first level. @@ -47,7 +47,7 @@ Construct the `LevelSelection` using its `index` method to select the level at i fn main() { App::new() // other App builders -{{#include ../../../../examples/tile_based_game.rs:10}} +{{#include ../../../../examples/tile_based_game.rs:12}} .run(); } ``` @@ -89,7 +89,7 @@ When the plugin spawns entities with these identifiers, it will use the register fn main() { App::new() // other App builders -{{#include ../../../../examples/tile_based_game.rs:11:12}} +{{#include ../../../../examples/tile_based_game.rs:13:14}} .run(); } # #[derive(Default, Bundle, LdtkEntity)] From 9d6452a9350d366aa63529e1dc1f3428bef9de3f Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Sun, 26 Nov 2023 15:17:05 -0700 Subject: [PATCH 42/49] docs: mention tile_based_game example in tutorial --- book/src/tutorials/tile-based-game/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/book/src/tutorials/tile-based-game/README.md b/book/src/tutorials/tile-based-game/README.md index af03ce7b..556fbfcf 100644 --- a/book/src/tutorials/tile-based-game/README.md +++ b/book/src/tutorials/tile-based-game/README.md @@ -3,6 +3,11 @@ In this tutorial you will make a tile-based game with LDtk levels. The game will be tile-based, meaning that the game entities will be locked to a grid of tiles like sokoban. You will go through the process of creating an LDtk project, loading the project into bevy, and adding gameplay. +This tutorial does have an example associated with it in the [`bevy_ecs_ldtk` repository](https://github.com/trouv/bevy_ecs_ldtk): +```bash +$ cargo run --example tile_based_game --release +``` + ## Prerequisites You will need to perform the following setup/installations: - [Bevy project setup](https://bevyengine.org/learn/book/getting-started/setup/) for the version specified in the [compatibility chart](https://github.com/Trouv/bevy_ecs_ldtk#compatibility). From eadf2411ef1be137ee53a4c845c280f854d32c1d Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 27 Nov 2023 21:11:35 -0700 Subject: [PATCH 43/49] docs: reduce redundancy tile-based-game tutorial introduction --- book/src/tutorials/tile-based-game/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/README.md b/book/src/tutorials/tile-based-game/README.md index 556fbfcf..13aa9526 100644 --- a/book/src/tutorials/tile-based-game/README.md +++ b/book/src/tutorials/tile-based-game/README.md @@ -1,6 +1,6 @@ # Tile-based Game In this tutorial you will make a tile-based game with LDtk levels. -The game will be tile-based, meaning that the game entities will be locked to a grid of tiles like sokoban. +Game entities will be locked to a grid of tiles like sokoban, or snake. You will go through the process of creating an LDtk project, loading the project into bevy, and adding gameplay. This tutorial does have an example associated with it in the [`bevy_ecs_ldtk` repository](https://github.com/trouv/bevy_ecs_ldtk): From 51bfd17de0b6de63c1aa09d27e3985c69122f67e Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 27 Nov 2023 21:12:35 -0700 Subject: [PATCH 44/49] docs: improve flow of introductory paragraph to 'Create your own LDtk project' --- book/src/tutorials/tile-based-game/create-your-ldtk-project.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index 74646fb0..e9c7303f 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -1,6 +1,7 @@ # Create your LDtk project In this section, you will create a simple LDtk project suitable for tile-based gameplay. -This project will have an IntGrid + AutoTile layer of walls, and an Entity layer for placing Player and Goal entities. +This project will have an IntGrid layer of walls, and an Entity layer for placing Player and Goal entities. +It will also have AutoTile rules on top of the IntGrid layer defining the visuals of walls and backgrounds. If you already have an LDtk project suitable for tile-based gameplay - feel free to skip this section. However, note that some of the values specified in here will be used in the tutorial going forward, such as... - the name/location of the file (assets/tile-based-game.ldtk) From a30e2b87455316a0f16efc9586dd2ae520041997 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 27 Nov 2023 21:13:22 -0700 Subject: [PATCH 45/49] docs: separate setting the world layout into its own section --- .../src/tutorials/tile-based-game/create-your-ldtk-project.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index e9c7303f..769a5c6a 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -14,7 +14,9 @@ For details about the tutorial in general, including prerequisites, please see t Open the LDtk app and create a new project. For this tutorial, name the project `tile-based-game.ldtk`, and save it to your Bevy project's `assets` directory. -In the World tab - set the World layout to Horizontal. +## Set the World layout +In the **World** tab - set the **World layout** to Horizontal. +This will make levels have a clear linear relationship in the editor, rather than a geographical one. ![world-layout](images/world-layout.png) From 565b3ce33811dd1cfe48e33852e961628dd08109 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 27 Nov 2023 21:14:31 -0700 Subject: [PATCH 46/49] docs: make formatting more consistent in create-your-ldtk-project --- .../create-your-ldtk-project.md | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index 769a5c6a..373fc8ab 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -4,7 +4,7 @@ This project will have an IntGrid layer of walls, and an Entity layer for placin It will also have AutoTile rules on top of the IntGrid layer defining the visuals of walls and backgrounds. If you already have an LDtk project suitable for tile-based gameplay - feel free to skip this section. However, note that some of the values specified in here will be used in the tutorial going forward, such as... -- the name/location of the file (assets/tile-based-game.ldtk) +- the name/location of the file (`assets/tile-based-game.ldtk`) - the identifiers of the Player and Goal entities (Player, Goal) - the IntGrid value of walls (1) @@ -21,7 +21,7 @@ This will make levels have a clear linear relationship in the editor, rather tha ![world-layout](images/world-layout.png) ## Import tilesets -Add your environment/player tilesets to the project, in the Tilesets tab. +Add your environment/player tilesets to the project, in the **Tilesets** tab. Make sure that the source image files for these tilesets are also in your Bevy project's `assets` directory. Name the tilesets "Environment" and "Player" respectively. For the SunnyLand assets - the Player tileset needs to have a tile size of 32 and the environment asset a tile size of 16. @@ -29,29 +29,30 @@ For the SunnyLand assets - the Player tileset needs to have a tile size of 32 an ![tilesets](images/tilesets.png) ## Add IntGrid layer for walls -Add an IntGrid layer to the project, in the Layers tab. +Add an IntGrid layer to the project, in the **Layers** tab. This layer will be used to define where the collisions are in the level. -Call this layer "Walls", make sure its grid size is 16, and optionally name the grid value 1 "Wall". -Finally, give it an Auto-layer tileset - pointing to the "Environment" tileset. +Call this layer "Walls". +Make sure its grid size is 16. +Finally, give it an **Auto-layer tileset** - pointing to the Environment tileset. ![wall-layer](images/wall-layer.png) ## Define autotiling for walls and backgrounds -From here, select "EDIT RULES" next to the wall layer's auto-tile tileset. -This is where you will define how LDtk should dynamically render the Walls layer of your levels based of the level's intgrid values. +From the Walls layer definition, select **EDIT RULES** for the Auto-layer tileset. +This is where you will define how LDtk should dynamically render the Walls layer of your levels based off the level's IntGrid values. First, define a catch-all rule that will place the background tile if no other rules are matched first. -1. Select "+ GROUP" to add a new empty rule group, and name it Background. -2. On the new group, click "+" to define the first rule. +1. Select **+ GROUP** to add a new empty rule group, and name it Background. +2. On the new group, select **+** to define the first rule. 3. In the top-right of the rule definition - select the tile you want to use as the background. -4. You can set the rule to be "1x1", but since this is a "catch-all" rule, nothing else should be necessary. +4. Since this is a catch-all rule, no changes to the rule-pattern are necessary. ![background-rule](images/background-rule.png) Next, define a rule that will catch any wall tile. -You will be able to define more complex rules on top of this to make walls prettier, but it's good to start with an extremely generic one first. +You will be able to define more complex rules on top of this to make walls prettier, but it's good to start with a generic one first. 1. Create another new group, and name it Walls. -2. Click "+" on the Walls group to create its first rule. +2. Click **+** on the Walls group to create its first rule. 3. Select the tile you want to use as a generic wall tile in the top-right. 4. Set the rule to be 1x1, and left-click the rule-pattern to place a wall tile. @@ -64,24 +65,24 @@ The following rule is optional, and will define the tile used for the edges of w 2. Select the tile you want to use as the left edges of a wall. 3. Use a 3x3 pattern, and place a wall tile in the center and a negative wall tile on the left (by right clicking the left-center tile). This will match any wall tiles that don't have a wall tile to their left. -4. On this new rule inside the group, enable the "X" option. +4. On this new rule inside the group, enable the **X** option. This mirrors the rule in the x-direction, so that it works for the right edges of walls as well. ![horizontal-wall-edge-rule](images/horizontal-wall-edge-rule.png) -You are welcome to add more rules to the walls group with more complex patterns for defining the vertical edges or corners. +You are welcome to add more rules to the Walls group with more complex patterns for defining the vertical edges or corners. This tutorial will not go into painstaking detail about creating these, but their definitions are shown below. One general recommendation is to order these rules from most-specific to least-specific, so that the rule matcher will resort to the catch-all rules last. -A vertical wall edge rule - mirrored in the Y direction: +A vertical wall edge rule - mirrored in the **Y** direction: ![vertical-wall-edge-rule](images/vertical-wall-edge-rule.png) -An outer corner wall rule - mirrored in the X and Y directions: +An outer corner wall rule - mirrored in the **X** and **Y** directions: ![wall-outer-corner-rule](images/wall-outer-corner-rule.png) -An inner corner wall rule - mirrored in the X and Y directions: +An inner corner wall rule - mirrored in the **X** and **Y** directions: ![wall-inner-corner-rule](images/wall-inner-corner-rule.png) @@ -90,13 +91,13 @@ Now you can enjoy placing walls in your level and watching LDtk auto-tile them f ![auto-tile-walls](images/auto-tile-walls.png) ## Add Entity layer -Add an Entity layer to the project, again, in the Layers tab. +Add an Entity layer to the project, again, in the **Layers** tab. This will be used to place less tiling-oriented game objects, like the player, or the goal. -You do not need to make any modifications to the default entity layer for this tutorial, it should be called Entities and match the grid size of the intgrid layer. +You do not need to make any modifications to the default entity layer for this tutorial, it should be called "Entities" and match the grid size of the Walls layer. ![entity-layer](images/entities-layer.png) -Then, in the Entities tab, add a Player entity. +Then, in the **Entities** tab, add a Player entity. Be sure to name it "Player" and set its editor visual to use a tile from the Player tileset. For the SunnyLand assets - you will need to manually set its size to 16x16 so that it fits in a single tile on the grid. From 8c4b9b01e636861f2b0ea746300dba1566a405b8 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 27 Nov 2023 21:14:55 -0700 Subject: [PATCH 47/49] docs: use a video embed instead of an image at the end of the autotiling section --- book/src/tutorials/tile-based-game/create-your-ldtk-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index 373fc8ab..b10bd31e 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -88,7 +88,7 @@ An inner corner wall rule - mirrored in the **X** and **Y** directions: Now you can enjoy placing walls in your level and watching LDtk auto-tile them for you! -![auto-tile-walls](images/auto-tile-walls.png) +
## Add Entity layer Add an Entity layer to the project, again, in the **Layers** tab. From a0b6df3e3304eb852e476ba4ad4aa33442e45c90 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Mon, 27 Nov 2023 21:15:12 -0700 Subject: [PATCH 48/49] docs: emphasize the importance of naming and editor visual of the entities --- book/src/tutorials/tile-based-game/create-your-ldtk-project.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md index b10bd31e..0c8141ea 100644 --- a/book/src/tutorials/tile-based-game/create-your-ldtk-project.md +++ b/book/src/tutorials/tile-based-game/create-your-ldtk-project.md @@ -99,12 +99,14 @@ You do not need to make any modifications to the default entity layer for this t Then, in the **Entities** tab, add a Player entity. Be sure to name it "Player" and set its editor visual to use a tile from the Player tileset. +This will be important in the next section of the tutorial. For the SunnyLand assets - you will need to manually set its size to 16x16 so that it fits in a single tile on the grid. ![player-entity](images/player-entity.png) Lastly, add a Goal entity. Name it "Goal" and set its editor visual from a tileset as well. +Again, this will be important in the next section of the tutorial. ![goal-entity](images/goal-entity.png) From ec22c00be907d4b716123a7733abd6697f8a0a12 Mon Sep 17 00:00:00 2001 From: Trevor Lovell Date: Thu, 30 Nov 2023 22:33:03 -0700 Subject: [PATCH 49/49] docs: standardize some language and styling in the remaining chapters of the tutorial --- .../tile-based-game/add-gameplay-to-your-project.md | 10 +++++----- .../tile-based-game/spawn-your-ldtk-project-in-bevy.md | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md index e27d3b9f..5eefd39c 100644 --- a/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md +++ b/book/src/tutorials/tile-based-game/add-gameplay-to-your-project.md @@ -1,7 +1,7 @@ # Add gameplay to your project In this section, you will integrate gameplay to the Bevy/LDtk project created in the previous sections. This includes tile-based movement, collision, and level transitions. -You are welcome to bring your own tile-based LDtk project to this tutorial, but some of the values specified in here are specific to the previous section, such as... +You are welcome to bring your own tile-based LDtk project to this tutorial, but some of the values specified in here are specific to the LDtk project created in this tutorial, such as... - the IntGrid value of walls (1) For details about the tutorial in general, including prerequisites, please see the parent page. @@ -9,11 +9,11 @@ For details about the tutorial in general, including prerequisites, please see t ## Add marker component and `GridCoords` to the player In order to implement tile-based movement and tile-based mechanics, you'll need to deal with an entity's position in tile-space rather than just Bevy world translation. `bevy_ecs_ldtk` provides a component that is suitable for this, and it has integration with the `LdtkEntity` derive. -Add the `GridCoords` component to the player bundle and give it the `#[grid_coords]` attribute. +Add the `GridCoords` component to the `PlayerBundle`, and give it the `#[grid_coords]` attribute. The player entity will then be spawned with a `GridCoords` component whose value matches the entity's position in grid-space. Also give it a `Player` marker component so that you can query for it more easily in future systems. -Derive default for this component. +Derive `Default` for this component. `bevy_ecs_ldtk` will use this default implementation when spawning the component unless otherwise specified. ```rust,no_run # use bevy::prelude::*; @@ -49,10 +49,10 @@ fn main() { If you play the game at this point, you'll notice that the player entity doesn't appear to be moving at all. The `GridCoords` component may be updating correctly, but the entity's `Transform` is what determines where it is rendered. `bevy_ecs_ldtk` does not maintain the `Transform` of `GridCoords` entities automatically. -This is left up to the user, which allows you to implement custom lerping or animation of the transform as you please. +This is left up to the user, which allows you to implement custom tweening or animation of the transform as you please. Write a system that updates the `Transform` of `GridCoords` entities when their `GridCoords` value changes. -`bevy_ecs_ldtk` does provide a utility function to help calculate the resulting translation - providing you know the size of the cells of the grid. +`bevy_ecs_ldtk` does provide a utility function to help calculate the resulting translation - provided you know the size of the cells of the grid. For the LDtk project set up in this tutorial using the `SunnyLand` tilesets, this grid size is 16. ```rust,no_run # use bevy::prelude::*; diff --git a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md index c258d389..d7e60d21 100644 --- a/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md +++ b/book/src/tutorials/tile-based-game/spawn-your-ldtk-project-in-bevy.md @@ -2,7 +2,7 @@ In this section, you will load/spawn your LDtk project in Bevy, including spawning sprites for the LDtk entities. This tutorial will use the LDtk project created in the previous section. You are welcome to bring your own tile-based LDtk project to this tutorial, but some of the values specified in here are specific to the previous section, such as... -- the name/location of the file (assets/tile-based-game.ldtk) +- the name/location of the file (`assets/tile-based-game.ldtk`) - the identifiers of the Player and Goal entities (Player, Goal) For details about the tutorial in general, including prerequisites, please see the parent page. @@ -40,7 +40,7 @@ fn main() { ``` Finally, insert the `LevelSelection` resource to tell the plugin to spawn the first level. -Construct the `LevelSelection` using its `index` method to select the level at index 0. +Construct the `LevelSelection` using its `index` method to select the first level (0-indexed). ```rust,no_run # use bevy::prelude::*; # use bevy_ecs_ldtk::prelude::*; @@ -61,7 +61,7 @@ You may have noticed that the Player and Goal are not rendered here. They are there, but they require a little more work to become visible. Create a `PlayerBundle` and `GoalBundle`, each with a `SpriteSheetBundle` field. -These will be developed a little bit more in the next chapter, but for now they will be similar. +You will develop these bundles a little bit more in the next chapter, but for now they will be similar. Derive `LdtkEntity` for these bundles, and give the field a `#[sprite_sheet_bundle]` attribute. This trait implementation defines how these bundles should be spawned by the plugin. More specifically - they should be spawned as sprites identical to the entity's editor visual.