The Hopscotch Webplayer

If it’s in the vanilla client then it’s definitely something I’d look into consistently for those fun online interactions!

Otherwise, considering Hopscotch’s community is already pretty small, using the forum to coordinate would be the second best option for games that are the most fun together (ie. specific online games that are really good, which people like to play the most). That way these projects have their own traction so people come back to them. It seems like a formality if it’s got a limited audience at that point imho.

This is super innovative and I don’t mean to discredit anything!

5 Likes

I honestly think this would be really fun to pioneer. I just want to be practical with how I know online games with small communities generally go, lol.

4 Likes

Yeah, I get that. I’ve kind of come to terms with that, which I’m not sure is really a good or bad thing, but we have had a few times where we did run a small game, and even that was pretty fun.

Thanks, and don’t worry I definitely don’t feel discredited – having something apart from vanilla anything usually has small adoption. In fact, the percent of people who have heard of this modded player here is probably pretty good.

In total, the Node App is less than 400 lines of code – really tiny!

5 Likes

Wow lol that’s really impressive! Security wise I bet there would probably be some things to patch before an official production release anyways… though I honestly don’t know what that would look like. I’m not a cybersecurity expert by any means (despite wanting to learn it in the past…) so I dunno.

I’ve got some ideas for projects but I’m not sure if I’ll be able to work super efficiently on my phone… so who knows, I’ll probably try interacting with multiplayer in the future if it gets documented and I learn more about modding, granted it doesn’t go over my head :)

4 Likes

Probably. It currently checks if the project data loaded in the webplayer matches that of Hopscotch’s server, and there’s no user auth because there’s no sign in to HS Tools

You could always try Hopscotch Project Builder on a computer (given you know how to use shorthands cause those can save lots of time) and save the JSON to put onto HS later

Edit: you won’t be able to test there though cause running edited projects is not allowed

Don’t worry, I try to make things more understandable than the CodeMirror Reference Manual

7 Likes

@CreationsOfaNoob @Rawrbear figured I might tag you, but I’ve documented the new multiplayer functionality here:

10 Likes

:flushed: i wanna create a multiplayer game now

(super awesome documentation, ae!)

7 Likes

Do you have an example project?

5 Likes

Not fully complete, but

6 Likes

Thanks! I’ll bookmark it!

I know this is a bigger undertaking, but it’d be super cool and convenient if you could make a block picker UI for generating shorthands, btw :)

4 Likes

Like for modded actions? Or for HS block properties in general?

You can copy all of the code samples in the player docs, so I presume you mean a little more than that

5 Likes

@Rawrbear ^^


If I were to make a system that tracked edits on the web editor, it would in theory be possible to transfer those edits over the network and make it collaborative? I don’t know if I’d be able to get that to work, but it’s cool to think about considering I have already coded multiplayer.

  • I would rather have collaboration than multiplayer in HS
  • I still like the multiplayer mod better

0 voters

@TheModders @Good-Es

16 Likes

if you make collaborative project builder, the first thing and best thing to do is maybe able to drag n drop math operators and variables. those are the only two thing that is hard to code on the builder, other than that it’s imo easy to use your program :)) ofc being able to code on the builder just like we’re on hopscotch [1] is more ideal but it’s a lot of works i believe


  1. so we don’t need to edit json code ↩︎

9 Likes

that actually seems like a great idea given the amount of people collaborating these days, though, at least from my experience with cloud storage, it might get a bit costly. Also, would it ever delete?

3 Likes

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

4 Likes

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.)

2 Likes

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

3 Likes

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.

2 Likes

@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

2 Likes

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… ↩︎

3 Likes