# Can't compile app

**URL:** <https://forum.makecode.com/t/cant-compile-app/7992>\
**Category:** Arcade\
**Created:** [May 10, 2021, 4:06pm UTC](https://forum.makecode.com/t/cant-compile-app/7992 "2021-05-10T16:06:35Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 10, 2021, 4:06pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/1 "2021-05-10T16:06:35Z")

</div>

Hello, after last changes (a lot of) I cant download utf file, it say something about compile errors.  
But debuger is silent.  
After changing to javascript mode it firstly say error in arcade-text extension, but after 1sec it remove error notifiacation from it and put it on some pygamer’s modules like `control.ts` (`base` folder), `targetoverrides.ts` (`screen----st7335` folder), `melody.ts` (`mixed----smd` folder), `controller.ts` (`game---hw` folder)  
But then I will click on problem file, notification is gone without any tips.  
Project saves (and playes first time before compiling) as usual, nothing wrong.  
What’s wrong?

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 12:18am UTC](https://forum.makecode.com/t/cant-compile-app/7992/2 "2021-05-11T00:18:51Z")

</div>

After I maked simple mechanics for 1st level, everything is ok.  
But after I use changing tilemaps as my app became to playable in player but its not compiling.  
I didn’t want to post it earlier then it should, but of course you can`t help without looking at project.  
I really don’t know what is wrong.

(you can skip 1st intro by A button. For going to first level go to bench on the north, you`ll se a floating hint)

