The Hopscotch Webplayer

Well if it’s just relaying data, it’s not being stored on a server I own or anything


Sorry! Don’t know how I missed this!

Both! Any block that uses JSON injection. Just anything that can be coded. If this editor had ease of use (and also a scripting API so I can make my own tools with the editor’s backend?) then I would be so grateful.

(I still would like to get Hopscript going, and this game dev knowledge is making me more comfortable over time… Would be so nice to make an emulator like phosphorus. But that’s just my hopeful wish.)


Seems like a hybrid between typing and UI is the way to go – like guided JSON editing in a sense? That would be a really cool power user feature :thinking:

Then coding Hopscotch projects would be much faster to code too

ooooh, so like a better way to add control modifications – like, an API that makes generating the boilerplate easier to handle without so much memorization, right? and tools to better find these things in the project? Modular stuff is really cool honestly – then you just need something to actually use it in :joy:

Edit: first thing I thought of with this type of approach is those Discord Libraries that people have made. Like, it’s basically standard for creating bots, but it’s a community-written thing that makes the API easy to work with

Yeah, for sure. I’ll be taking my first college programming course in the fall, so we’ll see how that goes. I would probably benefit from working with something lower-level or just familiarizing with concepts a little more, but that would be a good thing to continue development in sometime hopefully not too far down the road

I do wish Hopscotch had a community large enough to see some of those types of projects. We had a decent size in the 2016 era, but hey, things like HS Builder, the web explorer, and modular shortcuts are a start.

Side note this is a really interesting poll result so far


Yeah! Personally, if I were to use your editor, it’d have to offer ease of use, but it wouldn’t necessarily need to hold my hand with the advanced stuff if I needed it.

What Hopscotch currently lacks is autonomy. It’s kinda hard to import assets and write functions that work reliably without a considerable amount of jank lol - which is exactly why I would love to be able to write my own tools that can compile down to Hopscotch code! So yeah, that’s basically what I was thinking. :)

Once I learn how to write programming languages and IL and all that I think Hopscript would be a really interesting project. The difference is that while an API supplies JS functions, Hopscript would be a transpiler instead. Obviously it’d be for power users, so with that in mind I would want it for writing functional code without the hassle of A) using my phone for writing code lol, B) transpiling to an offline emulated environment on my PC, and C) having extra features that speed up my workflow (and these aren’t really ordered points).

But if you were to make a library for example, if I could write a map editor in Electron or maybe a spritesheet unpacker or something like that, it would speed things up exponentially for big games. This would be the #1 reason I would ever utilize a library in Hopscotch - it lets you bring tooling out of in-engine string interpreters entirely (if you wanted to!), and into a more robust environment.

All this in the end might be kinda overcomplicated for Hopscotch projects… >.> but it’d be so much nicer to work in and I’m sure it’d be helpful to others.

We had a lot of people in 2016 but hacking was just starting to bubble up, too. So yeah that’s a pretty good start for what it was worth then and now. :D

You’ve really done a great job since then, so of course I commend you!

Same actually, I took a gap year. I’m definitely going to be on my grindset for learning a lot more lower-level concepts.


@awesome_e, in your multiplayer doc youve put “abc123” under “args” for joining a session, and i was quite confused - tmk (which is infinity small lol) it’d make more sense if we put “_data” and provide the room id from the block argument “data”

ok im pretty sure that ^ is not understandable - simpler question: would this :arrow_down: work to join a room? thx!

cant test cuz you said the player is broken lol

ah last thing, im not sure if this is the right topic, i’m lost among every topics you made loll


So yeah, here’s a pic from the docs – you can substitute anything in args, or actually, any of the JSON part of the action using "_data" or "_data_escaped" (see below).

Just so you know though, a prompt will be shown automatically (although it’ll look different) if you don’t provide one, so you don’t necessarily have to save input beforehand.

(And creating a room always generates a random code, but you probably figured that out by now as you got to the joining in the docs)

If you don’t have it already, leave it blank to prompt the user to enter one.

You need to use "_data_escaped" because "_data" will substitute the string literally, and abc123 isn’t a valid keyword[1] in JSON. So, you’d want it to substitute it as a string. "_data_escaped" will substitute the code as "abc123", which is denoted as a string, and won’t give you an error

Yeah this topic would work because the modded player is most related to the webplayer. Generally, things that have to do with project JSON editing on iPad go in This Siri Shortcut Can Modify your Projects | 𝓐𝔀𝓮𝓼𝓸𝓶𝓮_𝓔, questions about file structure usually go in Project JSON modification — Topic, and questions about the player go in this topic.

It’s pretty loose though, as you can kind of cross-apply concepts (apply concepts from one topic to another) to keep any one of these on topic. Hope this helps!

  1. true, false, null… ↩︎


okay got it, tysm for the super detailed explanation! :D


Modded player is up again!

People who noticed/asked about this



i just finished coding my game literally less than 2 minutes ago
now i can test! :D


For some reason I got a tag to your draft post temporarily that was kinda wack and now that notif is gone, but nice work! Can’t wait to see this finished!


Glad the Modded Webplayer is fixed!

What happened? (If it’s ok to ask)


Service I was using had a change in usage so I had to fix something on my dashboard. Can’t really say more than that but basically all of HS Tools API[1] was broken for a couple days

  1. modded webplayer (modded on the fly), videos, full reference chart, filter checker, etc. ↩︎


my new topic? lol

btw, do i need to add a code to automatically close the server (whatever it’s called) once the round is finished?


Well, that sounds complicated. Great job on the fix though :wrench:


No, see edit reason

If you call socket-leave on the host device, everyone will get disconnected (at least, I think that’s how I coded it)


yes thats what i mean :sweat_smile: i still dont understand how lol, it also happened in the past
now that you received the tag can i ask you a favour? quickly read the op to make sure everything’s right, that i didnt break any guidelines in the comp - thx!

ok, but is that necessary? i heard in the past there were too many open rooms and that you’d like us to close rooms when we finish the game

btw quick question, not receiving the “Room does not exist” message = successfully connected?


Can’t because I can’t see it anymore lol. Maybe if you edit that post it’ll let me see it again though

If you want to disconnect everyone, sure. But in my reworked system, rooms will automatically close after a certain amount of time (think it was 24 hours but I don’t remember)

yeah I think so. You can get the player count (should be in docs) and it should be more than one if it’s connected


ok ill go do that

ok then in that case i will not disconnect bc im already stuck in a bug :P

i didnt find it so i went in “test2” in your project builder and copied your code lol

may i ask you to debug something very basic later if i cant find out whats causing my bug? :sweat_smile:

1 Like

If host connection to the page is lost then it will destroy in 30 seconds

lol nice

Can’t promise I’ll get to it in a timely manner, but sure feel free to tag me to it

1 Like

I think the post is fine, but I’ll need to do a quick review of the project at some point just to make sure there’s nothing fishy going on there (although I trust you wouldn’t do that, I still need to check :)⁣)

So, hold off on posting for now while I confirm with team and review the project

1 Like