# MakeCode Kart

**URL:** <https://forum.makecode.com/t/makecode-kart/5787>\
**Category:** Collaboration\
**Tags:** art\
**Created:** [January 27, 2021, 4:09pm UTC](https://forum.makecode.com/t/makecode-kart/5787 "2021-01-27T16:09:21Z")\
**Posts on this page:** 20\
**Page:** 6

<div class="post-metadata">

**Author:** ![Nome\_muito\_criativo](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/nome_muito_criativo/32/5636_2.png) [@Nome\_muito\_criativo](https://forum.makecode.com/u/Nome_muito_criativo)\
**Post date:** [October 22, 2021, 4:06pm UTC](https://forum.makecode.com/t/makecode-kart/5787/108 "2021-10-22T16:06:08Z")

</div>

Neither, I’m still working (or trying to work) on it. It seems to get harder every time, then I simplify it and it doesn’t work…

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [October 22, 2021, 4:22pm UTC](https://forum.makecode.com/t/makecode-kart/5787/109 "2021-10-22T16:22:00Z")

</div>

Ok! I’m glad it’s still being worked on!

---

<div class="post-metadata">

**Author:** ![Colethewolf](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/colethewolf/32/4165_2.png) [@Colethewolf](https://forum.makecode.com/u/Colethewolf)\
**Post date:** [December 2, 2021, 10:09pm UTC](https://forum.makecode.com/t/makecode-kart/5787/110 "2021-12-02T22:09:54Z")

</div>

is this still being work on

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [December 3, 2021, 4:31pm UTC](https://forum.makecode.com/t/makecode-kart/5787/111 "2021-12-03T16:31:56Z")

</div>

Yeah, @Nome_muito_criativo is this project still being worked on? (Also when you want to ask someone something, mention them in the comment so they read the comment)

---

<div class="post-metadata">

**Author:** ![Grimm](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/grimm/32/5507_2.png) [@Grimm](https://forum.makecode.com/u/Grimm)\
**Post date:** [December 3, 2021, 7:02pm UTC](https://forum.makecode.com/t/makecode-kart/5787/112 "2021-12-03T19:02:58Z")

</div>

I know I’m late but could I help too?

---

<div class="post-metadata">

**Author:** ![Nome\_muito\_criativo](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/nome_muito_criativo/32/5636_2.png) [@Nome\_muito\_criativo](https://forum.makecode.com/u/Nome_muito_criativo)\
**Post date:** [December 7, 2021, 12:46am UTC](https://forum.makecode.com/t/makecode-kart/5787/113 "2021-12-07T00:46:34Z")

</div>

Actually @Kiwiphoenix364, I’m sorry to tell you but I didn’t update it much since you asked last time because I haven’t been accessing MakeCode too much lately (I didn’t even noticed 3 months have already passed).  
I made the first mode 7 project in an afternoon, but adding perspective to it in a way that is both simple and doesn’t interfere with the other effect is hard (not even Nintendo did it right), and I couldn’t cope with it. I kinda forgot about it.

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [December 7, 2021, 5:25pm UTC](https://forum.makecode.com/t/makecode-kart/5787/114 "2021-12-07T17:25:46Z")

</div>

@Nome_muito_criativo Ok, I understand, but how did Nintendo do it wrong?

---

<div class="post-metadata">

**Author:** ![Nome\_muito\_criativo](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/nome_muito_criativo/32/5636_2.png) [@Nome\_muito\_criativo](https://forum.makecode.com/u/Nome_muito_criativo)\
**Post date:** [December 9, 2021, 7:07pm UTC](https://forum.makecode.com/t/makecode-kart/5787/115 "2021-12-09T19:07:31Z")

</div>

They didn’t do it wrong, it was just too unintuitive for a simple project. You had to make a long list of numbers for each line of pixels on the screen (it would need 120 numbers in MakeCode) telling the SNES how to change each mode 7 parameter across the picture.  
I was trying to just have an “angle” parameter for how tilted the image should be.

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [December 9, 2021, 7:24pm UTC](https://forum.makecode.com/t/makecode-kart/5787/116 "2021-12-09T19:24:01Z")

</div>

Cool, but couldn’t you just use a color detect at x y block and it could generate a string of numbers directly from a tilemap? (sorry if this is entirely wrong because I don’t know much about mode 7, this is just an idea)

---

<div class="post-metadata">

**Author:** ![Nome\_muito\_criativo](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/nome_muito_criativo/32/5636_2.png) [@Nome\_muito\_criativo](https://forum.makecode.com/u/Nome_muito_criativo)\
**Post date:** [December 10, 2021, 6:54pm UTC](https://forum.makecode.com/t/makecode-kart/5787/117 "2021-12-10T18:54:13Z")

</div>

No, the parameters I was talking about are the horizontal and vertical stretching done for each line of pixels to simulate perspective, so no way to use tilemaps.  
But you gave me an idea…

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [December 10, 2021, 7:37pm UTC](https://forum.makecode.com/t/makecode-kart/5787/118 "2021-12-10T19:37:16Z")

</div>

I meant directly from an image, not a tilemap (I typed the wrong thing), but its probably still not possible with an image anyways ☹

---

<div class="post-metadata">

**Author:** ![Taser](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/taser/32/29517_2.png) [@Taser](https://forum.makecode.com/u/Taser)\
**Post date:** [January 14, 2022, 5:14pm UTC](https://forum.makecode.com/t/makecode-kart/5787/119 "2022-01-14T17:14:53Z")

</div>

is this still being worked on?

---

<div class="post-metadata">

**Author:** ![Taser](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/taser/32/29517_2.png) [@Taser](https://forum.makecode.com/u/Taser)\
**Post date:** [January 14, 2022, 5:14pm UTC](https://forum.makecode.com/t/makecode-kart/5787/120 "2022-01-14T17:14:56Z")

</div>

why? 😅

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [February 7, 2022, 10:03pm UTC](https://forum.makecode.com/t/makecode-kart/5787/121 "2022-02-07T22:03:47Z")

</div>

@Nome_muito_criativo I tried make an engine (entirely new) but IT’S REALLY HARD to do what you did! I’m impressed. This is what I tried to do and with low-res it’s fine (because optimizations), but anything with more texture on screen it just can’t handle. Also if I tried to do rotation in any way it wouldn’t work:  
Low-res:

> **[trying to do 2d planes](https://arcade.makecode.com/40224-51226-46870-11275)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

High-res:

> **[trying to do 2d planes](https://arcade.makecode.com/88620-38143-24864-00606)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

I think an extremely efficient code that pre-rendered a small section, rotated it, then put it into perspective might work but it would be almost impossible to get 50fps with three processes running every frame.

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [February 9, 2022, 11:06pm UTC](https://forum.makecode.com/t/makecode-kart/5787/122 "2022-02-09T23:06:34Z")

</div>

I’ve been experimenting with JS recently, and, how would one import an image to do this? Also, there appears to be an error and I’m not sure what variable (or what else to do) to put into that position.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/2X/1/18b789d83abef8fee44f5fb05313209f08a4e68b.png)

---

<div class="post-metadata">

**Author:** ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)\
**Post date:** [February 9, 2022, 11:09pm UTC](https://forum.makecode.com/t/makecode-kart/5787/123 "2022-02-09T23:09:20Z")

</div>

@Kiwiphoenix364 the error is that `=+x` should be `x++`

---

<div class="post-metadata">

**Author:** ![kwx](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kwx/32/1545_2.png) [@kwx](https://forum.makecode.com/u/kwx)\
**Post date:** [February 10, 2022, 2:04am UTC](https://forum.makecode.com/t/makecode-kart/5787/124 "2022-02-10T02:04:29Z")

</div>

Sorry, my example had confused variable names. Replace “target” with “image” like this:

```auto
scene.createRenderable(zLayer, (image: Image, camera: scene.Camera) => {

```

(Or alternatively, keep that line the same and use “target” instead of “image” in the for loop.)

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [February 10, 2022, 6:39pm UTC](https://forum.makecode.com/t/makecode-kart/5787/125 "2022-02-10T18:39:15Z")

</div>

Thanks @kwx and @richard, I’ve made a VERY basic demo of just a squished image that runs ~100fps on a 6+ year old pc!

> **[Makecode Kart](https://arcade.makecode.com/58186-42049-16085-03277)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

No rotation or scaling yet, that would be kind of hard.

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [February 10, 2022, 7:02pm UTC](https://forum.makecode.com/t/makecode-kart/5787/126 "2022-02-10T19:02:32Z")

</div>

Quick follow up: I’ve made it render the same thing, but just for the screen instead of a specific image!

> **[Makecode Kart](https://arcade.makecode.com/27344-16602-72443-29468)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

---

<div class="post-metadata">

**Author:** ![Kiwiphoenix364](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kiwiphoenix364/32/14368_2.png) [@Kiwiphoenix364](https://forum.makecode.com/u/Kiwiphoenix364)\
**Post date:** [February 10, 2022, 10:14pm UTC](https://forum.makecode.com/t/makecode-kart/5787/127 "2022-02-10T22:14:46Z")

</div>

I made an extension for this:  
kiwiphoenix364/pxt-fake-3d

[Previous page](https://forum.makecode.com/t/makecode-kart/5787.md?page=5)

[Next page](https://forum.makecode.com/t/makecode-kart/5787.md?page=7)
