top of page

9/2018 - 10/2018

Owl

processing.png
GitHub-Mark-Light-64px.png
owl.png

Engine/Software
Languages
Roles
Notable Features Worked On

: Processing
: Java
: Programmer
: Owl Movement and Flapping, Owl AI, Day Night Cycle

About

Owl is an assignment for the first programming class in Creative Technology where we had to program a creature that could be interacted with in Processing. I decided to make a cute owl that could fly around with its friends.

You control the large owl in the center, and you can move your cursor around and it's eyes will follow it. Press SPACEBAR to start flying and WASD to move around. You can only move while flying. They also avoid other owls that are flying. You can click on any owl to control it. Have fun!


The owl is drawn through Processing's functions and mostly uses the BezierVertex function. The wings and other components of the owl are their own classes, and the wings contains specific behaviours for when it is lifting off, landing, or flying. Flapping is achieved by simply changing an the wing angle, with the drawing performed through some linear algebra calculations.

cute owl.gif

To give the owl some more personality, I made its eyes follow the user's cursor. Because it looked lonely alone, I decided to populate the scene with more owls of random sizes and gave them a very simple AI. This AI will randomly toggle flying and toggle changing directions while flying. I also added a day night cycle to give some different activity levels for the AI; they get more active at night and fly around more and are more docile in the day, choosing to sleep instead. Owls are also shy and avoid each other while flying. This is done through simple distance checking and making them fly in the opposite direction.

bottom of page