Discuss Scratch

karatebuilderboy
Scratcher
100+ posts

Sulfurous Player

Sorry if this complaint sounds a bit picky, but I think either stamping or switching costumes without screen refresh isn't working. My project's item number readouts are working fine in the Scratch player, but are buggy in Sulfurous. If you could look into this a bit, that would be great! Thanks a ton!
Akkupack
Scratcher
58 posts

Sulfurous Player

karatebuilderboy wrote:

Sorry if this complaint sounds a bit picky, but I think either stamping or switching costumes without screen refresh isn't working. My project's item number readouts are working fine in the Scratch player, but are buggy in Sulfurous. If you could look into this a bit, that would be great! Thanks a ton!
Yeah, that happens to my Spaceship Simulator project. The speed readout is based on one single sprite, with the GUI and number textures all packed together. What the thing does is that the main sprite is the GUI itself, and it makes clones that each have a position assigned based on the number stored the speed variable, displaying the number in that position the clones have assigned, from the speed (not good at explaining tbh, but the thing works well and for every number I input). The problem Sulfurous has, is that the clones display an entirely different number than they should from their assigned position, sometimes even displaying the GUI texture itself. Pretty ugly looking if you ask me.

Besides that, some textures are shrinked inexplicably, also the background soundtrack is pretty deformed, it also stops completely after like 5 seconds.

Last edited by Akkupack (Jan. 29, 2017 20:43:57)

Mittagskogel
Scratcher
33 posts

Sulfurous Player

