Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

snowMelt-elijahPierce #968

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

Conversation

anomynous1225
Copy link

@anomynous1225 anomynous1225 commented Oct 21, 2024

I have 6 different pictures displayed randomly one of which is played half the time and the other 5 are played 1/10 of the time one picture is of a snowman an igloo and a penguin the penguin and the snowman s noses are randomized in size the snowman s hat is randomized in size and there is "snow" which is randomly placed on the canvas. One picture is of the same penguin with X instead of eyes and you can see the snowman s hat as if it melted there is the sun in this picture. Another picture is of a canoe in rough water with lightning randomly hitting the boat. Another picture is of an iceberg glacier floating on the water with snow. another picture is of the canoe hitting the iceberg. The last picture is of a volcanoe with a asteroid randomly landing on the top of the screen.

  • I have read the steps to getting a blot
  • I have read all the submission requirements and follow them
  • I am submitting art that...
    • is algorithmically generated (will meaningfully change each time the program is run)
    • is your own work that is not copied from somewhere else
    • is drawable through the editor(does not use outside tools)
    • doesn't call Math.random() (See the documentation on randomness)
    • is drawable on Blot itself (doesn't have lines overlap more than 5 times)
      • Doesn't overlap lines more than 5 times
      • Fits in the working area of 125x125mm
      • Doesn't rely on colour to look good

If you used based your art on something else, used a tutorial, or remixed it from something else, please link it here:

Lastly, link a picture of your art piece here:
dead penguin
iceburg
penguin
boat
volcano
iceburgboat

Copy link

vercel bot commented Oct 21, 2024

@anomynous1225 is attempting to deploy a commit to the Hack Club Team on Vercel.

A member of the Team first needs to authorize it.

@EnterpriseGoose
Copy link
Contributor

Hello! Sorry it's been so long. The main reviewer has been swamped lately, so I wanted to give you a few hints so you have the best chance of getting a blot.

Would you be able to rename your project file to index.js? That would make it so that the automation to generate a preview can run, which is super nice for reviewers!

In terms of the actual project, I really like it! I think you're suuuper close to getting a blot, there are just a few things I would add / change and then you'll be there!
A big thing that you'll have to change for all of the pictures is that the blot can't do fill operations. If you want something shaded, you'll have to draw diagonal lines across the area you want shaded (think of how you would do it with, say, a colored pencil if you wanted to fill something in). For your blot submission, everything should be blot-drawable (though you can still have a toggle to turn it to fill mode if you think it looks better for the gallery)

For the specific pictures, I mostly just would love to see a bit more randomness.
For the dead penguin, maybe you can make the sun in different spots, add a few clouds, make a few different versions of the hat, or add some other decorations to the penguin
For the boat, I would love to see similar things change in the sky, or have a few different forms of lightning, or have some randomization with the water
For the iceberg, maybe you can make the iceberg randomize in size or shape somehow, or have the water change randomly
For the boat/iceberg, you can just apply some of the previous suggestions
I think the igloo one looks really cute, maybe you could change the size of the igloo or something but I think it looks good
For the volcano, maybe you could make the smoke change shape, or make there be some kind of random lava or make the volcano itself change shape

Anyway, I don't think you'll have to do so much per image, but just like one or two more randomization bits would get it that last little bit of the way. You're super close to getting a blot!

I'm excited to see the final changes!

Copy link

github-actions bot commented Nov 14, 2024

art/snowMelt-elijahPierce/index.js looks like art! preview it in the editor

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 14, 2024 via email

@EnterpriseGoose
Copy link
Contributor

Hello!
I'm getting the preview link now but it doesn't seem like the changes got pushed. Can you check that the code was updated?

Thanks!

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 14, 2024 via email

@EnterpriseGoose
Copy link
Contributor

EnterpriseGoose commented Nov 14, 2024 via email

added cloud and sun and stuff
@anomynous1225
Copy link
Author

anomynous1225 commented Nov 15, 2024 via email

@EnterpriseGoose
Copy link
Contributor

EnterpriseGoose commented Nov 18, 2024

Looking back at it I just remembered- the other thing you need to do is have a toggle to turn off all the fill color on the drawLines. The blot can't parse the fill color (even if it's black), so it needs to look good even without using any fill. If you really need things to be filled in, you can use diagonal lines to shade something.
(sorry I meant to send this 4 days ago and just realized that it never got sent)

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 18, 2024 via email

@EnterpriseGoose
Copy link
Contributor

I'll still need to forward it to the main reviewer for final confirmation, but I think it's pretty good! I might suggest a toggle for the fill (just have some boolean variable), but just removing it would work as well.

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 18, 2024 via email

@EnterpriseGoose
Copy link
Contributor

If you have a toggle so it's still possible to draw the pictures with the fill using your code, you can leave the pictures as-is, otherwise I would update them to the new code.

got rid of fill
@anomynous1225
Copy link
Author

its done

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 19, 2024 via email

@EnterpriseGoose
Copy link
Contributor

I'm really sorry to be so nit-picky, but I just noticed a couple more things-

  • In the volcano one, the smoke is slightly above the blot's area, and the meteor can sometimes generate outside of the area
  • In a few of them (especially with the water), there are elements that are now overlapping. Would you be able to use bt.cut, bt.difference, and bt.cover to just quickly take care of that?

I promise these are the final things. I'll add you to the next batch of projects for the guy in charge of sending out blots.

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 19, 2024 via email

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 20, 2024 via email

@EnterpriseGoose
Copy link
Contributor

EnterpriseGoose commented Nov 20, 2024 via email

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 20, 2024 via email

@EnterpriseGoose
Copy link
Contributor

EnterpriseGoose commented Nov 20, 2024

Of course!
Let's say I have 2 squares:
image
each setup like this:
const square1 = [[ [0, 0], [50, 0], [50, 50], [0, 50], [0, 0] ]];
If I run bt.cut(square1, square2), this will cut square 1 using square 2:
image

If I run bt.difference(square1, square2), this will cut square 2 out of square 1:
image
If you notice, though, this messes up the "2" inside of square 2 and the "1" inside of square 1. This is because bt.difference is a much simpler function that will attempt to join the resulting polylines.
For a more advanced way to use one shape to cover another, use bt.cover. If I run bt.cover(square2, square3):
image
Which will finally use square 2 as a cutter for square 1 without messing anything up.

Hope this was helpful!

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 20, 2024 via email

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 22, 2024 via email

@EnterpriseGoose
Copy link
Contributor

Sorry for the long wait- I've been sick recently and have been slacking off :)

I see you're using turtles. In that case, you would want to get the paths of the turtles using turtle.path (assign them to variables) and then use the bt.cut / bt.cover on those paths. Hope this helps!

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 26, 2024 via email

@anomynous1225
Copy link
Author

anomynous1225 commented Nov 26, 2024 via email

@EnterpriseGoose
Copy link
Contributor

Here's an example:

let turt = new bt.Turtle()
  .jump([50, 50])
  .arc(360, 20)
let turty = new bt.Turtle()
  .jump([71, 36])
  .arc(360, 20)

let turtPath = turt.path
let turtyPath = turty.path

drawLines(turtPath)
drawLines(turtyPath)

will result in:
image
if I add the line bt.cover(turtPath, turtyPath):

let turt = new bt.Turtle()
  .jump([50, 50])
  .arc(360, 20)
let turty = new bt.Turtle()
  .jump([71, 36])
  .arc(360, 20)

let turtPath = turt.path
let turtyPath = turty.path

bt.cover(turtPath, turtyPath)

drawLines(turtPath)
drawLines(turtyPath)

it results in:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants