From 1bb94484082565ad8a01ff783969da97885a282a Mon Sep 17 00:00:00 2001 From: stickyPiston Date: Wed, 25 Mar 2020 17:06:26 +0100 Subject: [PATCH] Updated assets Doubled the size of the tiles (tilemap.png, tilemap.min.js, level.js). Doubled the size of the player (player.js). Added the source files of the tilemap (res/aseprite). --- .gitignore | 3 ++- res/aseprite/example.aseprite | Bin 0 -> 3201 bytes res/aseprite/tilemap.aseprite | Bin 0 -> 3518 bytes res/tilemap.min.js | 10 +++++++--- res/tilemap.png | Bin 2329 -> 3660 bytes src/entities/player.js | 6 +++--- src/levels/level.js | 14 ++++++++------ 7 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 res/aseprite/example.aseprite create mode 100644 res/aseprite/tilemap.aseprite diff --git a/.gitignore b/.gitignore index 7170400..2fa756f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules ._* -.DS_Store \ No newline at end of file +.DS_Store +res/tilemap.js \ No newline at end of file diff --git a/res/aseprite/example.aseprite b/res/aseprite/example.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..d2051f00349648ac97d215665894fabff634d508 GIT binary patch literal 3201 zcmcImdpMM78-I!LwNXtUC2QEyY`YFyA!ad3hDptAYROqBhbhXiPSXq>XbPi5r5Tg3 zR$&qri$s=?ai-9WLyW^R#$cG!`@Lg#uW$eT{`j8vdVbgQ-p~8|?)!e8_ql#|!WRHA zny&x=3V?zh1ON~K_5U_?KtXNTTXxhBj!53fJ?|fY``l3ha(q6~gzDf<> zm>;-guVmnO|CpodZ9o3Mwr{zS*4VaR&)huN?uSc?zfP%q=6PBVz9+D24-;5_&^}t0 z3B{vVc*Bo*?2jMU7ieLD!uil6C|yv}n>|kD;)GE);3c?h>ezF;$zn<7QhD+$b-~A% z)R)}g7I|zKEj;|)k*6>qts&(=Y=`}>yZK8lBqz%V#bsOMW=<6`7@R@C>Gq-{TGhzT z(0O%zzSGKd8F_7?#V?Q3ITI3r+C;d~{DV#=GA5c3rAqO6Uin$vd+js9~n*o5r<4^h}wb^`~m@DO*ImnFZN-P9>aR8=CF79$Z&WGu?sT zOJb00u8!dVyrV3D61b}vwg!8neIK>EI6Wz>yv?iVDB^-R^ z6|ak5gB4RvVzy!s2xk3M4o~2jah2``cVq z>lABlXFNW4%|UQ4N+EMP25kK$9t+_6M##q^vGwbRo(Qi<-gJ+gd9^G{KZ{s|4kScE z$%Cj-lEvuGN1eMXkyo39WlNOW#e-SA>6cc8xh9RwAAN# z26gAA_X+D$pu7gAbJ8uir2}duyezGmgB0o+ZD)G)*0=*cA$BF+)RkyFJ&&LwycBne z+!yLlT|(P)rWE}&9SLXDXeRfnaqYr8AI4)PGsnv=qvd^exgBf_!?IaC+wzWZj=_sM|Cmcca$WEN& zwTZGf8;4#B;~pXuK4I zlTFL;lZ-uY-|ymL1T6R}#JZ0Fej z<-}q$XaRFEx4S25GnlEvDcAZN2g9plElYk44SYSoxMKNr$KIqhSCc&0o&5Tv*6r5G z0vA#W+?OD{Bg2nzs|-xiLhi=YDqL_(&u-IlqyX8ieEpPTXR;Efz)X;7ZTWby)1YTkOw>Lf zS&~u4JyD$c3&#&BP~V}A>*}FQ*4#Q ziumwny0;`@QWh5imI~^nqJ>+dYwlz}GwgNrQy6?6bkB_H~YVYuG%8Z6`A*zAa?t|Cr;vTK4o9iUGX5Z>o6 zZI>RmYA0o11|0;&V$OAV=f4a0SKVHBCy&pp>t{LgI6?DVGa=`#McAZ=u)YF&-Q@%_ z2bn3m*?ha7lxVeI3eR;)JwpW1%!z6IO%R(>g)rSOq0`_o^b*$Z@@x`HEBc zWzZ0rfJ(rg7%PhmnyM@;k6|Bbfs!1?zh@)F*&@XZw+lc&;xthfB-%4&> zc~wPLk>w@guEFN^1>IUI*;a}!;-))So7ek<*BLHw5>SO>y`?83zq%Dj@AFof&e;fw zl8R$`bhqB0yI@^T{>)E8bqfLq)$BV~Ui}q)VK3&gFYR)!R8z=!&^Rnrsap^B8UbI? zS0`jJrDr{A$X z(%@7RH!(Oaw&aljnUAb%cUlR0k_27X!DWZ}RkJp`kMH>ByJgXPq;+x13sxVB#?I3! zmmGxph>zqe536OfJrySpF_jYmPVi*j*o zuW1wysS56?*en^p*+Iiz)RF%UIdiV2b`}csf2b$i7f^2D;5&CBl##&|5Zc1g=Cid%TMJq5!b`qDDi{Lt r@?%;F2u{tEi_t$%M?0AN_YMP%aj-I literal 0 HcmV?d00001 diff --git a/res/aseprite/tilemap.aseprite b/res/aseprite/tilemap.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..532b1237c593cb3d1510a19fad32fbd8fe8ac98e GIT binary patch literal 3518 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 literal 0 HcmV?d00001 diff --git a/res/tilemap.min.js b/res/tilemap.min.js index 0805a74..a88b17a 100644 --- a/res/tilemap.min.js +++ b/res/tilemap.min.js @@ -18,7 +18,7 @@ * 13. Corner bottom -> left * 14. Bottom wall piece before 13. * 15. Corner left -> bottom - * 16. Normal floor tile + * 32. Normal floor tile * 17. +-shaped floor tile * 18. Heavily cracked floor tile * 19. Lightly cracked floor tile @@ -34,9 +34,13 @@ * 29. heavy vines brick wall 1 * 30. heavy vines brick wall 2 * 31. heavy vines brick wall 3 - * 32. Chest closed + * 64. Chest closed * 33. Chest opened * 34. Rock 1 * 35. Rock 2 + * 36. door + * 37. Ladder (should be over wall) + * 38. Torch + * 39. Staircase ------------------------------------------------------------------- */ -module.exports=[{x:0,y:0,walkable:!1},{x:16,y:0,walkable:!1},{x:32,y:0,walkable:!1},{x:48,y:0,walkable:!1},{x:64,y:0,walkable:!1},{x:0,y:16,walkable:!1},{x:16,y:16,walkable:!1},{x:32,y:16,walkable:!1},{x:48,y:16,walkable:!1},{x:64,y:16,walkable:!1},{x:0,y:32,walkable:!1},{x:16,y:32,walkable:!1},{x:32,y:32,walkable:!1},{x:48,y:32,walkable:!1},{x:64,y:32,walkable:!1},{x:0,y:48,walkable:!1},{x:16,y:48,walkable:!0},{x:32,y:48,walkable:!0},{x:48,y:48,walkable:!0},{x:64,y:48,walkable:!0},{x:0,y:64,walkable:!1},{x:16,y:64,walkable:!1},{x:32,y:64,walkable:!1},{x:48,y:64,walkable:!1},{x:64,y:64,walkable:!1},{x:0,y:80,walkable:!1},{x:16,y:80,walkable:!1},{x:32,y:80,walkable:!1},{x:48,y:80,walkable:!1},{x:64,y:80,walkable:!1},{x:0,y:96,walkable:!1},{x:16,y:96,walkable:!1},{x:32,y:96,walkable:!1},{x:48,y:96,walkable:!1},{x:64,y:96,walkable:!1},{x:0,y:112,walkable:!1}]; \ No newline at end of file +module.exports=[{x:0,y:0,walkable:!1},{x:32,y:0,walkable:!1},{x:64,y:0,walkable:!1},{x:96,y:0,walkable:!1},{x:128,y:0,walkable:!1},{x:0,y:32,walkable:!1},{x:32,y:32,walkable:!1},{x:64,y:32,walkable:!1},{x:96,y:32,walkable:!1},{x:128,y:32,walkable:!1},{x:0,y:64,walkable:!1},{x:32,y:64,walkable:!1},{x:64,y:64,walkable:!1},{x:96,y:64,walkable:!1},{x:128,y:64,walkable:!1},{x:0,y:96,walkable:!1},{x:32,y:96,walkable:!0},{x:64,y:96,walkable:!0},{x:96,y:96,walkable:!0},{x:128,y:96,walkable:!0},{x:0,y:128,walkable:!1},{x:32,y:128,walkable:!1},{x:64,y:128,walkable:!1},{x:96,y:128,walkable:!1},{x:128,y:128,walkable:!1},{x:0,y:80,walkable:!1},{x:32,y:80,walkable:!1},{x:64,y:80,walkable:!1},{x:96,y:80,walkable:!1},{x:128,y:80,walkable:!1},{x:0,y:96,walkable:!1},{x:32,y:96,walkable:!1},{x:64,y:96,walkable:!1},{x:96,y:96,walkable:!1},{x:128,y:96,walkable:!1},{x:0,y:224,walkable:!1},{x:32,y:224,walkable:!1},{x:64,y:224,walkable:!1},{x:96,y:224,walkable:!1},{x:128,y:224,walkable:!1}]; \ No newline at end of file diff --git a/res/tilemap.png b/res/tilemap.png index f3d0fc48a76d09e6f92c62bf8ac8b51d96814376..fa12395886de3b83a5bd944a4c84c88333bf702c 100644 GIT binary patch literal 3660 zcma)9c|278_b1^|$(|UZ$x|f#TwL5-fAIlNTE*dL;Km(bX>QDgBg-ssaqZ_jZ*s;uIPY8jol0>#srJHG2@2vD zD-VveIcZf{^g>cyawAf+&Z$)K#hdUR^STvpasH?4VJ!)tztps2q9V$;z3ojyYLyPU zitp_c_jTPjk}Z7P?C?9a`?=G1iq)JGadPhDvF^`?7;=uD$9Ap$&SX~4GPzq5oxQb^ zM{DX%O+ET^4sAX%4v(B!3K0#%1M8J(QeW&tnkWtS_PtrLYhFruoK z{C#5{v*`&8yq~$M?>>GE3T;o3gUoN>dZTvl@iW>Lqa%O+z065b73!y}sD?8sj6H(q zih85cjHpw+D~?!h0deV*qVq7B-@e{MQjMkngOmJ;y9xUrCI4^MCKPU#0ZCH_VKXaV z@zlN3#wWw@@3PgCvO-Bn+3ygcD(?jA$gS<*MGDlINAzUhzOrX2))yTw`8?!PxN?nO z2DlVHa5r#URB1y(kz|&x8|$?!ezJ_su9mpu%^i40SA+u#TFm+}Q+Oz<@`a>6vE06h z`q{M=PuO3^Fy|3H`dvoY5pUe?2LtffrBhVpBr$qre#7Ds;QtGs53H1ZeQ5|!56M1i z&p*I=0VLhP-M4Djw_>5^ZZlV#Z@#qUWweXe*CQ)|Qe)#d zNjM8cJY@S%uAUrn?BI=@o>;)Kv@^fLwck#)a8-9lo2WITIugLnQpSeL#^3xj&h!y- z8SA)}zS{OMe@C?NR^EX>;tB>_HgOANRPMjV41f-7&%+!XhiH3~?8kRr3E@A6A6ncz zirogYRD8vgZm{JI&nN6~J^_LLv`db#6mABH0Ui8*?4WFR$%%}suRb_0^E)hZDDw0# zc;#ulI*>p11~8#V{Yv5s-)+^`pMS$q$#eQoqdj<`vKfL?-pF#_AkxI->l+B^2o(CH zblh5nsJgSs!a$)v)`mRxwvw3ZH%v{we(jq~i2FDm0GCoE9-__2JzGE(xXrX1r(6c< zw!LdZGKiU2wPbBzyX~|hJl8gUht~1p9;tLKrax-;g()UC%7L1I>{Neq)Xyoz%A|tQ za|MX)g8RGPaNJUh;tBAF>JR}_kJ?F=LmW7Ad_faPwPXclWP@Iv{WJ`LLTkRAdWdBW?_3T1icbXtm%W2fRgEmZ-{n7m*W4^&+c z2BG!}lNC;yFt5NpD`y1u76D`qaU;#Hua*}is|D1@>gLab%rxyU3*FU8?hG)coat&~ z$)ZGIM1g+)SC9REV|#V(Vcak++Imp({GuRG1^dFckX>(by#v>Zi9wSxklptMsc_Sr z5}*CC$)E-*dDiui?UN!RX^yYM{-JXS?Jog#I@@^ILvK2VB$*ozVTXE$MiRrf9A^Ry z zoYM8i0A8wxxUW06h;rD^x@W!NF}|n65&bM6Esc|ghl>vqax|Q-LK@BP}J`4DyWYV9BDPP3ha>RLzf>tWGd9tUm_g$|I#5EoIfReNEnj{=ey zuoGmhUBlvxBAEjsX=fkpuQN4)-&@iX5y^omip;#x8MC}y_ttolQAI%wtRx`96{4niRG&9@r=5VyW|Ji#m@3=GDY z94SrruM>Ww^;K%nnwu@L_Bp9wfn7&hDfcv+Iaeq847OpUIDB=FNpxM!Yhl9bKK78= z1{Q){OkIC=D6-f(d?P1cT`wmSSXM*)lDy)elP>u-#Zp-_gQ0TX%hyAOazKyRkwL?e zl%deV0u61}MC^zYB3ZRwrdp*l_c9{6CmKZNlyn4sLH!FAz42jGbAz(;s#J_E1soGWw zi=<((UmuP6Dwp?fYy?xk4RTnNt(yLjrqxG0hBKQo#A85fN=%f{M@k%gDd9F`h^%o6i0LFwA;oTwK#Oo8HJ`uVal`S=tkm_$E~-6g>$CP~!uZU8C`~ zJIUdeS0p-*BmVMfh=|8SEON;8`GSCW7G#7POfYo={go&ks(&~t{_?%-#5p8P4D1nU zJh^6156<0gfb$z;7w_R#gTiMZ^u$d6m{OQazkr)A1SH`{#Df%Cfc)Aw{l$>`)B1jX zQi>0kHBDO){?pOYC8EeG`DA_t<}Fv$@ku?2Oqp&}f$!->UhzU?i_5Rch8GInR1u7e z1}lZMT|-f=zlm99G-nCXaLssI+Ku}cSx?`XVN)b?4Jiztgt$w&K~@gEd^^5Jk9Tkpfmo$HL5{7~jxecVUG1RQ@OvAX+ZExVaNfWi7UsSeeW=brH~ zn#@@R7Hrfk@{DtQpL&tQJVQR-mDS5r#|oBpqZdcZ1xRvj(QehVp-RAPZS{T^vsW@x zBdRC5jVVyaK&ugzp!sHcEc{m{PDmMl#7{YP4CPL+lM%xT+KL;ptmgDl0qjj?Xm)P~ zJqMhLFSwsJy7ur7o*G=RCZlz8c4y|0+eXqpWS8dk4#q)JvR;ked8^(#pMInxp>yl@ zb@pb~CyJ`Z%{~XpZh*tUgS`VIYOu>0(TBS>KRH~Hx;j*hSGUE$iH!vU0F52{=Iv>( zI(<}Fsv~=Bs%Au(3dO1&6_!T|bKOQt5Lf2<@4f4dCNnPq8hl*0zs&Z$%Bb{u75|Bm z1}hU2Yi-8Z#gweakzPybfSL@qGpP|MxflNBfqFL)U7UH*9d! zQy$7&aw!1KO12&RRjFQ3&BEzR-thK<)GGs}$_j3MbCdO^CPdV?dq0}bc62F|Nka!j zHrx9gW5_x|I1jLuChED^sNT-KwoUpFtirGF@!4rMf|^|1Sa^#(?AJut+&-KpP)q(> zZg10?r{P?#E}pjlJYtfozFY&AnUz%9FQKx#!)U%2dtS~an$n|+^-CQn=rKjGP6Q8P zVlKrL=sPsBYN6AUV)yKFR~Phd^}$>c3sOA_*iM-KOl4$Rtwd`Ey^&0_U9AJ<=V`PS zOnh#57#rUwCi*_Yjs65DUd2x!(@KFZ+8tFUp<(fla`B;!A!ZmTcV9jEVpJ(LWi8}g peSt6pI8P{9J5taHfW%G2X)&Q&Q}fgDz~4iz^QM2B;EY`!{0H9j2+jZi literal 2329 zcmV+!3Fh{RP)Px-(@8`@RCt{2U2SL-M;Lz2t_W$0AQsPHq7o3UNK`DPe=Y$_o7z&OrL9(^qM@RH zt0-+Ph*m-6q(2IcN3~ahbi@+1cHh zeRprOmwh1I?aVwgv+vD3^S^<}^FyLzo( z&w$K$amBRPKq|t}K(Yb(Z6Shf6Q?#_^)Mc1{8Hg*C14W)QJ5d!t0an_LcR)!%YKOU7&|Z6!9s) zV*MCT>_fLc_8REdXhHE44J0Cog^7s021bq8Yhct!G?0iy1Bo!iSn{pc)@U8;VQ83` zHgk$e{meIL*tYPdkJp!Ve51H+xu6lb2F4wc$HFoR5MxiT@+gs_JQHZnv|4V$O{<*B zWqfLQ2ola?ex+#s5r%ox4!+b;r z9j=Ix(g5xa4gt_KV66`km6iAG(YWX7D|5<^t^N*MHgsvviH)^*(Lw;41`Ol3W>nl8 z95QdFmTpYlIMVH_S9$ueVIp!3q=KD@&6!rq=~ydFX${nYm+?-XI)%N<_6I&LSp%Ov z8uzt@*b4UIJGmaJd>(vTKYZEvTHhcLBN0ERSiK?j(TDGuMky8x$Y$GJ32tqI;BWn8 zyDPu@crMiOb@`D;A|h_xxgPZtv=DnYCTgS>%%3}DzTOr`7!=I`ymceYdKJw~9o%ES z|7*?L+T$<1@T)7|h@0k!aGO7W^Xyt?1PZ^dHBh`+9pkC;>s|x5jXlA)b6zlCgXa74 z1D$loOE0~~2*VE)x1H|%Wqh(97^ZI4LX(3Wqpmd&(APa(e%)(e*f1!XrCRT%Yg9ke z3t`W{Cb4im`d$Fk=7!@&K~-HWnib*R|8Y&dCWz!B^$V+BtD2%To*H z&n^4Shv{mL_(`%pRQ)sx--#>Ezk4``tu58E?&CSz*5>a% zW%Fm-I6Kjf?%`Z@Yr7Z^@bCkv`83&}6yy2ga|UqYvNCDAeAT!zuBQf4^J)BzShPe} z()yv}&_?c|5a#`n~;$?YkfKevq?>+`UT z;pqo1m6Yj1oKSY6U8_$S-w9&BSqNhlA$3&%0D0IB9GiZkVCl~@7FN+c(~t6rsQF@F z%wV#^M?`RbV3dAdP<%-G@X$|BKTs(?b#X0J{4_qcRPoh#@P3+~@%j17%GtJdYEKU3 zs4j|%o8hXL3VhZ1%gT!=$jc{R$@xHD8?=oFc=}mk^JUuRq!4F!*EJPd?1@ z>fqz?zL=<4_kX1Qf8VHKQ1f9jzRVZn9ax@s2ItY++gpC|(m^yfr0{gYz9AYLDmG?y z|Gcpa>(;Ha7=HWq?PUOHYio17*_$_S0swNkTwouXLCuFz`F=1wJZ!n{?d>hI@>#QH zS?XI_TFmQt^X35n4jnpF-nnyUAVxHbMNTL?fnr{87AO54%W0Gcik$_i&qU%AaBTNB z<+g8b`Ak~A`_s*?=fPJ;zPB0O060HqqH<%F)slBf>0|{zOOwwV_3qCV$EhtSyxw=$=|VKhpjyY{7S4uA`Y5l zZZWQ2^vr|c_Z15G@6TT_r(+|=`g$;@Vt!!v9U3;e5|hr&#idZ*2j}S zPFwhyOvdEToH^5z?-!QuNOyPU063(JCaOk|#+Ixe@?4+Uzra89^Lg_tX56}S9qbQzduXE-CgrQo6j-0^y;~xa2fN8qsf63NZ=+NyS<1uY z7jFzmjraG1r{*jBW3VL?#Dl;q9~LwpsNC$=iUtdV&kVGrsnJ#@qUr~BLh7^Gv`gme z1;L*p;0@(uG#-@|$h#U`Bq4hS093S07TY@UEt)C#io6C!4HbilFdQGyI6MPj<))@7 z@TKK~rczHv3cs(fF9kp+D`h&>;NKa95l6AC56nSvF$2LuwGW;5sp)6}E>;9UUF6ny8bxm=3TQFfook%utRuo>MUG$I+~J7=V1` zCB{;NO#@j<#|_C=uR{9Oj_k@-WLMUDD)B@mrB6sGPIp*VpxfcGq^U8{MG2%|E)uh@ ztSo^YHVxEGC{A}+R$yW