Hi everyone, sorry for not tending to this thread for quite some time. I'll get back to working on Sulfurous during the Summer break, so hopefully you'll see some of the long-standing bugs getting fixed. I'm also planning to move rendering to WebGL which means we'll have ultra fast graphic effects (which aren't implemented at all right now) and some better performance in general.

I'm definitely keeping this project alive despite Scratch 3.0 because Sulfurous still has the potential to be faster than Scratch 3.0 and is more independent.

-Mittagskogel
Blaze349
Scratcher
1000+ posts

Sulfurous Player

Sulfurous seems faster than Phosphorus.
Mittagskogel
Scratcher
33 posts

Sulfurous Player

Blaze349 wrote:

Sulfurous seems faster than Phosphorus.
90% of the code is the same, there shouldn't be any noticable difference. However, it may soon be faster
Mittagskogel
Scratcher
33 posts

Sulfurous Player

Arbitrary aspect ratios are coming soon!
Also, if the player is behaving strangely right now, try a different browser. But fear not, it will be fixed soon for most browsers.
Wettining
Scratcher
500+ posts

Sulfurous Player

Mittagskogel wrote:

Arbitrary aspect ratios are coming soon!
Also, if the player is behaving strangely right now, try a different browser. But fear not, it will be fixed soon for most browsers.
hurray, I like how your modification is going

Last edited by Wettining (Aug. 23, 2017 22:58:26)

Mittagskogel
Scratcher
33 posts

Sulfurous Player

Alright, the new version is released.
Let me know what you think!

When you choose a different aspect ratio, the scratch project is scaled so that it “fills” the player. For example, if you choose 16:9, then the project will fill the full width of the player, and the lower part will be cut off. Thus, if you want to make a 16:9 project, you need to make sure you're drawing in the right area. The scratch coordinate system doesn't change - full width is still 480, height is 360.

There is a new feature:
'sulf' variables. If you give a variable a special name, you can use it to read properties of the player. For example:

  • sulf.resolutionX: width of the player
  • sulf.resolutionY: height of the player
  • sulf.version: version of the sulfurous player. This is now 0.86
  • sulf.time: unix time

Note that resolutionX and resolutionY return the actual size of the player, but this has nothing to do with the scratch coordinate system. As stated above, this is still 480x360. Of course drawing with fractions of coordinates will work and display correctly. For example, if you want to draw a pen background for 960x720, make sure your pen size is 0.5 and draw in 0.5 unit intervals.

There is an issue for safari - projects will only load once. If you try to load again, an error occurs. However, you can load the project again by loading a different project and coming back. Essentially, all you need to do is delete the last number of the project id and wait till it loads (or fails to load - doesn't matter) then type the number again and the project should load once again.
cuddley
Scratcher
100+ posts

Sulfurous Player

Mittagskogel wrote:

lugga wrote:

Mittagskogel wrote:

Sorry for the long inactivity, I was travelling and now school started, but I've finally gotten around to fixing a few bugs:

  • The 1px discrepancy at the end of pen lines mentioned by gtoal is fixed. It was caused by rounding odd-number pen sizes.
  • In some cases, Sulfurous was ignoring “Run without screen refresh” blocks. This was caused by "wait " blocks inside. In the update, wait blocks will simply be ignored. Please tell me if this causes problems. I'm not sure what purpose the "wait " block has in Scratch?
  • Incorrect bounding boxes of PNGs have also been fixed, although SVGs are probably still incorrect.
  • Color effect has NOT been implemented yet, as it would cause immense lag in Javascript. I'm thinking about using WebGL for Sulfurous, although that's probably not going to happen any time soon.
Do you mean the blocks like “wait 1 secs”? They pause the script for a certain ammount of seconds. For example: “wait 5 secs” would pause for 5 seconds. I don't think you should ignore them

I'm only ignoring those with a wait time of 0. I assume inserting a wait time of 0 fixes some sort of bug in the flash player, that was my question.
It refreshes the screen.

Generation 3: the first time you see this copy and paste it on top of your sig in the scratch forums and increase generation by 1. Social experiment.

I don't know what to write.
gtoal
Scratcher
1000+ posts

Sulfurous Player

Mittagskogel wrote:

Note that resolutionX and resolutionY return the actual size of the player, but this has nothing to do with the scratch coordinate system. As stated above, this is still 480x360. Of course drawing with fractions of coordinates will work and display correctly. For example, if you want to draw a pen background for 960x720, make sure your pen size is 0.5 and draw in 0.5 unit intervals.

Cool! I haven't seen a display with non-square pixels since the Charles Graphics terminal in '78, which had a 512x512 frame store in a 4:3 aspect ratio. Which meant that in order to draw a circle, you had to actually draw a 3x4 ellipse!
Mittagskogel
Scratcher
33 posts

Sulfurous Player

gtoal wrote:

Mittagskogel wrote:

Note that resolutionX and resolutionY return the actual size of the player, but this has nothing to do with the scratch coordinate system. As stated above, this is still 480x360. Of course drawing with fractions of coordinates will work and display correctly. For example, if you want to draw a pen background for 960x720, make sure your pen size is 0.5 and draw in 0.5 unit intervals.

Cool! I haven't seen a display with non-square pixels since the Charles Graphics terminal in '78, which had a 512x512 frame store in a 4:3 aspect ratio. Which meant that in order to draw a circle, you had to actually draw a 3x4 ellipse!

Well, theoretically, the HTML5 canvas pixels are non-square, but you don't actually notice that on any level. If you draw a circle in Scratch, it will still be a circle in Sulfurous. The point is, if you draw a point at (480, 360) in 16:9 mode, then that point will be off the Sulfurous screen because the 480px width is scaled to the Player width, and the height is scaled to maintain square pixels in the resulting image. Thus, the actual screen area in 16:9 would be 480x270.
Mittagskogel
Scratcher
33 posts

Sulfurous Player

Alright, big update!

Sulfurous now uses WebGL for all rendering tasks. This means that pen is (even) faster, sprite rendering is (even) faster, and all graphic effects are now implemented and fast. The new version is at sulfurous.aau.at. If your device doesn't support WebGL or you want to use the old version for some other reason, you can find it at sulfurous.aau.at/legacy. The old version will still receive the same bug fixes and updates as the new version, as long as they aren't WebGL related.

Even though we've worked hard to get it running as smoothly as possible, there are probably still lots of little bugs that have evaded us so far, so please feel free to report those on github.

One thing that is still too slow is color detection. If anyone knows some way to accelerate this, please leave a message.

I won't have too much time after this, but development should go on, albeit more slowly.
IcyCoder
Scratcher
1000+ posts

Sulfurous Player

Mittagskogel wrote:

Alright, big update!

Sulfurous now uses WebGL for all rendering tasks. This means that pen is (even) faster, sprite rendering is (even) faster, and all graphic effects are now implemented and fast. The new version is at sulfurous.aau.at. If your device doesn't support WebGL or you want to use the old version for some other reason, you can find it at sulfurous.aau.at/legacy. The old version will still receive the same bug fixes and updates as the new version, as long as they aren't WebGL related.

Even though we've worked hard to get it running as smoothly as possible, there are probably still lots of little bugs that have evaded us so far, so please feel free to report those on github.

One thing that is still too slow is color detection. If anyone knows some way to accelerate this, please leave a message.

I won't have too much time after this, but development should go on, albeit more slowly.

WHOA! Great job!

Because JS is the future (echos) future future futur futu fut fu f
CatIsFluffy
Scratcher
100+ posts

Sulfurous Player

Bug: It's slow and variables look like trash. ID 174298766
Mittagskogel
Scratcher
33 posts

Sulfurous Player

CatIsFluffy wrote:

Bug: It's slow and variables look like trash. ID 174298766
It's slow due to the large amount of variables being shown. Variable rendering is currently not done with WebGL, so this not very surprising. It's actually faster in scratch as well if you hide the variables. It's not too difficult to render the variables with WebGL, it's just a lot of work

I'm not sure about the variables “looking like trash”… Please describe the problem and give information about the browser you're using, and describe what exactly is wrong about the variables.
CatIsFluffy
Scratcher
100+ posts

Sulfurous Player

They're flickery and look a lot blurrier in fullscreen. For now I'm going to use old Sulfurous.
ArnoHu
Scratcher
1000+ posts

Sulfurous Player

Excellent work on the Sulfurous Player, it has exactly the bugfixes I waited for in Phosphorus. My little Scratch chess engine increases move calculation depth according to runtime performance, and Sulfurous is just so much faster than Scratch 2.0, hence the chess engine plays better.

Thank you, and best greetings from Austria to Austria (I guess? )
theLman
Scratcher
81 posts

Sulfurous Player

Nice work on the Sulfurous player. Full screen at high speed is great.
novice27b
Scratcher
1000+ posts

Sulfurous Player

Can it show lists, or is my code broken?

i use arch btw
Mittagskogel
Scratcher
33 posts

Sulfurous Player

List rendering is not supported yet. I'm working towards final exams at school, so I don't have much time that I can allocate for working on Sulfurous right now. Sorry!

Powered by DjangoBB