Concept:
My concept is to create a simple “inside the hive” scene where order and randomness happen at the same time. The honeycomb background is built from repeated hexagons in a grid, which represents the hive’s structure—tight, organized, and predictable. In contrast, the bee moves with a random flying motion that changes slightly every frame, so it feels alive and spontaneous rather than mechanical. I also made the bee bounce within the canvas so it stays inside the hive space, like it is exploring but still contained by its environment. Also, during the class time when I was thinking about what to draw in the project, I felt really hungry and I want to eat honey cake.
The code that I am proud of:
// --- Bee motion (random flying) --- beeVX += random(-0.3, 0.3); beeVY += random(-0.3, 0.3); beeVX = constrain(beeVX, -2.5, 2.5); beeVY = constrain(beeVY, -2.5, 2.5); beeX += beeVX; beeY += beeVY; // Keep bee inside canvas (bounce) let margin = 30; if (beeX < margin || beeX > width - margin) beeVX *= -1; if (beeY < margin || beeY > height - margin) beeVY *= -1; // Draw bee on top drawBee(beeX, beeY, 0.35); }
At the beginning, I wasn’t sure how to create this project, so I watched several YouTube tutorials to learn how to animate an object with “random” speed and changing positions. I borrowed the basic motion idea from those videos, but when I copied it into my own sketch, it didn’t fit well at first because most examples were things like spaceships or tanks, not a bee flying inside a hive. I wanted the bee to feel a little “drunk” and overworked—like it’s been collecting too much honey—so I tried lowering the speed. After that, I ran into another issue: the bee sometimes flew past the canvas boundaries instead of bouncing back. I returned to YouTube to look for a solution, but I couldn’t find an explanation that matched my situation. I then asked ChatGPT, but the first version of the code was too complicated for me to fully understand. In the end, I asked a friend on campus for help, and the final motion code in my project was revised with my friend’s support so it works properly and still matches the bee-in-a-hive idea.
How this was made:
In the beginning, I was frustrated with drawing the honeycomb. My first draft didn’t tile correctly—the shapes overlapped and collapsed into each other, so it didn’t look like a real hive at all. I made many adjustments and learned a lot from YouTube tutorials, especially about changing the way I structured the code so the hexagons could repeat cleanly in a grid. For the color choices, I also struggled because it would take too many trials to find the exact shade I wanted, so I asked ChatGPT for suggestions and used that as a starting point. After the hive finally worked, the next challenge was the bee’s movement, which I mentioned earlier. Once the motion was fixed, I focused on drawing the bee with more detail. The wings and stripes were honestly the hardest parts because small changes in position and size could make the bee look “off.” I spent a lot of time adjusting these details until the proportions felt right and the bee matched the hive scene more naturally.
Conclusion and reflection:
I learned a lot throughout the process of making this project. Compared to the beginning, I felt much more comfortable writing the code to draw the bee, mainly because the self-portrait assignment helped me get used to building shapes step by step and adjusting details. Next time, I think I can improve by creating a more surprising or interesting background and adding more animation—so the scene feels more dynamic rather than just a moving bee on a static hive.