Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • CreatiCode
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

CreatiCode Scratch Forum

  1. CreatiCode Forum
  2. General Discussion
  3. Ultimate Chicken Horse in Creaticode!

Ultimate Chicken Horse in Creaticode!

Scheduled Pinned Locked Moved General Discussion
19 Posts 3 Posters 3.9k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • TheNicknameGovT TheNicknameGov

    Since I’ve finally (I think) learned how to use multiplayer and can’t get on Linux or ChromeOS ( 😞 ), I’m making a scratch remake of Ultimate Chicken Horse!

    For anyone who doesn’t know what this game is, it is a game about trying to reach the finish line. Every time everyone does not reach the end, they each get a block or obstacle to put on the map to make it easier or harder to reach the finish line. Everyone who reaches the end gets a point, and whoever has the most points at the end wins!

    Edit: I may get stuck at times, and I would appreciate help for anyone willing? (tbh, I’m still very new to multiplayer blocks and still find them pretty confusing.)

    Edit2: I was gonna make this game a couple months back, but I decided not to because the multiplayer was too confusing 😕

    Tyller_T Offline
    Tyller_T Offline
    Tyller_
    trusted helpers
    wrote on last edited by
    #2

    @the_true_odst I can help! It may be hard to make gravity work and stuff like that, your best chance may be making it so you have the player sprites/a sprite that acts at the current clients player, then a display sprite that clones itself and gets added to the game, and the display sprite does some magic to make itself try to follow the player sprite, I have some ideas on how you could do the sync x y movement changing, but the issue is that the synchrously set x y speed isn’t really that good, for example if you set it to 10 10, it moves at a semi arbitrary speed, but it will be twice as fast at 20 20, but still with an arbitrary “real” movement speed, it has ping stuff and you can best test this by setting speed to 200 200, then waiting 0 frames (or 1 frame) and setting speed to 0 0, from what I remember it will definetly not be at 200 200 (the x y position, and that makes sense) but it will most likely be at some random x y position below 200 200

    <div component="post/signature" data-uid="255" class="post-signature">Check out my chat room project so you ppl can not use forums as chat rooms! https://play.creaticode.com/projects/66f2e1dcd1be43d82b886fbd?version=1 <p dir="auto">
    </div>

    TheNicknameGovT 1 Reply Last reply
    0
    • Tyller_T Tyller_

      @the_true_odst I can help! It may be hard to make gravity work and stuff like that, your best chance may be making it so you have the player sprites/a sprite that acts at the current clients player, then a display sprite that clones itself and gets added to the game, and the display sprite does some magic to make itself try to follow the player sprite, I have some ideas on how you could do the sync x y movement changing, but the issue is that the synchrously set x y speed isn’t really that good, for example if you set it to 10 10, it moves at a semi arbitrary speed, but it will be twice as fast at 20 20, but still with an arbitrary “real” movement speed, it has ping stuff and you can best test this by setting speed to 200 200, then waiting 0 frames (or 1 frame) and setting speed to 0 0, from what I remember it will definetly not be at 200 200 (the x y position, and that makes sense) but it will most likely be at some random x y position below 200 200

      TheNicknameGovT Offline
      TheNicknameGovT Offline
      TheNicknameGov
      trusted helpers
      wrote on last edited by
      #3

      @tyller_ said in Ultimate Chicken Horse in Creaticode!:

      It may be hard to make gravity work and stuff like that, your best chance may be making it so you have the player sprites/a sprite that acts at the current clients player

      0aa404e8-6996-4d30-91cd-ad3856f4a9d9-Screen recording 2025-04-01 12.12.50 PM.gif

      does this work?

      Please help all my projects are 3000+ blocks

      Tyller_T Rhyder ByrdA 2 Replies Last reply
      0
      • TheNicknameGovT TheNicknameGov

        @tyller_ said in Ultimate Chicken Horse in Creaticode!:

        It may be hard to make gravity work and stuff like that, your best chance may be making it so you have the player sprites/a sprite that acts at the current clients player

        0aa404e8-6996-4d30-91cd-ad3856f4a9d9-Screen recording 2025-04-01 12.12.50 PM.gif

        does this work?

        Tyller_T Offline
        Tyller_T Offline
        Tyller_
        trusted helpers
        wrote on last edited by
        #4

        @the_true_odst it could likely work, I’m not sure why i was thinking 2d physics stuff (ig cus walls) but that would probably work, you can make the demo stuff to just create your own game and use syrnchrously set x y speed to try it, but I guess it probably should, though with varying heights off ping and the heights would need to be adjusted due to it being slower

        <div component="post/signature" data-uid="255" class="post-signature">Check out my chat room project so you ppl can not use forums as chat rooms! https://play.creaticode.com/projects/66f2e1dcd1be43d82b886fbd?version=1 <p dir="auto">
        </div>

        TheNicknameGovT 1 Reply Last reply
        0
        • TheNicknameGovT TheNicknameGov

          @tyller_ said in Ultimate Chicken Horse in Creaticode!:

          It may be hard to make gravity work and stuff like that, your best chance may be making it so you have the player sprites/a sprite that acts at the current clients player

          0aa404e8-6996-4d30-91cd-ad3856f4a9d9-Screen recording 2025-04-01 12.12.50 PM.gif

          does this work?

          Rhyder ByrdA Offline
          Rhyder ByrdA Offline
          Rhyder Byrd
          wrote on last edited by
          #5

          @the_true_odst just look at some tutorials on how to do it. Ik someone here thats a mod helper has made a forum and stuff about how to make gravity and what blocks n stuff to use

          TheNicknameGovT 1 Reply Last reply
          0
          • Rhyder ByrdA Rhyder Byrd

            @the_true_odst just look at some tutorials on how to do it. Ik someone here thats a mod helper has made a forum and stuff about how to make gravity and what blocks n stuff to use

            TheNicknameGovT Offline
            TheNicknameGovT Offline
            TheNicknameGov
            trusted helpers
            wrote on last edited by
            #6

            @attractive-milk I’ve already made gravity and stuff :?

            Please help all my projects are 3000+ blocks

            1 Reply Last reply
            0
            • Tyller_T Tyller_

              @the_true_odst it could likely work, I’m not sure why i was thinking 2d physics stuff (ig cus walls) but that would probably work, you can make the demo stuff to just create your own game and use syrnchrously set x y speed to try it, but I guess it probably should, though with varying heights off ping and the heights would need to be adjusted due to it being slower

              TheNicknameGovT Offline
              TheNicknameGovT Offline
              TheNicknameGov
              trusted helpers
              wrote on last edited by
              #7

              @tyller_ How do you update the other player’s position and actions in the game though?

              Please help all my projects are 3000+ blocks

              Tyller_T 1 Reply Last reply
              0
              • TheNicknameGovT TheNicknameGov

                @tyller_ How do you update the other player’s position and actions in the game though?

                Tyller_T Offline
                Tyller_T Offline
                Tyller_
                trusted helpers
                wrote on last edited by
                #8

                @the_true_odst you do broadcasts for actions, you dont update htem, the synchrously set x y speed and other blocks like that are the way you have to use to update player positions, when you set it on one client the server gets that info, and sends it to all clients (including your own I’m pretty sure) so that clone does stuff, you dont handle the movement for other client sprites manually, creaticode does it automatically (which is a lil annoying)

                <div component="post/signature" data-uid="255" class="post-signature">Check out my chat room project so you ppl can not use forums as chat rooms! https://play.creaticode.com/projects/66f2e1dcd1be43d82b886fbd?version=1 <p dir="auto">
                </div>

                TheNicknameGovT 1 Reply Last reply
                0
                • Tyller_T Tyller_

                  @the_true_odst you do broadcasts for actions, you dont update htem, the synchrously set x y speed and other blocks like that are the way you have to use to update player positions, when you set it on one client the server gets that info, and sends it to all clients (including your own I’m pretty sure) so that clone does stuff, you dont handle the movement for other client sprites manually, creaticode does it automatically (which is a lil annoying)

                  TheNicknameGovT Offline
                  TheNicknameGovT Offline
                  TheNicknameGov
                  trusted helpers
                  wrote on last edited by TAO
                  #9

                  @tyller_ I do that, and it just breaks the movement:

                  I do “if key pressed,” “change x by {number depending on what key},” and “synchronously set speed x {same speed as movement} y 0”

                  for y speed, I do “when space key pressed,” “change y by 4,” “set {y speed} to 4” “synchronously set speed x 0 y {y speed}” “if not touching ground, reduce y by 0.05” (and y speed by that as well)
                  43eeab03-7f07-419a-b5f9-eabb35f2cb1f-image.png

                  Please help all my projects are 3000+ blocks

                  Tyller_T 1 Reply Last reply
                  0
                  • TheNicknameGovT TheNicknameGov

                    @tyller_ I do that, and it just breaks the movement:

                    I do “if key pressed,” “change x by {number depending on what key},” and “synchronously set speed x {same speed as movement} y 0”

                    for y speed, I do “when space key pressed,” “change y by 4,” “set {y speed} to 4” “synchronously set speed x 0 y {y speed}” “if not touching ground, reduce y by 0.05” (and y speed by that as well)
                    43eeab03-7f07-419a-b5f9-eabb35f2cb1f-image.png

                    Tyller_T Offline
                    Tyller_T Offline
                    Tyller_
                    trusted helpers
                    wrote on last edited by
                    #10

                    @the_true_odst you’ve created the game and added hte sprite to the game right? if you have then it’s probably you should do what other people do with an intended x y, actual x y, and only update the sync set speed when these change, the reason you do this is beducase (I believe I’ve tested htis) there’s a time out on the connection if you use it too much

                    <div component="post/signature" data-uid="255" class="post-signature">Check out my chat room project so you ppl can not use forums as chat rooms! https://play.creaticode.com/projects/66f2e1dcd1be43d82b886fbd?version=1 <p dir="auto">
                    </div>

                    TheNicknameGovT 1 Reply Last reply
                    0
                    • Tyller_T Tyller_

                      @the_true_odst you’ve created the game and added hte sprite to the game right? if you have then it’s probably you should do what other people do with an intended x y, actual x y, and only update the sync set speed when these change, the reason you do this is beducase (I believe I’ve tested htis) there’s a time out on the connection if you use it too much

                      TheNicknameGovT Offline
                      TheNicknameGovT Offline
                      TheNicknameGov
                      trusted helpers
                      wrote on last edited by
                      #11

                      @tyller_ Can you make this work then? I have no clue how to.
                      https://play.creaticode.com/projects/67db18264187b83ecbf164ab

                      Please help all my projects are 3000+ blocks

                      Tyller_T 1 Reply Last reply
                      0
                      • TheNicknameGovT TheNicknameGov

                        @tyller_ Can you make this work then? I have no clue how to.
                        https://play.creaticode.com/projects/67db18264187b83ecbf164ab

                        Tyller_T Offline
                        Tyller_T Offline
                        Tyller_
                        trusted helpers
                        wrote on last edited by
                        #12

                        @the_true_odst you create the game with your create button, then you use the add this sprite to game in the clones, you need to make sure the player is a clone with a unique name (I find the best option is usign the username full name or user id for the clone id), run everything for the player in that clone, and put the add this sprite to game for that clone

                        <div component="post/signature" data-uid="255" class="post-signature">Check out my chat room project so you ppl can not use forums as chat rooms! https://play.creaticode.com/projects/66f2e1dcd1be43d82b886fbd?version=1 <p dir="auto">
                        </div>

                        TheNicknameGovT 2 Replies Last reply
                        0
                        • Tyller_T Tyller_

                          @the_true_odst you create the game with your create button, then you use the add this sprite to game in the clones, you need to make sure the player is a clone with a unique name (I find the best option is usign the username full name or user id for the clone id), run everything for the player in that clone, and put the add this sprite to game for that clone

                          TheNicknameGovT Offline
                          TheNicknameGovT Offline
                          TheNicknameGov
                          trusted helpers
                          wrote on last edited by
                          #13

                          @tyller_ can you send a screenshot of what you mean? I’m pretty sure you can look at my code too

                          Please help all my projects are 3000+ blocks

                          1 Reply Last reply
                          0
                          • Tyller_T Tyller_

                            @the_true_odst you create the game with your create button, then you use the add this sprite to game in the clones, you need to make sure the player is a clone with a unique name (I find the best option is usign the username full name or user id for the clone id), run everything for the player in that clone, and put the add this sprite to game for that clone

                            TheNicknameGovT Offline
                            TheNicknameGovT Offline
                            TheNicknameGov
                            trusted helpers
                            wrote on last edited by TAO
                            #14

                            @tyller_ I feel like this should work, but it doesn’t. Can you help?
                            d85d1dbf-ec51-43d5-bf04-df6ffc362f28-image.png

                            Edit: I understand the movement is different from the sync block, it was just a test to see if it would actually move

                            Please help all my projects are 3000+ blocks

                            Tyller_T 1 Reply Last reply
                            0
                            • TheNicknameGovT TheNicknameGov

                              @tyller_ I feel like this should work, but it doesn’t. Can you help?
                              d85d1dbf-ec51-43d5-bf04-df6ffc362f28-image.png

                              Edit: I understand the movement is different from the sync block, it was just a test to see if it would actually move

                              Tyller_T Offline
                              Tyller_T Offline
                              Tyller_
                              trusted helpers
                              wrote on last edited by
                              #15

                              @the_true_odst you may require some width and height, also you do run create game before that right? and its run in a clone as well right? the most likely issue would be you’re calling synchrously set x y speed every frame, so the server gets it all and eventually just stops receiving from your client due to spam, this is called timing out, the best wya to stop this from being a chance is having four variables

                              actual x speed
                              actual y speed
                              intended x speed
                              intended y speed

                              then every frame you check if the corresponding actual is equal to the intended (and update the intended to change speed and stuff), then if they aren’t equal, syrcrhrously set x y speed to intended x y speed (with the variables), set actual x y speed to intended x y speed, then the if statement ends

                              there are examples of this in the basic space shooter creaticode tutorial example, the reason for this is not explained but most likely because CreatiCode doesnt want your client sending massive amounts of data to their server every frame when it’s not neccassary

                              <div component="post/signature" data-uid="255" class="post-signature">Check out my chat room project so you ppl can not use forums as chat rooms! https://play.creaticode.com/projects/66f2e1dcd1be43d82b886fbd?version=1 <p dir="auto">
                              </div>

                              TheNicknameGovT 1 Reply Last reply
                              0
                              • Tyller_T Tyller_

                                @the_true_odst you may require some width and height, also you do run create game before that right? and its run in a clone as well right? the most likely issue would be you’re calling synchrously set x y speed every frame, so the server gets it all and eventually just stops receiving from your client due to spam, this is called timing out, the best wya to stop this from being a chance is having four variables

                                actual x speed
                                actual y speed
                                intended x speed
                                intended y speed

                                then every frame you check if the corresponding actual is equal to the intended (and update the intended to change speed and stuff), then if they aren’t equal, syrcrhrously set x y speed to intended x y speed (with the variables), set actual x y speed to intended x y speed, then the if statement ends

                                there are examples of this in the basic space shooter creaticode tutorial example, the reason for this is not explained but most likely because CreatiCode doesnt want your client sending massive amounts of data to their server every frame when it’s not neccassary

                                TheNicknameGovT Offline
                                TheNicknameGovT Offline
                                TheNicknameGov
                                trusted helpers
                                wrote on last edited by
                                #16

                                @tyller_ I can’t figure it out, could you help remaking it in my game?

                                Please help all my projects are 3000+ blocks

                                Tyller_T 1 Reply Last reply
                                0
                                • TheNicknameGovT TheNicknameGov

                                  @tyller_ I can’t figure it out, could you help remaking it in my game?

                                  Tyller_T Offline
                                  Tyller_T Offline
                                  Tyller_
                                  trusted helpers
                                  wrote on last edited by
                                  #17

                                  @the_true_odst I can try, you should look at the space shooter tutorial for what I’m talking about, I will make a demo when I get the time

                                  <div component="post/signature" data-uid="255" class="post-signature">Check out my chat room project so you ppl can not use forums as chat rooms! https://play.creaticode.com/projects/66f2e1dcd1be43d82b886fbd?version=1 <p dir="auto">
                                  </div>

                                  TheNicknameGovT 1 Reply Last reply
                                  0
                                  • Tyller_T Tyller_

                                    @the_true_odst I can try, you should look at the space shooter tutorial for what I’m talking about, I will make a demo when I get the time

                                    TheNicknameGovT Offline
                                    TheNicknameGovT Offline
                                    TheNicknameGov
                                    trusted helpers
                                    wrote on last edited by
                                    #18

                                    @tyller_ I did look at the space shooter, but I don’t know how to convert that with gravity physics and a jump mechanic

                                    Please help all my projects are 3000+ blocks

                                    Tyller_T 1 Reply Last reply
                                    0
                                    • TheNicknameGovT TheNicknameGov

                                      @tyller_ I did look at the space shooter, but I don’t know how to convert that with gravity physics and a jump mechanic

                                      Tyller_T Offline
                                      Tyller_T Offline
                                      Tyller_
                                      trusted helpers
                                      wrote on last edited by
                                      #19

                                      @the_true_odst you use the intended and actual as a back bone, for the gravity you just set the intended x and intended y values at the changing, your gravity was mainly change y by 2 every frame and then change y by negative 2 to go down (from what I remember), you can set the intended y speed to 2 every frame (you dont need to every frame but it would work) and then the same with negative, you wouldn’t use 2 because multiplayer blocks make sprites move slower than if you moved them yourself so you have to retest it

                                      basically, you replace all change y by blocks in your gravity with set intended y speed to a value and test for what they should be

                                      <div component="post/signature" data-uid="255" class="post-signature">Check out my chat room project so you ppl can not use forums as chat rooms! https://play.creaticode.com/projects/66f2e1dcd1be43d82b886fbd?version=1 <p dir="auto">
                                      </div>

                                      1 Reply Last reply
                                      0

                                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                      With your input, this post could be even better 💗

                                      Register Login
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • Users
                                      • Groups
                                      • CreatiCode