Not normal - a platformer
@Stage\n\nwhen flag clicked\nforever\n    play sound [bensound-memories v] until done\nend\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\nforever\n    if <(Level) = [14]> then\n        switch backdrop to (backdrop1 v)\n    end\nend\n\n@detector\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nbroadcast (Message v)\nshow\ngo to [front v] layer\ngo to x: (0) y: (50)\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n@Spikes\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Lava\n\nwhen flag clicked\ngo to x: (42) y: (0)\nset size to (100) %\n\nwhen flag clicked\nforever\n    set y to (Tide)\n    switch costume to (Level)\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [4]> then\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [2]> then\n        show\n        go to [back v] layer\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [5]> then\n        show\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [9]> then\n        show\n    end\nend\n\nwhen I start as a clone\nforever\n    set [tide v] to [0]\n    repeat (10)\n        change [tide v] by (1)\n    end\n    repeat (20)\n        change [tide v] by (-1)\n    end\n    repeat (10)\n        change [tide v] by (1)\n    end\n    switch costume to (Level)\n    if <(Level) = [6]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    set [tide v] to [0]\n    repeat (10)\n        change [tide v] by (1)\n    end\n    repeat (20)\n        change [tide v] by (-1)\n    end\n    repeat (10)\n        change [tide v] by (1)\n    end\nend\n\n@Bounce\n\ndefine Clone at (x pos) (y pos)\ngo to x: (x pos) y: (y pos)\ncreate clone of (_myself_ v)\n\nwhen I receive [next level v]\nif  then\n    delete this clone\nend\nif <(Level) = [2]> then\n    Clone at [-11] [-71]\nend\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nforever\n    show\n    go to [front v] layer\n    if <touching (player v)?> then\n        switch costume to (costume2 v)\n        wait (00.1) seconds\n    else\n        switch costume to (costume1 v)\n        wait (00.1) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Level\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@player\n\nwhen flag clicked\nswitch costume to (1 v)\nset [color v] effect to (0)\nset [level v] to [1]\nbroadcast (NEXT LEVEL v)\nforever\n    if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>> then\n        change [x vel v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > [0]>>>> then\n        change [x vel v] by (1)\n    end\n    set [x vel v] to ((x vel) * (0.9))\n    change x by (x vel)\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (-4)\n        change x by ((x vel) * (-1))\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > [0]>>>> then\n            if <(x vel) > [0]> then\n                set [x vel v] to [-10]\n            else\n                set [x vel v] to [10]\n            end\n            set [y vel v] to [15]\n        else\n            set [x vel v] to [0]\n        end\n    end\n    change [y vel v] by (-1)\n    change y by (y vel)\n    if <touching (level v)?> then\n        change y by ((y vel) - ((y vel) * (2)))\n        set [y vel v] to [0]\n    end\n    change y by (-1)\n    if <<touching (level v)?> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > [0]>>>>> then\n        set [y vel v] to [15]\n    end\n    change y by (1)\n    create clone of (_myself_ v)\n    if <(x position) > [250]> then\n        change [level v] by (1)\n        broadcast (NEXT LEVEL v) and wait\n    end\n    if <touching (spikes v)?> then\n        broadcast (restart v)\n    end\n    if <touching (bounce v)?> then\n        set [y vel v] to [19]\n    end\n    if <touching (enemy v)?> then\n        set [y vel v] to [15]\n    end\n    if <touching (portal v)?> then\n        change [level v] by (1)\n        broadcast (NEXT LEVEL v)\n    end\nend\n\nwhen I start as a clone\nset [color v] effect to (0)\nclear graphic effects\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [next level v]\nbroadcast (restart v)\n\nwhen I receive [restart v]\nset [x vel v] to [0]\nset [y vel v] to [0]\ngo to x: (-226) y: (-4)\n\nwhen flag clicked\ngo to x: (-224) y: (-3)\nset [x v] to (x position)\nset [y v] to (y position)\n\nwhen flag clicked\nforever\n    if <touching (lava v)?> then\n        broadcast (restart v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [9]> then\n        broadcast (The End So  Ya v)\n    end\nend\n\nwhen I start as a clone\nforever\n    set [color v] effect to (0)\n    switch costume to (1 v)\nend\n\nwhen I receive [backpack v]\nswitch costume to (2 v)\n\nwhen [space v] key pressed\nswitch costume to (1 v)\n\nwhen this sprite clicked\nbroadcast (stuff v)\n\n@words\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\nwhen [space v] key pressed\nif <(Level) = [12]> then\n    next costume\nend\n\n@person\n\nwhen flag clicked\nforever\n    if <(Level) = [8]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        say [I see you want to be more interesting] for (2) seconds\n        say [That's a fairly common thing around here, I see you are one to stay with the trend.] for (4) seconds\n        say [No matter, you must make your way to the binding lights cave] for (3) seconds\n        say [And collect the orbs inside] for (2.2) seconds\n        say [They might make you more interesting.] for (2) seconds\n        wait (2) seconds\n    end\nend\n\nwhen flag clicked\nhide\n\n@bag\n\nwhen flag clicked\nforever\n    if <(Level) = [11]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        broadcast (backpack v)\n        hide\n    end\nend\n\n@portal\n\n@orb\n\nwhen [space v] key pressed\nif <<(Level) = [12]> or <(Level) = [13]>> then\n    show\n    stop [other scripts in sprite v]\n    go to x: (148) y: (104)\nend\nforever\n    if <touching (player v)?> then\n        hide\n        wait (1) seconds\n        set [level v] to [14]\n    end\nend\n\nwhen flag clicked\nhide\ngo to x: (-30) y: (-69)\n\nwhen I receive [stuff v]\nif <<(Level) = [12]> or <(Level) = [13]>> then\n    show\n    stop [other scripts in sprite v]\n    go to x: (148) y: (104)\nend\nforever\n    if <touching (player v)?> then\n        hide\n        wait (1) seconds\n        set [level v] to [14]\n    end\nend\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset size to (100) %\nforever\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    set [time v] to ((timer) + (.1))\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [14]> then\n        wait (3.7) seconds\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen [timer v] > (time)\nset [ghost v] effect to (0)\n\n
Update, part two out! https://scratch.mit.edu/projects/475337006/ \n--------------------------------------------------------------------------------\nYay I made a platformer! (everyone cheer for me)\n\nArrow keys or wasd or mobile to move around\n\nMake sure to do what the words say or it won't really work\n\nWhat will happen when you love or fave?\n\nI will make part two if people seem to like this one.\n\nEnjoy!