Johnny.Rodgers
Contents
Assignments
Assignment 1
A1_01, A1_02, A1_03, A1_04, A1_05, A1_06, A1_07, A1_08, A1_09, A1_10, A1_11, A1_12, A1_13, A1_14, A1_15, A1_16
Assignment 2
A2_01, A2_02, A2_03, A2_04, A2_05, A2_06, A2_07, A2_08, A2_09, A2_10, A2_11, A2_12, A2_13, A2_14
Assignment 3
Assignment 4
Since a set of UI widgets was initially integrated with my Project 2 submission, I've taken this assignment to expand the feature set of the Spirographicdesign tool:
- Export features added: user can now export their spirograph to JPG (courtesy of Yonas Sandbaek - http://seltar.wliia.org)
- Cleaned up HTML page for display of tool, including a small gallery of recent spirographs
- Set background colour (grayscale, only editable on start or after reset)
- Set stroke alpha
- Inner and outer radius values now take effect immediately (during drawing, rather than after reset) - previously only the increments were updated dynamically
- "Show Dots" relabeled "Show Guides", and now includes a guide circle that indicates the current size of the inner and outer radii of the drawing circle, as well as its motion path
- Canvas is now much bigger, and in a landscape format (1200 x 700 - this is potentially problematic for small displays. A multi-format option would be helpful in that regard (ie. launch at 800x600, launch at 1200x700, launch at 1900x1200, etc)
- Fixed some minor bugs
* I've put together a quick ControlP5 Widgets tutorial for anyone who's interested, or having trouble with Assignment 4: ControlP5 Demo
Projects
Project 1: Aclockalypse Now!
Display the progress of time in a non-traditional way.
ACLOCKALYPSE NOW! (Rollover predictions on left to see more information on right)
After reading an article outlining fears about the possible havoc the Large Hadron Collider may have wreaked on the universe when it came online a couple of weeks ago, I got thinking about doomsday scenarios and predictions (and how each one of them to this point has been wrong). So, I decided to visualize some of these predictions (past and present) in a playful 'apocalyptic clock.' The design of the clock is intended to loosely mimic the USA's Department of Homeland Security Threat Level graphics, which I find equally as ill-intentioned as perennial predictions of doom from various interest groups (religious cults chief among them). However, as the LHC fears provided the impetus for the project, I've also tried to include some science-based predictions.
http://www.creativecreature.ca/IAT800/Project1/dhs-threat.jpg
http://www.creativecreature.ca/IAT800/Project1/homer_end.jpg
Project 2: Spirographicdesign
Create your own drawing tool, emphasizing algorithmic generation/modification/manipulation.
Experimental Spirograph Drawing Tool
I chose to develop a Spirograph generator. Users can control the variables of the spirograph during generation, including the radii, offset, increments, and stroke weight and colour. Additionally, the drawing can be played and paused, and can be switched between line and dot mode. When in dot mode, a heavier stroke weight makes the dots easier to see. I'd like to add a feature to export the completed image to PNG, but didn't have time to look into that.
Screenshots
http://www.creativecreature.ca/IAT800/Project2/spiro_screenshot.jpg
http://www.creativecreature.ca/IAT800/Project2/spiro_screenshot2.jpg
http://www.creativecreature.ca/IAT800/Project2/spiro_screenshot3.jpg
Final Project: Firing on All Cylinders (Hockey Interview Generator)
In-Progress application available at: http://www.creativecreature.ca/IAT800/FOAC
Build Something Cool!
After watching hundreds of post-game hockey interviews, you can't help but notice some...similarities between them. The formulas don't change too much over the years, and common phrases tend to crop up. Based on this, and on an interest in the impressive commentary engines used in current sports video games (specifically, NHL 09), I am going to design a hockey interview generator that uses real game scores to build post-game interviews.
Each day, NHL scores will be pulled in from an RSS feed of NHL results (available from http://www.totallyscored.com/, as XML or JSON), and a player interview generated for each from a set of stock hockey phrases I've been collecting over the years (see sample below - feel free to add). The questions asked and phrases used for answers would depend on the scores (win/loss, close game/blowout, etc). The UI will allow the user to select which game results/interviews they would like to see (from a drop-down list).
This project will allow me to experiment with web services (feeds) in Processing, which I haven't done before, as well as model a language system within a tightly constrained domain. This aspect loosely ties in with my thesis research into adaptive systems. I'll also be designing a UI that will allow for the display of Team logos, player photos (captains), and interview text. If time allows, I would love to actually record the stock phrases as audio files and use those to put the interviews together. I have some hockey buddies who would be good for this.
Libraries
- ControlP5 UI library to define UI components
- JSON Java library for parsing the score feed (install instructions and discussion in this post)
Development Plan
- Get JSON library up and running and feeds being retrieved
- Retrieve and prepare other assets (logos, phrases, player photos)
- Define language model (what gets used when), testing with static data
- Design interface
- Build and test with live data
- If time, record audio and integrate with system
Current Phrases (feel free to add)
Interviewer Questions (from Scott Oake!)
- coming soon...
Player Responses
POSITIVES
- We're firing on all cylinders.
- We got a couple lucky bounces.
- Each of us made sure to take our man out of the play.
- We kept up the tempo.
- We gotta make sure to D up on our man.
- We cashed in our chances.
- We won the battles in the corners.
- I think we just wanted it more.
- We were really good on the forecheck.
- We had fun out there tonight.
- I think we played as a team.
- We played to our strengths.
- We were able to put some pucks in the net.
- We were able to make things happen.
- We took the play to their end.
- Our guys came through.
- We were able to generate some chances.
- We didn't quit.
- This win means a lot to us.
- We played as a team tonight.
- We've got a lot of faith in ourselves.
- We took care of the little things.
- It felt good to get the win.
- We stayed sharp.
- We pinned them down in the zone and made some plays.
- We feel really good about our game right now.
- I think we said what we needed to on the ice.
- We played tight defensively.
- We felt comfortable out there tonight.
- We were dominant.
NEGATIVES
- There's no excuse.
- We just have to play better.
- The bounces didn't go our way.
- We really just have to make sure to knuckle down in our zone.
- We let them put the pressure on us early and then never caught up.
- We don't want to dwell on this loss.
- They ended up finding the back of the net more than we did.
- We've had some tough games lately.
- We have to hang tough and keep our heads up.
- It's never fun to lose.
- They capitalized on their chances.
- They made plays that we weren't able to.
- They outskated us.
- They took the game to us.
- They did all the things that we were supposed to do.
- They've got talented guys that can move the puck.
- It's disappointing.
- We kind of lost our momentum.
- It was a tough game to play.
- They're a good team.
- We didn't make them work hard enough for their goals.
- It's tough.
- We haven't been starting games the way we want to.
- This is one of those games where the other team locked it down.
- We've gotta find a way to win.
- We have to be ready to play.
- The bottom line is we didn't get it done.
- We feel embarrassed by the way we played tonight.
STRATEGIES
- We've gotta take advantage of our opportunities.
- Keep the pressure on.
- We've gotta give 110%.
- We've gotta win the little battles.
- We have to make sure to battle for the puck.
- We've gotta play physical.
- We've gotta play smart.
- We don't want to get ahead of ourselves.
- We just want to take things one game at a time.
- We gotta make sure we get to the loose pucks.
- We just have to be as prepared as we can be.
- We've gotta get back to the fundamentals of our game.