300x200

Beat Detektor

Beat Detektor was a partner project at SFU where we were challenged to create 'an interesting multimedia program' to demonstrate concepts from the course. My role in this project was primary conceptual design and co-programmer. The application is designed to function as interactive visualizer for user chosen audio files. Using various signal processing techniques the program analyzes the desired audio file and creates a set of data to generate visuals and gameplay elements in synch with audio playback. All code developed in the Processing development environment.

Documentation Play the Game

300x200

Spaceport Slapdash

Spaceport Slapdash was a school team project in game creation built using the Unity engine. My role in the project was lead (essentially sole) programmer, with contributions to gameplay design. Our design focused around randomization and high score focused replayability. As my first foray into the Unity development environment, there is definitely room for improvement, but given the limited time and resources available, I am fairly satisfied with what was able to be accomplished. In particular the randomized labyrinth generation algorithms were a fun challenge to create.

Design Doc Get the Game

300x200

Phylodex

Phylodex was a group project for a Software Engineering class where the challenge was to create an interesting companion / enhancement iOS application for the Phylo Game project. My role in the group was secondary programmer and version management control/QA. As the whole group's first experience working with iOS, it was a fairly successful effort that achieved a significant amount of the goals considering the external constraints and dependencies in development. The project was also a strong experience in team programming and collaboration, version tracking and integration, and general product development cycles.

Documentation Demo Video

300x200

Vivo

VIVO is an Arduino-based interactive tabletop installation which simulates the growth and decay of an ecosystem based on Conway's 'Game of Life'. Through Vivo, users explore how organized structures evolve from instability and how interference can cause that organized structure to become unstable again. Using thirty two light sensors, Vivo tracks a user's gestures and objects placed on the table surface; these actions are catalysts for the virtual ecosystem, adding new 'cells' or ensuring the survival of a community of cells.

My role in the project was that of lead programmer, circuit design, and some concept design. This project was extremely well received when demonstrated and was an interesting experiment in adapting digital concepts into a real world domain.

Video Demo Presentation Document Code Assets

300x200

Letter Stamps

Letter Stamps was a quick turnover group assignment where our team was challenged to create an interesting art piece utilizing computer vision via MAX/MSP. We created a piece where viewers could lift letters that scrolled across the field with an orange platform and stamp them into place.

My role in the project was that of lead programmer with input into design. This project while limited down from its initial scope was one of the most successful in the class considering the limited time available to adjust to the unique environment and challenges Max/MSP and computer vision provided.

Presentation Max Patch

300x200

Other Projects

Other projects I have developed and worked on in the past include the following:

  • Paths - A small game developed solo at the Vancouver Global Game Jam 2014 on the theme of "We do not see things as they are, we see them as we are" with levels that change the type of challenge depending on player actions. The project was the first foray into and a way to familiarize myself with Unity2D
  • Edge Detector - A simple small team Java application developed for a multimedia class that takes in images and creates edge detected cel shaded variants. My role was lead programming on the edge detection algortihms.
  • Collector - A precursor to Paths, this simple flash platformer game was developed over a 2 week period for a Narrative and New Media class with multiple endings depending on player choices and actions
  • Theme River Visualizer - The Theme River Email Visualization was a two person project team task of creating an interesting and insightful visualization of an email dataset. Lead role was in creating the data parser and the visual translation of the data. Secondary coder on the navigation functions and mouseover functions.
  • Activity Hat - Challenged to make a piece of wearable electronics centred on the theme 'wearing nature', our team created a light equipped hat powered by a Lilypad Arduino to output different reactions to the activity state of its wearer.
  • Writing++ - Tasked with the design of a "design-support tool", our group focused on the design domain of creative writing. Studying the design domain in more detail, we defined the problem or bottleneck areas of design activities. Using iterative design, we created multiple prototypes and refined our application to meet these problem areas and create a functional prototype to evaluate our design and solutions.My role was that of Lead Data Structure Programmer, Version Control Management/QA, Co-Designer
  • Maze Router & Map Colours - Created a best path maze solver and a 4-color map solver in Scheme.

© 2014 Ethan Johanson All Rights Reserved.

LinkedIn | Twitter | eMail