> **[Spooky Scary PaintBrush\_demo\_compile\_error](https://arcade.makecode.com/50617-20587-97203-63711)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 12:19am UTC](https://forum.makecode.com/t/cant-compile-app/7992/3 "2021-05-11T00:19:01Z")

</div>

Also it has bad fps on lvl1, still don`t know why. Need help here too.

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [May 11, 2021, 12:52am UTC](https://forum.makecode.com/t/cant-compile-app/7992/4 "2021-05-11T00:52:34Z")

</div>

Ah, if you open the console and press compile this is what I get: (Chrome inspect tools)

```auto
[Deprecation] Application Cache API manifest selection is deprecated and will be removed in M85, around August 2020. See https://www.chromestatus.com/features/6192449487634432 for more details.
pxtsim.js:1 Simulator ServiceWorker registration successful with scope: https://trg-arcade.userpxt.io/
pxtweb.js:1 performance report:
		first JS running @ 3s819ms
		DOM loaded @ 4s53ms
		workspace init finished @ 4s645ms
		loading started #loadingheader @ 4s752ms
		loading done #updateeditorfile @ 12s
		loading done #loadingheader @ 12s
		simulator ready @ 14m20s

		loadBlockly took ~ 206ms
		webworker recvHandler took ~ 60ms
		domUpdate loadBlockly took ~ 3s730ms (12s - 16s)
		stopSimulator took ~ 431ms
		reloadAppTargetVariant took ~ 298ms

The FetchEvent for "https://dc.services.visualstudio.com/v2/track" resulted in a network error response: the promise was rejected.
Promise.then (async)
(anonymous) @ ---serviceworker:1
---serviceworker:1 Uncaught (in promise) TypeError: Failed to fetch
ai.0.js:1 POST https://dc.services.visualstudio.com/v2/track net::ERR_FAILED
(anonymous) @ ai.0.js:1
(anonymous) @ ai.0.js:1
(anonymous) @ ai.0.js:1
pxtapp.js:1 webusb: get devices
19pxtblockly.js:1 Deprecated use of setting size_.width to 0 to rerender a field. Set field.isDirty_ to true instead.
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
loadBlockly @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
domUpdate @ main.js:1
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueForceUpdate @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.finally (async)
updateEditorFileAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueSetState @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
internalLoadHeaderAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
loadHeaderAsync @ main.js:1
reloadHeaderAsync @ main.js:1
setHwVariant @ main.js:1
e.onClick @ main.js:1
d @ main.js:1
m @ main.js:1
w @ main.js:1
(anonymous) @ main.js:1
_ @ main.js:1
N @ main.js:1
T @ main.js:1
O @ main.js:1
Cn @ main.js:1
ce @ main.js:1
On @ main.js:1
In @ main.js:1
Pn @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
ae @ main.js:1
An @ main.js:1
pxtblockly.js:1 Cannot set the dropdown's value to an unavailable option. Block type: tileset_tile_picker, Field name: tile, Value: assets.tile`door_left`
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
loadBlockly @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
domUpdate @ main.js:1
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueForceUpdate @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.finally (async)
updateEditorFileAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueSetState @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
internalLoadHeaderAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
loadHeaderAsync @ main.js:1
reloadHeaderAsync @ main.js:1
setHwVariant @ main.js:1
e.onClick @ main.js:1
d @ main.js:1
m @ main.js:1
w @ main.js:1
(anonymous) @ main.js:1
_ @ main.js:1
N @ main.js:1
T @ main.js:1
O @ main.js:1
Cn @ main.js:1
ce @ main.js:1
On @ main.js:1
In @ main.js:1
Pn @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
ae @ main.js:1
An @ main.js:1
pxtblockly.js:1 Cannot set the dropdown's value to an unavailable option. Block type: tileset_tile_picker, Field name: tile, Value: assets.tile`img_trigger_tile`
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
loadBlockly @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
domUpdate @ main.js:1
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueForceUpdate @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.finally (async)
updateEditorFileAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueSetState @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
internalLoadHeaderAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
loadHeaderAsync @ main.js:1
reloadHeaderAsync @ main.js:1
setHwVariant @ main.js:1
e.onClick @ main.js:1
d @ main.js:1
m @ main.js:1
w @ main.js:1
(anonymous) @ main.js:1
_ @ main.js:1
N @ main.js:1
T @ main.js:1
O @ main.js:1
Cn @ main.js:1
ce @ main.js:1
On @ main.js:1
In @ main.js:1
Pn @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
ae @ main.js:1
An @ main.js:1
pxtblockly.js:1 Cannot set the dropdown's value to an unavailable option. Block type: tileset_tile_picker, Field name: tile, Value: assets.tile`lvl1_img_trigger_off`
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
loadBlockly @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
domUpdate @ main.js:1
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueForceUpdate @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.finally (async)
updateEditorFileAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueSetState @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
internalLoadHeaderAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
loadHeaderAsync @ main.js:1
reloadHeaderAsync @ main.js:1
setHwVariant @ main.js:1
e.onClick @ main.js:1
d @ main.js:1
m @ main.js:1
w @ main.js:1
(anonymous) @ main.js:1
_ @ main.js:1
N @ main.js:1
T @ main.js:1
O @ main.js:1
Cn @ main.js:1
ce @ main.js:1
On @ main.js:1
In @ main.js:1
Pn @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
ae @ main.js:1
An @ main.js:1
22pxtblockly.js:1 Deprecated use of setting size_.width to 0 to rerender a field. Set field.isDirty_ to true instead.
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
loadBlockly @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
domUpdate @ main.js:1
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueForceUpdate @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.finally (async)
updateEditorFileAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueSetState @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
internalLoadHeaderAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
loadHeaderAsync @ main.js:1
reloadHeaderAsync @ main.js:1
setHwVariant @ main.js:1
e.onClick @ main.js:1
d @ main.js:1
m @ main.js:1
w @ main.js:1
(anonymous) @ main.js:1
_ @ main.js:1
N @ main.js:1
T @ main.js:1
O @ main.js:1
Cn @ main.js:1
ce @ main.js:1
On @ main.js:1
In @ main.js:1
Pn @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
ae @ main.js:1
An @ main.js:1
pxtblockly.js:1 Cannot set the dropdown's value to an unavailable option. Block type: tileset_tile_picker, Field name: tile, Value: assets.tile`img_trigger_tile`
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
(anonymous) @ pxtblockly.js:1
loadBlockly @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
domUpdate @ main.js:1
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueForceUpdate @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.finally (async)
updateEditorFileAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
componentDidUpdate @ main.js:1
_l @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Cl @ main.js:1
dl @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
Qr @ main.js:1
Xr @ main.js:1
sl @ main.js:1
enqueueSetState @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
internalLoadHeaderAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
loadHeaderAsync @ main.js:1
reloadHeaderAsync @ main.js:1
setHwVariant @ main.js:1
e.onClick @ main.js:1
d @ main.js:1
m @ main.js:1
w @ main.js:1
(anonymous) @ main.js:1
_ @ main.js:1
N @ main.js:1
T @ main.js:1
O @ main.js:1
Cn @ main.js:1
ce @ main.js:1
On @ main.js:1
In @ main.js:1
Pn @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
ae @ main.js:1
An @ main.js:1
5pxtapp.js:1 webusb: get devices
The FetchEvent for "https://dc.services.visualstudio.com/v2/track" resulted in a network error response: the promise was rejected.
Promise.then (async)
(anonymous) @ ---serviceworker:1
---serviceworker:1 Uncaught (in promise) TypeError: Failed to fetch
ai.0.js:1 POST https://dc.services.visualstudio.com/v2/track net::ERR_FAILED
(anonymous) @ ai.0.js:1
(anonymous) @ ai.0.js:1
(anonymous) @ ai.0.js:1
setTimeout (async)
(anonymous) @ ai.0.js:1
(anonymous) @ ai.0.js:1
(anonymous) @ ai.0.js:1
(anonymous) @ ai.0.js:1
(anonymous) @ ai.0.js:1
(anonymous) @ pxtweb.js:1
track @ pxtweb.js:1
(anonymous) @ pxtweb.js:1
(anonymous) @ pxtapp.js:1
editorLoaded @ main.js:1
(anonymous) @ main.js:1
Promise.finally (async)
internalLoadHeaderAsync @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
loadHeaderAsync @ main.js:1
reloadHeaderAsync @ main.js:1
setHwVariant @ main.js:1
e.onClick @ main.js:1
d @ main.js:1
m @ main.js:1
w @ main.js:1
(anonymous) @ main.js:1
_ @ main.js:1
N @ main.js:1
T @ main.js:1
O @ main.js:1
Cn @ main.js:1
ce @ main.js:1
On @ main.js:1
In @ main.js:1
Pn @ main.js:1
(anonymous) @ main.js:1
Kr @ main.js:1
ae @ main.js:1
An @ main.js:1
pxtapp.js:1 error: pxt_modules/arcade-text/main.ts(1,1): error TS9200: program too big by 20658 bytes!

pxtapp.js:1 warning: Compilation failed, please check your code for errors.
pxtapp.js:1 error: pxt_modules/base/control.ts(174,56): error TS9200: !!proc || !bin.finalPass
error: pxt_modules/game---hw/controller.ts(82,21): error TS9200: !!proc || !bin.finalPass
error: pxt_modules/game---hw/systemmenu.ts(340,13): error TS9200: !!proc || !bin.finalPass
error: pxt_modules/mixer---samd/melody.ts(54,9): error TS9200: !!proc || !bin.finalPass
error: pxt_modules/screen---st7735/targetoverrides.ts(31,9): error TS9200: !!proc || !bin.finalPass
error: pxt_modules/screen---st7735/targetoverrides.ts(34,9): error TS9200: !!proc || !bin.finalPass
error: pxt_modules/screen---st7735/targetoverrides.ts(40,13): error TS9200: !!proc || !bin.finalPass

The FetchEvent for "https://dc.services.visualstudio.com/v2/track" resulted in a network error response: the promise was rejected.

```

If you look at one of the last lines outputted during compile:

```auto
pxtapp.js:1 error: pxt_modules/arcade-text/main.ts(1,1): error TS9200: program too big by 20658 bytes!

```

Your program is too big. ☹

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 3:00am UTC](https://forum.makecode.com/t/cant-compile-app/7992/5 "2021-05-11T03:00:11Z")

</div>

> [@UnsignedArduino](#):
>
> Your program is too big.

So… There is no way to create normal game?

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 3:00am UTC](https://forum.makecode.com/t/cant-compile-app/7992/6 "2021-05-11T03:00:16Z")

</div>

maybe some way to put graphics on SD card and make MakeCode read from it?

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 3:00am UTC](https://forum.makecode.com/t/cant-compile-app/7992/7 "2021-05-11T03:00:28Z")

</div>

and… 15890 bytes!? Seiously? Program has to be build in 16 kb? how this is can be possible?

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [May 11, 2021, 4:40am UTC](https://forum.makecode.com/t/cant-compile-app/7992/8 "2021-05-11T04:40:52Z")

</div>

> [@Eretick](#):
>
> So… There is no way to create normal game?

There is - the combination of lots of code + lots of images probably too much for the PyGamer which I selected for the hardware. For large and complex games you are basically out of hope (like yours) because if you don’t have enough program space, it’s highly unlikely that you would have enough RAM for those little devices.

> [@Eretick](#):
>
> maybe some way to put graphics on SD card and make MakeCode read from it?

This option has been discussed before - sadly it is not possible. ☹

> [@Eretick](#):
>
> and… 15890 bytes!? Seiously? Program has to be build in 16 kb? how this is can be possible?

🤔 Where did you get 16kb??? The PyGamer, which uses an ATSAMD51 chip (also what device are you trying to build for? Meowbit? I use PyGamer because that is what I have) and has 512kb of flash. In my experience, UF2 files for the SAMD51s that are somewhere around or over ~750kb will just fail to flash.

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 6:55pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/9 "2021-05-11T18:55:13Z")

</div>

Can I somehow oprimize game and save more memory?  
Pls look at project. Maybe creating images from code from array or something?  
Or it doesn`t change anything?

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 6:55pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/10 "2021-05-11T18:55:16Z")

