The Journey Home - A Scrolling Platformer #games #all

Instructions: THE JOURNEY HOME 2 IS NOW OUT: https://scratch.mit.edu/projects/397920138/\n\n#18 on Trending for Games, thank you guys so much! #44 on trending for All?! THANK YOU!! WHAT?! IT'S TOP LOVED????!!!! THANK YOU! GO CHECK OUT THE JOURNEY HOME 2!!!\n30,000 VIEWS?! 1500+ ❤ and 1225+ ⭐?!\n\nPlease read the Description first before playing, and the story, famous scratchers that have liked this and credits are way down the bottom. \n\nMAKE SURE YOU CLICK THE GREEN FLAG AT LEAST TWICE!\n\nGo check this out: https://scratch.mit.edu/projects/397699561\n\nI would really appreciate if you liked and faved this because it took me a REALLY long time to make this. \n\nI may not be able to reply to all your comments, but I will read them!\n\nANY ADVERTISEMENTS WILL BE DELETED AND REPORTED\n\nIf you really liked this project, suggest it in the comments of this studio. You're helping me out if you do that! :\nhttps://scratch.mit.edu/studios/4228481/comments/ \n\nToo short? If this gets top-loved, I will make a much longer version! Follow for more projects like this!\n\nThis is my first EVER Scrolling Platformer, so please be gentle in the comments! :)\n\nBy the way, this is one whole level, not mini levels, but its a maze! If you're really stuck, use the clues below\n\nCLUE: Just because there are dangers in one direction, doesn't mean that's the path... Also, start by wall jumping on the wall behind you ;)...\n\nPlease choose the colour of your character with the arrows next to the player on the starting screen! Not many people probably knew this! Also, if you click the 'Help' and 'Instructions' button, it will provide the info!\n\nAny suggestions for the next game, or changing this game? Let me know in the comments!\n\nThere was a glitch that if you fall from a place too high, you die. I HAVE FIXED IT WOOHOO!\n\nStory:\n.... You're lost! You need to find the way home! But unlike any platformer, its a maze! With many twists and turns, this is indeed a dangerous trek. Can you find the way home? Or are you going to be lost forever? ....\n\nFAMOUS SCRATCHERS THAT HAVE SEEN THIS:\n@-Phantoms-   ❤ and ⭐\n@sushi10000   ❤\n\nCREDITS:\n- @griffpatch for the Youtube Scrolling Platformer Series\n- @carot3 for the inspiration and idea (not copied)\n- TheFatRat for the music (Prelude)\n- Me for everything else (art, player, coding etc.)\n\nPlease do not falsely report this for copying or anything, because I promise I did not copy anyone's ideas or projects :D\n\n#all #games #NeelDaPeel

