Sonic a platformer 
@Stage\n\n@Sprite10\n\nwhen flag clicked\nhide\nhide\nwait until <(Level) = [5]>\ngo to x: (13) y: (140)\nshow\nwait until <(Level) = [6]>\nshow\ngo to x: (5) y: (-108)\nwait until <(Level) = [7]>\nhide\n\n@Sprite9\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (1) layers\nwait (0.0001) seconds\nhide\nwait until <(Level) = [1]>\ngo to x: (56) y: (29)\nshow\nwait until <(Level) = [2]>\nhide\nwait until <(Level) = [4]>\nshow\nwait until <(Level) = [5]>\nhide\n\ngo to x: (202) y: (29)\n\nshow\n\nshow\n\n@Sprite8\n\nwhen flag clicked\nwait (0.001) seconds\nhide\nwait until <(Level) = [2]>\nshow\ngo to x: (-220) y: (138)\nwait until <(Level) = [3]>\ngo to x: (-96) y: (91)\nwait until <(Level) = [4]>\nhide\n\ngo to x: (-96) y: (91)\n\nwhen flag clicked\nset size to (90) %\nforever\n    repeat (20)\n        change size by (1.3)\n        wait (0.03) seconds\n    end\n    repeat (20)\n        change size by (-1.3)\n        wait (0.03) seconds\n    end\nend\n\n@Sprite7\n\nwhen flag clicked\nwait (0.001) seconds\nhide\nwait until <(Level) = [2]>\nshow\ngo to x: (135) y: (-114)\nwait until <(Level) = [3]>\ngo to x: (73) y: (73)\nwait until <(Level) = [4]>\nhide\n\nshow\n\ngo to x: (73) y: (73)\n\nwhen flag clicked\nwait (1.5) seconds\nset size to (90) %\nforever\n    repeat (20)\n        change size by (1.3)\n        wait (0.03) seconds\n    end\n    repeat (20)\n        change size by (-1.3)\n        wait (0.03) seconds\n    end\nend\n\n@Sprite6\n\nwhen I receive [1 v]\nhide\n\nwhen flag clicked\nwait (0.0001) seconds\nhide\n\nwhen flag clicked\nwait until <(Level) = [4]>\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [ded v]\nif <(Level) = [4]> then\n    show\nend\n\nwait until <(Level) = [3]>\nshow\nswitch costume to (costume2 v)\nwait until <(Level) = [6]>\nshow\nswitch costume to (costume3 v)\nwait until <(Level) = [7]>\nhide\n\nif <(Level) = [3]> then\n    show\nend\nif <(Level) = [6]> then\n    show\nend\n\n@Sprite5\n\nwhen flag clicked\nwait (0.0001) seconds\nhide\nset size to (125) %\nforever\n    wait (0.001) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\ngo to (player v)\nrepeat (5)\n    wait (0.001) seconds\n    change size by (-10)\nend\ndelete this clone\n\nwhen I receive [12 v]\nset size to (100) %\n\nwhen I receive [11 v]\nset size to (125) %\n\n@Sprite4\n\nwhen flag clicked\nset [a v] to [1]\ngo to [front v] layer\nwait (0.5) seconds\nrepeat (100)\n    change [ghost v] effect by (1)\nend\n\nwhen flag clicked\nif <(a) = [1]> then\n    show\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Sprite3\n\nwhen flag clicked\nforever\n    wait until <touching (player v)?>\n    broadcast (1 v)\n    hide\nend\n\nwhen flag clicked\n\nwait until <(Level) = [3]>\nshow\ngo to x: (42) y: (97)\nwait until <(Level) = [6]>\nshow\ngo to x: (-162) y: (88)\nwait until <(Level) = [7]>\nhide\n\nwhen flag clicked\nwait (0.0001) seconds\nhide\nwait until <(Level) = [4]>\nshow\ngo to x: (-153) y: (95)\n\nwhen I receive [ded v]\nif <(Level) = [4]> then\n    show\nend\n\nif <(Level) = [3]> then\n    show\nend\nif <(Level) = [6]> then\n    show\nend\n\n@Sprite1\n\nwhen flag clicked\nwait (0.001) seconds\nhide\nwait until <(Level) = [3]>\nshow\ngo to x: (-15) y: (150)\nrepeat until <(Level) = [4]>\n    repeat (30)\n        change y by (10)\n        if <(Level) = [4]> then\n            hide\n        end\n    end\n    wait (1) seconds\n    repeat (15)\n        change y by (-20)\n        if <(Level) = [4]> then\n            hide\n        end\n    end\n    wait (0.5) seconds\nend\nhide\n\n@p\n\nwhen flag clicked\ngo to [back v] layer\nhide\nwait until <(Level) = [1]>\nshow\nswitch costume to (costume1 v)\nwait until <(Level) = [2]>\nshow\nswitch costume to (costume2 v)\nwait until <(Level) = [3]>\nswitch costume to (costume3 v)\nwait until <(Level) = [4]>\nswitch costume to (costume4 v)\nwait until <(Level) = [5]>\nswitch costume to (costume5 v)\nwait until <(Level) = [6]>\nswitch costume to (costume6 v)\nwait until <(Level) = [7]>\nhide\n\nhide\n\n@Player\n\nwhen flag clicked\nset [xvel v] to [0]\nset [yvel v] to [0]\nset [level v] to [1]\ngo to x: (-180) y: (-50)\nforever\n    Run physics [0.9] [0.9] [-1] [15]\nend\n\ndefine Run physics (speed) (friction) (gravity) (jump height)\nchange [yvel v] by (gravity)\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [xvel v] by (speed)\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n    change [xvel v] by ((speed) * (-1))\nend\nset [xvel v] to ((Xvel) * (friction))\nchange x by (Xvel)\nif <<touching (ground v)?> or <touching (sprite6 v)?>> then\n    change y by (1)\nend\nif <<touching (ground v)?> or <touching (sprite6 v)?>> then\n    change y by (1)\nend\nif <<touching (ground v)?> or <touching (sprite6 v)?>> then\n    change y by (1)\nend\nif <<touching (ground v)?> or <touching (sprite6 v)?>> then\n    change y by (1)\nend\nif <<touching (ground v)?> or <touching (sprite6 v)?>> then\n    change y by (-4)\n    change x by ((Xvel) * (-1))\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        set [yvel v] to ((jump height) - (3.5))\n        if <[0] < (Xvel)> then\n            set [xvel v] to [-6]\n        else\n            set [xvel v] to [6]\n        end\n    else\n        set [xvel v] to [0]\n    end\nend\nchange y by (Yvel)\nif <<touching (ground v)?> or <touching (sprite6 v)?>> then\n    change y by ((Yvel) * (-1))\n    set [yvel v] to [0]\nend\nchange y by (-1)\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n    if <<touching (ground v)?> or <touching (sprite6 v)?>> then\n        set [yvel v] to (jump height)\n    end\nend\nif <touching (sprite9 v)?> then\n    set [yvel v] to [20]\nend\nif <touching (sprite10 v)?> then\n    set [xvel v] to [20]\nend\nchange y by (1)\n\nwhen I receive [ded v]\nstart sound [Roblox Death Sound  OOF Sound Effect v]\ngo to x: (-180) y: (-50)\nset [ghost v] effect to (0)\n\nwhen I start as a clone\ndelete this clone\n\nrepeat (10)\n    change size by (-5)\n    change [ghost v] effect by (5)\nend\n\nwhen I receive [next level v]\ngo to x: (-180) y: (-50)\nset size to (125) %\nbroadcast (11 v)\n\nwhen flag clicked\nrepeat until <(Level) = [22]>\n    if <[220] < (x position)> then\n        broadcast (Next level v) and wait\n        broadcast (11 v) and wait\n        wait until <not <[220] < (x position)>>\n    end\n    if <<<(y position) < [-170]> or <touching (sprite1 v)?>> or > then\n        broadcast (Ded v) and wait\n        broadcast (11 v)\n        set size to (125) %\n    end\nend\n\nwhen I receive [respawn v]\nset size to (125) %\ngo to x: (-180) y: (-50)\nset [ghost v] effect to (0)\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go [backward v] (1) layers\nend\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nforever\n    if <[2] = (costume [number v])> then\n        set [xvel v] to [0]\n        wait until <not <[2] = (costume [number v])>>\n    end\nend\n\nwhen flag clicked\nset size to (125) %\nforever\n    if <touching (sprite2 v)?> then\n        set size to (100) %\n        broadcast (12 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (sprite8 v)?> then\n        go to (sprite7 v)\n        wait (2) seconds\n    end\n    if <touching (sprite7 v)?> then\n        go to (sprite8 v)\n        wait (2) seconds\n    end\nend\n\nchange y by (1)\n\n@Sprite2\n\nwhen flag clicked\nwait (0.001) seconds\nhide\nwait until <(Level) = [2]>\nshow\ngo to x: (-49) y: (3)\nwait until <(Level) = [3]>\nshow\ngo to x: (199) y: (50)\nwait until <(Level) = [6]>\nshow\ngo to x: (181) y: (30)\n\nhide\n\nshow\ngo to x: (-215) y: (68)\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        hide\n    end\nend\n\nwhen I receive [ded v]\nif <(Level) = [2]> then\n    show\nend\nif <(Level) = [3]> then\n    show\nend\nif <(Level) = [6]> then\n    show\nend\n\nif <(Level) = [5]> then\n    show\nend\n\ngo to x: (-212) y: (90)\n\nwhen flag clicked\nwait (1) seconds\nset size to (90) %\nforever\n    repeat (20)\n        change size by (1.3)\n        wait (0.03) seconds\n    end\n    repeat (20)\n        change size by (-1.3)\n        wait (0.03) seconds\n    end\nend\n\nrepeat (10)\n    wait (1) seconds\nend\n\n@Ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    go to [front v] layer\n    go [backward v] (5) layers\n    set [level v] to (costume [number v])\n    go to x: (0) y: (0)\nend\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    play sound [0138 v] until done\nend\n\n
\n\nIn this game you are trying to get to the end of the level without touching spikes or other danger, and while and AI enemy is chasing you. Don't touch the enemy or the spikes or crushers! Arrow keys to move. 