Flutter - Fluent-Utter

  • View
    381

  • Download
    0

  • Category

    Design

Preview:

Citation preview

Flutter#Fluent_Utter

#Twitter_Poetry

#Interactive_Game

BriefFlutter is an interactive game simulation which computationally generates text aka“Flutter: Fluent-Utter” based on the “emotional score” of the player.

The player collect tweets pulled from Twitter having keywords:

I hate to - negative

I love to - positive

I believe in - positive

I fear - negative

The tweets are collected from randomly generated tweet pool containing equal number of tweets of each kind. The player gets 45 seconds to collect the tweets. The tweets collected undergo the computational transformation based on “Markov-Chain” and “Flutter” is generated. Player can generate multiple flutters with the tweets earned.

ProcessThe process involved stages of idea generation, learning various concepts to implement

the idea, actual implementation and then modifications.

Discovery Learning Creation

Idea GenerationVarious Ideas were brainstormed at this stage. Inspirations were drawn from exisitingprojects, conversations happening over twitter and popular events happening around the world.

https://docs.google.com/document/d/1h9yQuUvpQzJIMs2YrRVOfsw28uD7s402dFjCYm-8hPU/edit?usp=sharing

Inspiration for Flutter

Fortune Cookies: The curiosity of the unkown!!

Serendipity of making a connection!!

“Twistori” http://twistori.com/

“DUCK-HUNT” – Happy remembrance!!

Design

Click to begin!

Timer

Score Keeper

Tweet

Individual Score

To be HIT!

Click to generate text

Click again to generate different text

Aesthetic Choices

Aesthetic Choices

• The generated text is devoid of any punctuation marks except “periods” to make the algorithm easy to implement.

• The display of the tweet on the screen on the right might not be the best representation. One way if to fade-in the tweets at the same place where the bird is clicked. Other way is to display all the tweets clicked one-by-one before generating flutter

• The tweet-bird appearing on the screen is randomly generated. So there is equal probability of the occurrence of any tweet

LOVE HATE BELIEVE FEAR

Color coded TWEET birds and the tweets

Computaional Choices

Markov ChainsBased on the feedback received during the critique, I tried to implement the Markov test generator.

The idea behind the text generator is to begin by having the program read in a large body of text, written by a human. The program will record chains of words of a fixed length, and will keep track of which particular word appeared immediately after each chain. This information is then used by a very simple algorithm that generates random text.

The random text generated is what is being called “Flutter”.

Markov chain was chosen since it generates text which is similar-looking to the human generated text.

https://www.cs.umd.edu/class/winter2012/cmsc389C/Projects/P1/P1.html

An extensive use of for loops and conditionals has been made to implement decisions. Switch-case has also been used to simplify the code. User defined functions are used in abundance. Regular expressions has been made use of to remove unwanted elements form the tweets.

Data structures: Arrays, lists have been used generously to store and retrieve tweets and their indexes. Hash maps have been used to implement the Markov text generator.

The twitter library was not exploited to its best but only used for getting tweets with specific keywords from twitter

Insights

Learning on the go!!There were many times where I was stuck on implementation of the idea or caught up in the syntax. In particular, I learned about the implementation of Hashmaps and difference between String, StringLists and String array and that they have different methods associated with it.

There was a learning curve in understanding the draw() and its infinite loop but as pointed by Prof. Magerko in class that it would become more clear with practice, I learnt it the hard way by getting my code crashed several times!!

Recommended