@Stage\n\nwhen [m v] key pressed\nset [mouse v] to (join ((mouse x) + (SCROLL X)) (join [, ] ((mouse y) + (SCROLL Y))))\nshow variable [mouse v]\n\n@Blank\n\n@Platforms\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [0] y: [360]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [550] y: [300]\n    Clone at x: [-720] y: [-650]\n    Clone at x: [360] y: [0]\n    Clone at x: [800] y: [1025]\n    Clone at x: [360] y: [0]\n    Clone at x: [450] y: [360]\n    Clone at x: [550] y: [-275]\n    Clone at x: [360] y: [0]\n    Clone at x: [450] y: [500]\n    Clone at x: [640] y: [360]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen flag clicked\nhide\n\nif <(LEVEL) = [2]> then\n    switch costume to (level 2 1 v)\n    Clone at x: [0] y: [350]\n    Clone at x: [450] y: [100]\nelse\n    switch costume to (level 3 1 v)\nend\n\n@Danger (Flattener)\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [180] y: [-50]\n    Clone at x: [360] y: [0]\n    Clone at x: [450] y: [0]\n    Clone at x: [50] y: [650]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [2]> then\nend\n\nwhen flag clicked\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nforever\n    set [y v] to [0]\n    repeat (50)\n        change [y v] by (2)\n    end\n    wait (0.5) seconds\n    repeat (50)\n        change [y v] by (-2)\n    end\n    wait (0.5) seconds\n    set [y v] to [0]\n    if <(costume [number v]) = [5]> then\n        set [y v] to [720]\n        repeat (50)\n            change [y v] by (2)\n        end\n        wait (0.5) seconds\n        repeat (50)\n            change [y v] by (-2)\n        end\n        wait (0.5) seconds\n        set [y v] to [720]\n    end\nend\n\nchange y by (-50)\n\nrepeat (10)\n    change y by (-10)\nend\nchange y by (-100)\n\nchange y by (100)\n\nif <(LEVEL) = [2]> then\n    switch costume to (level 1 5 v)\n    Clone at x: [0] y: [350]\n    Clone at x: [450] y: [100]\nelse\n    switch costume to (level 3 1 v)\nend\n\nturn right (10) degrees\n\nturn right (10) degrees\n\n@Exit\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <<(costume [name v]) = [Open]> and <touching (player v)?>> then\n    set [exit v] to [win]\nend\n\nwhen I receive [setup v]\nhide\nset [collected v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (closed v)\n    Clone at x: [1349] y: [77]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (closed v)\n        Clone at x: [736] y: [667]\n    else\n        set [x v] to [-99999]\n    end\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\n\nwhen I receive [open portal v]\nswitch costume to (open v)\n\nwhen flag clicked\nhide\n\n@Player\n\nwhen flag clicked\npoint in direction (90)\nhide\n\nwhen I receive [green flag v]\nhide\ngo to [front v] layer\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    Game On\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v)\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        Game - Die\n    end\nend\n\nbroadcast (Tick v) and wait\n\ndefine Game On\nset [x v] to [0]\nset [y v] to [0]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [sx v] to [0]\nset [sy v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nset size to (100) %\nset [ghost v] effect to (0)\nshow\n\ndefine Tick\nswitch costume to (join (Colour Chosen) (join [-] [Forward]))\nif <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n    switch costume to (join (Colour Chosen) (join [-] [Backward]))\n    change [sx v] by (-2)\nend\nif <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n    switch costume to (join (Colour Chosen) (join [-] [Forward]))\n    change [sx v] by (2)\nend\nset [sx v] to ((sx) * (0.8))\nif <([abs v] of (sx) ) > [0.9]> then\n    Change Player x by (round (sx))\nend\nif <key (up arrow v) pressed?> then\n    if <(in air) < [4]> then\n        set [sy v] to [16]\n    end\nend\nif <(sy) > [-20]> then\n    change [sy v] by (-2)\nend\nChange player y by (sy)\nTest - Die\nchange [scroll x v] by (round (((x) - (SCROLL X)) / (10)))\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (4)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(y) < [-180]> then\n    set [exit v] to [die]\nend\n\ndefine Change player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nPosition\nrepeat until <not <touching (platforms v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine Change Player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (12)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    if <key (up arrow v) pressed?> then\n        if <(sx) > [0]> then\n            set [sx v] to [-16]\n        else\n            set [sx v] to [16]\n        end\n        set [in air v] to [0]\n    else\n        set [sx v] to [0]\n    end\n    repeat until <not <touching (platforms v)?>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Game - Die\nset [exit v] to []\nset [ghost v] effect to (0)\nrepeat (25)\n    change [ghost v] effect by (4)\n    change size by (3)\nend\nset size to (100) %\nset [ghost v] effect to (0)\nhide\nwait (0.5) seconds\n\ndefine Test - Die\nif <<touching (danger \(spikes\) v)?> or <touching (danger \(flattener\) v)?>> then\n    set [exit v] to [die]\nend\n\ndefine Game - Win\nrepeat (50)\n    point towards (exit v)\n    turn right (65) degrees\n    move ((distance to [exit v]) / (2)) steps\n    change size by (-1)\n    change [ghost v] effect by (2)\nend\nhide\nchange [level v] by (1)\nwait (1) seconds\n\nset [scroll x v] to (x)\n\nwhen I receive [green flag v]\nbroadcast (Play Game v) and wait\n\nwhen I receive [green flag v]\nforever\n    if <touching (trampoline v)?> then\n        set [sy v] to [24]\n    end\nend\n\n@Player Options\n\nwhen flag clicked\nshow\nswitch costume to (black v)\nset [colour chosen v] to [Black]\n\nwhen I receive [left v]\nswitch costume to ((costume [number v]) - (1))\nforever\n    set [colour chosen v] to (costume [name v])\n    switch costume to (Colour Chosen)\nend\n\nwhen I receive [left v]\n\nwhen I receive [right v]\n\nwhen I receive [right v]\nnext costume\nforever\n    set [colour chosen v] to (costume [name v])\n    switch costume to (Colour Chosen)\nend\n\nwhen I receive [green flag v]\nhide\n\n@Left Button\n\nwhen flag clicked\nshow\ngo to x: (-52) y: (-38)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (selected v)\n    else\n        switch costume to (deselected v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        start sound [Collect v]\n        broadcast (Left v)\n        wait until <not <mouse down?>>\n    end\nend\n\nset [colour chosen v] to (costume [number v])\n\nwhen I receive [green flag v]\nhide\n\n@Get Help Window\n\nwhen I receive [get help v]\nwait (2) seconds\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        repeat (10)\n            change size by (-8)\n            change [ghost v] effect by (10)\n        end\n        set [ghost v] effect to (100)\n        set size to (20) %\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen I receive [get help v]\ngo to [front v] layer\nrepeat (10)\n    change size by (8)\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset size to (20) %\n\nwait until <not <mouse down?>>\n\n@Play Button\n\nwhen flag clicked\ngo to x: (0) y: (-115)\nset size to (100) %\nshow\nclear graphic effects\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (120) %\n    else\n        set size to (100) %\n    end\n    set y to ((([sin v] of ((timer) * (500)) ) * (5)) + (-110))\nend\n\nwhen flag clicked\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        start sound [Connect v]\n        broadcast (Green Flag v)\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen I receive [green flag v]\nhide\n\n@Instructions Window\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset size to (20) %\n\nwhen I receive [instructions v]\ngo to [front v] layer\nrepeat (10)\n    change size by (8)\n    change [ghost v] effect by (-10)\nend\n\nset [ghost v] effect to (100)\nset size to (20) %\n\nwhen I receive [instructions v]\nwait (2) seconds\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        repeat (10)\n            change size by (-8)\n            change [ghost v] effect by (10)\n        end\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen I receive [instructions v]\n\nif <[100] < (size)> then\n    set size to (100) %\nend\n\n@Sprite1\n\n@Right Button\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (selected v)\n    else\n        switch costume to (deselected v)\n    end\nend\n\nwhen flag clicked\nshow\ngo to x: (50) y: (-38)\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        start sound [Collect v]\n        broadcast (Right v)\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen I receive [green flag v]\nhide\n\n@Title Screen\n\nwhen flag clicked\nshow\ngo to [front v] layer\n\nwhen I receive [green flag v]\nhide\n\nwhen flag clicked\nforever\n    play sound [TheFatRat - Prelude \(Jackpot EP Track 3\) v] until done\nend\n\n@Help Button\n\nwhen flag clicked\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (selected v)\n    else\n        switch costume to (deselected v)\n    end\nend\n\nwhen I receive [green flag v]\nhide\n\nwhen flag clicked\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        start sound [Collect v]\n        broadcast (Get Help v)\n        wait until <not <mouse down?>>\n    end\nend\n\n@Instructions\n\nwhen flag clicked\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (selected v)\n    else\n        switch costume to (deselected v)\n    end\nend\n\nwhen I receive [green flag v]\nhide\n\nwhen flag clicked\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        start sound [Collect v]\n        broadcast (Instructions v)\n        wait until <not <mouse down?>>\n    end\nend\n\nwait until <not <mouse down?>>\n\n@Danger (Spikes)\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [180] y: [-50]\n    Clone at x: [360] y: [0]\n    Clone at x: [-250] y: [360]\n    Clone at x: [-100] y: [310]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [2]> then\n        turn right (10) degrees\n    else\n        if <(costume [number v]) = [4]> then\n            turn right (10) degrees\n        else\n            if <(costume [number v]) = [5]> then\n                turn right (10) degrees\n            end\n        end\n    end\nend\n\nwhen flag clicked\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nforever\n    turn right (10) degrees\nend\n\nchange y by (-50)\n\nrepeat (10)\n    change y by (-10)\nend\n\nchange y by (-100)\n\nchange y by (100)\n\nif <(LEVEL) = [2]> then\n    switch costume to (level 1 3 v)\n    Clone at x: [0] y: [350]\n    Clone at x: [450] y: [100]\nelse\n    switch costume to (level 3 1 v)\nend\n\nif <(costume [number v]) = [4]> then\n    repeat (50)\n        change [y v] by (2)\n    end\n    wait (0.5) seconds\n    repeat (50)\n        change [y v] by (-2)\n    end\n    wait (0.5) seconds\n    set [y v] to [0]\nend\n\n@Thumb\n\nwhen flag clicked\ngo to [front v] layer\nset [ghost v] effect to (100)\n\n