</div>

> [@UnsignedArduino](#):
>
> Where did you get 16kb???

deleted some stuff and got less difference size.  
I looked at my project folder again.  
File images.g.ts and images.g.jres both 300+ kb. So images are most heavy.  
And its looks like their double each over. Why?

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 7:01pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/11 "2021-05-11T19:01:34Z")

</div>

@UnsignedArduino, and I found a reason of part of lags in lvl1.  
Its because of 8x8 tiles 🤫  
Without them it stays at 30 fps (but I gues it should be more)

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 7:05pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/12 "2021-05-11T19:05:23Z")

</div>

I updated. Deleted unused stuff and backgrounds from 1st intro, put them all to animation.  
It works.

> **[Spooky Scary PaintBrush\_compile\_demo](https://arcade.makecode.com/72139-62943-93344-87824)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

Now project`s folder is 769 kb. But lvl1 requires more images we need to draw.  
And still no sound…  
And (idk why) really bad fps, 16 then image is appear and 12 then it redrawed.  
So I still need’s your help)

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [May 11, 2021, 7:14pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/13 "2021-05-11T19:14:02Z")

</div>

Removing all the big images is the only way I can think of ☹

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 9:08pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/14 "2021-05-11T21:08:08Z")

</div>

Ok then.  
@UnsignedArduino

> [@Eretick](#):
>
> and I found a reason of part of lags in lvl1.  
> Its because of 8x8 tiles

can you comment this?  
or maybe proposition why it has only 30 fps with 16x16 tiles?  
It`s strange, simple menu with 3 animated objects has 45 fps, but lvl1 screen with no animation has 30 fps (with 16x16 tiles) and 13 fps (8x8 tiles)  
That’s not normal.

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [May 11, 2021, 9:58pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/15 "2021-05-11T21:58:30Z")

</div>

More tiles = more stuff to draw. Also, the hardware will always be much, much slower than the simulator. If you can get 30 FPS on hardware that is considered good.

---

<div class="post-metadata">

**Author:** ![LcAtonal](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/lcatonal/32/16800_2.png) [@LcAtonal](https://forum.makecode.com/u/LcAtonal)\
**Post date:** [May 11, 2021, 10:45pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/16 "2021-05-11T22:45:55Z")

</div>

To many sprites? My game lagged once because there were to many sprites

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 10:46pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/17 "2021-05-11T22:46:11Z")

</div>

ok , if I want refuse from using 8x8 tiles (unfortunately, cause it’s perfect works in game cncept, but too slow).  
How can I replace same mechanic?  
Can I just use simple sprite, and get color of pixel which overlaps my projectile and redraw this pixel only?

Should it works?  
I guess this can free some space in project (by deleting tilemaps extension) and free more fps cause I will back to 16x16 tiles which will not participate in this level’s mechanics

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 11, 2021, 11:21pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/18 "2021-05-11T23:21:57Z")

</div>

No, only 7.

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [May 11, 2021, 11:22pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/19 "2021-05-11T23:22:07Z")

</div>

It would be really hard ☹  
I would rather stick with the 8x8 tilemaps and have less performance because it will be easier to code.

---

<div class="post-metadata">

**Author:** ![Eretick](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/eretick/32/3954_2.png) [@Eretick](https://forum.makecode.com/u/Eretick)\
**Post date:** [May 14, 2021, 7:04pm UTC](https://forum.makecode.com/t/cant-compile-app/7992/20 "2021-05-14T19:04:44Z")

</div>

Byt the way, thanks you for your scaling library.

[Next page](https://forum.makecode.com/t/cant-compile-app/7992.md?page=2)
