Discuss Scratch

ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

now before you say “dupe” or the fact i made this back then,let me tell you this,
BOTH OF THOSE WERE CLOSED.and my old one didnt give much detail on how this weird thing can work.
heres how it can work.
Emulate [project v] ::  #aa1111// this block will be able to emulate said project,the emulation box would look like a variable box,but you can make it
:: // fullscreen ,movable,etc.
:: // and more.however,it will check the wanted project for emulation blocks of all kinds,even this one,if there is,it will show a message saying
:: // "unfortunately,the project being emulated had contained a emulation block,therefore it will not be emulated."
:: // if there isnt an emulation block,the emulating can resume.
:: // now, the way it will work is that just like turbowarp,it would compiled the project to javascript to make it.(this may change.)
[close v] emulation :: #aa1111 // this works as said,you can either close or open the emulation.
(project emulated's ID :: #aa1111 ) :: // this is simply a variable that would give the ID of the emulated project.
set emulation type to [fullscreen v] :: #aa1111 // this is a new block to this,and it changed the emulation box from fullscreen,to movable,etc.
// heres one very exiting yet kinda scary block for this,
set interaction to [active v] :: #aa1111 // this one can toggle the interaction between the code of the emulated project and the main project,however,
// it isnt FULLY part of the suggestion and can be removed.
now that we finished talking about the blocks,heres a QNA!
QNA
isnt this a dupe?
it is,but because this topic here got closed (and other might get closed to.maybe because they dont explain how to fix major flaws of this idea.idk) i made this to make this to fix them.
how can this be usefull?
well,what if you're trying to make a console or an OS and trying to put stuff in them,simply getting all the sprites from one project and putting them into another manually wont work well.i tried it once and it failed.and this might help make projects like movie house projects or youtube/netflix simulators actually act like one without people having extremely hard time making good content on those
can someone emulate any of my projects that they dont own?
no,the emulate block can only emulate projects you either unshared(might change) or shared.this way,noone can steal other peoples projects.
how about the height and width of the emulation?wouldnt it be buggy?
heres the thing,the size is the only thing that can be changed it we are talking about the width and height,you can move the emulationbox around or change it to full screen etc,but nothing else.this makes it so that all emulations are proper,rather than it jumbling up because of the way you change the height and width.
what if someone remixes my project and puts it into a project using the block?
the credits for remixes of other projects used will be shown on the project page.
would this be an extension?
yes,it would be as i think some new scratchers may not understand it yet.
i want to see stuff about this.this may get closed,but it isnt rejected!(i think)

Last edited by ayandhisarmy (Jan. 29, 2022 23:47:22)

gilbert_given_189
Scratcher
1000+ posts

idea for the emulation block (FIXED FOR ONCE.)

More readable version:
emulate [project v] ::  #aa1111
This block will be able to emulate said project. The emulation box would look like a variable box, but you can make it fullscreen, movable, etc.
However, it will check the wanted project for emulation blocks of all kinds, even this one. If there is, it will show a message saying:
“Unfortunately, the project being emulated had contained a emulation block, therefore it will not be emulated.”
If there isn't an emulation block, the emulation can resume.
Now, the way it will work is that just like Turbowarp, it would compiled the project to JavaScript to make it. (this may change.)

[close v] emulation ::  #aa1111
This works as said, you can either close or open the emulation.

project emulated's ID ::  #aa1111 reporter 
This is simply a variable that would give the ID of the emulated project.

I don't think “emulation” is the right terminology. Maybe “embed” is better.
ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

gilbert_given_189 wrote:

More readable version:
emulate [project v] ::  #aa1111
This block will be able to emulate said project. The emulation box would look like a variable box, but you can make it fullscreen, movable, etc.
However, it will check the wanted project for emulation blocks of all kinds, even this one. If there is, it will show a message saying:
“Unfortunately, the project being emulated had contained a emulation block, therefore it will not be emulated.”
If there isn't an emulation block, the emulation can resume.
Now, the way it will work is that just like Turbowarp, it would compiled the project to JavaScript to make it. (this may change.)

[close v] emulation ::  #aa1111
This works as said, you can either close or open the emulation.

project emulated's ID ::  #aa1111 reporter 
This is simply a variable that would give the ID of the emulated project.

I don't think “emulation” is the right terminology. Maybe “embed” is better.
you might be right,but i think emulation is good.but you are right.
Autofirejm
Scratcher
1000+ posts

idea for the emulation block (FIXED FOR ONCE.)

So it would work like an iframe (link for reference) in a project?
Support!, there could be many projects in a series that could be made in a project with the emulation blocks, they shouldn't be able to run really big projects with thousands of blocks. this should be limited to scratchers just like how cloud variables are as well, so they don't spam the emulate blocks and lag people's devices. maybe also limiting to 10 “emulate project (ID)” blocks per project.
ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

Autofirejm wrote:

So it would work like an iframe (link for reference) in a project?
Support!, there could be many projects in a series that could be made in a project with the emulation blocks, they shouldn't be able to run really big projects with thousands of blocks. this should be limited to scratchers just like how cloud variables are as well, so they don't spam the emulate blocks and lag people's devices. maybe also limiting to 10 “emulate project (ID)” blocks per project.
i was thinking of the same scratcher system were only scratchers can use it!
though the emulation window can be made into a fullscreen type,a variable box style one(with title) and another variable box with no title.though iframe is a good example.

Autofirejm wrote:

maybe also limiting to 10 “emulate project (ID)” blocks per project.
are you talking about the project being emulated or the main project thats emulating?

Last edited by ayandhisarmy (Jan. 12, 2022 00:13:55)

Geotale
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

While I have a project idea this would work perfectly for, I can still only see it being used in very few projects – Basically none if you aren't able to actively interact with the embedded project. Adding to this, loads could be an issue. Any ideas for those?
ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

Geotale wrote:

While I have a project idea this would work perfectly for, I can still only see it being used in very few projects – Basically none if you aren't able to actively interact with the embedded project. Adding to this, loads could be an issue. Any ideas for those?
well my idea was to do what Turbowarp did, though,it may be hard,and you will be able to interact with the embedded project, but you can not change the code.
basically, the reason i think these are useful is that you can make virtual libraries, youtube/Netflix simulators, virtual consoles, OSs,virtual tvs, and probably more without the need of manually transferring ALL THE SPRITES OF EACH PROJECT into one, praying it would work.

Last edited by ayandhisarmy (Jan. 13, 2022 11:32:21)

ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

https://scratch.mit.edu/projects/626652462/ a showcase for the emulation box (just an idea thing and can change soon)
ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

bumt
TheSmartGuy1234
Scratcher
1000+ posts

idea for the emulation block (FIXED FOR ONCE.)

support if you can hide it and it has a warning like the username block and I think the variable box is too small
ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

TheSmartGuy1234 wrote:

support if you can hide it and it has a warning like the username block and I think the variable box is too small
it will have all of those,but about the variable box part:it would look like this,https://scratch.mit.edu/projects/626652462/
ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

bump
k0d3rrr
Scratcher
1000+ posts

idea for the emulation block (FIXED FOR ONCE.)

Despite the technical limitations of Scratch, this could work. Support! This could be used to emulate games on a Windows Simulator (Some examples are Minesweeper and Solitaire).
Mahak2706
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

k0d3rrr wrote:

Despite the technical limitations of Scratch, this could work. Support! This could be used to emulate games on a Windows Simulator (Some examples are Minesweeper and Solitaire).
what?
ScolderCreations
Scratcher
1000+ posts

idea for the emulation block (FIXED FOR ONCE.)

I don’t see why you’d need to embed projects into each other. This could also be used to quickly slap an entire project into another.
JamesDoesGames
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

k0d3rrr wrote:

Despite the technical limitations of Scratch, this could work. Support! This could be used to emulate games on a Windows Simulator (Some examples are Minesweeper and Solitaire).

I think OP meant emulating other projects, not microsoft games (although that would be interesting)
ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

ScolderCreations wrote:

I don’t see why you’d need to embed projects into each other. This could also be used to quickly slap an entire project into another.
sometimes it could get very messy trying to import every little sprite and code from on project into another,but with this block,that would be easier because it would do it for you.
k0d3rrr
Scratcher
1000+ posts

idea for the emulation block (FIXED FOR ONCE.)

JamesDoesGames wrote:

k0d3rrr wrote:

Despite the technical limitations of Scratch, this could work. Support! This could be used to emulate games on a Windows Simulator (Some examples are Minesweeper and Solitaire).

I think OP meant emulating other projects, not microsoft games (although that would be interesting)
I was making an example of what could be made with the emulation blocks. And yes, someone could make a Minesweeper project and a Solitaire project on Scratch and then use the emulation blocks to make the “apps”* work.
*By “apps”, I mean just using the emulator blocks to make it look like it's an actual OS.
ayandhisarmy
Scratcher
100+ posts

idea for the emulation block (FIXED FOR ONCE.)

bump
k0d3rrr
Scratcher
1000+ posts

idea for the emulation block (FIXED FOR ONCE.)

Mahak2706 wrote:

k0d3rrr wrote:

Despite the technical limitations of Scratch, this could work. Support! This could be used to emulate games on a Windows Simulator (Some examples are Minesweeper and Solitaire).
what?
I mean the Minesweeper and Solitaire games that used to be on Windows computers (now only on the Store), which could be remade on Scratch, then emulated on, for example, a Windows 7 Simulator (which could be really cool).

Powered by DjangoBB