Saturday 27 February 2010

Around the world with data part 3.


The amazing world of GPS(Global positioning system):




Obviously i knew what GPS was but in terms of anything related to what we were doing i wasn't sure. I started thinking about how you could use GPS for all sorts of interesting projects and data visualisations, but first i had a deeper look at GPS itself.


How does GPS work?


Where is it used?
well from the map you could gather that its just used as a part of in flight technology. At one point in time i gather that to be true, however in modern society it is used to navigate roads, or even walk from one point to another using smart phones. 
GPS itself seems to be involving itself in our lives bit by bit, its even possible to know the location of anyone in the world using phone to phone communication, but its something that isn't widely used due to a voyeuristic nature.


However when GPS is used to explore space in can tell an interesting tale. Referring to my previous post, it was easy to see the small routes humans had taken in their own living room, but a viewer could look at it and say " ahh it this point mum went out the room and maybe made a cup of tea for her child". Its like the infamous saying, a picture says a thousand words.
Google maps is by now infamous as well as earth and streetview. It is google streetview that captivates me the most. Obviously it is not live GPS tracking but at some point it would have been, and now that route is available for everyone in the world to see. So if we take union street specifically our groups project area Dance Academy, imagine if we could use streetview to involved some sort of Augmented Reality to send a message to the public about its history. Its an idea which we got excited about but knew pretty much from the offset it was not going to happen. Due to software restrictions, time and overall publicity of the project.
It is clear thoguh that GPS is the most technologically advanced way of exploring space and i became very interested in how GPS is used as space exploration technique and found a very interesting example. I was amazed at the scale of flights that take place daily, and without this visualisation it would be hard to grasp that many planes in the air at once just by numeric data.





However some people take a very different approach to now a day to day technology. Take the example below. A person has noted positions with GPS and created a sort of art on a space that you would not expect. Such a simple yet interesting concept, i think this art can be taken alot further!




Around the world with data part 2.


Data representation:


Data of any form can be visualised in so many different ways. A lot of the time it is made into simple graphs so that the level of understanding is easy. However it doesn't take a genius to realise that these graphs and standard methods can be boring and aesthetically crap! So i decided to see what i could find on the internet.

WOW! now that's what i want to see, info graphics that represent data in a stylish way. The top most map represents connections between different subjects and i like how its easy to see where the dense areas of information are. The colour coding is obviously the key to this map.


The second one is key to this module as it is clearly exploring space. I don't know how exactly it was mapped, it could have simple been the creator noting down the positions of his subjects or even better some sort of gps. The title of the graphic says "Maps that tell tales" which is very true of this map. Using something as simple as GPS tracking could tell a story in itself, something of which i will explore in my next post.However its an amazing way to explore such a small space, and i plan to use this style of visualisation in future projects!



The last map is also very cool, although not as explanatory. Yet this is what makes for an interesting visualisation. It is all about the interpretation of this graph and that's what i like. Do we as humans need to have words displayed to us to understand something's meaning? I think not. In the contemporary Digital art world it think its clear that many individuals and artists alike are trying to create meaning within pictures that are open to interpretation, something that has been in the arts for millennia.
 Our group is exploring stonehouse with collected data. Data that could be used in a graph such visualisation such as these. We did consider taking these and creating something similar to project onto
Dance academy but, the question was how would we make it live? and being as the data wont have changed since we collected it, it wouldn't make for an interesting animation. Back to the drawing board with the projection part of our project i guess.


                                                                                      

Around the world with data.


Over the past few lectures we've been learning a deeper understanding of how data is and can be represented in a physical form. Specifically focussing on technology data such as Wi-fi. So i thought i would do a nice big post on what i found to be interesting.

Augmented reality(AR): "Its not there but its there"
Augmented reality is a technology of which we are going to see alot mroe of in the coming years. It is blurring the line between whats real and what is computer generated. Video games in particualr are set to fimrly adopt this technology as we expect more immersive gaming.
However AR is here now in a primitive version on most smart phone's in the form of applications.
Its used for location specific data to tell the user where they are via a camera feed but not only that let them know where say the nearest restaurant is and how many miles.
In relation to our own project it would be so good if we could have the news that has surrounded the Dance Academy over the years visible when filmed on a  smart phone, but yet our idea is going to have to avoid this.


When i first saw this video, i thought that AR was a relatively new way of thinking and exploring space.


Obviously the WTC is no longer there, but using compass and GPS technology it creates a filed of vision to how the trace centre would look in perspective to where the user of the phone is standing. This example is quite eerie but does justify how the technology can be used.

Upon deeper exploration i found that AR is in fact used in sports coverage all the time. It is used for object tracking such as a football moving. With that in mind i quickly realised that this technology was being used all the time and in fact the term was coined as early as 1990.

It would be amazing to use something like this in our project, however the time and skills  needed for it, are ones we just don't have. However as i progress through my years at university i hope to use it in future projects as i had many of ideas that included AR for this first project of exploring stonehouse.


The following video was very interesting. Simply it is two men playing squash but with computer generated content on top of the actual reality , Augmented reality.
After viewing this video i think the direction this technology is heading is advertising. E.G. when people are using a more advanced version of Googles street view service they will see posters for products on street corners or on buildings that aren't really there. Its a good idea, as businesses can start to capitalise the vast amount of people using navigation technology.

Busy-signal 2.0


Now that I've been a student of IDAT for almost a year, I can see how my website needs a considerable upgrade in both aesthetics and technology.

I've almost finished a brand new design for my website, which I think will do justice for my creativity, although coding it is proving a bit tough :\. However it incorporates my online presence in one sleek easy to navigate site.

My old site included:

  • XHTML

  • CSS

  • Javascript
My new site will add to this simple coding elements by using:

  • Facebook and twitter API code

  • Php tests

  • jQuery

Using these new elements my site will show my latest Tweet's, Blog posts, and a transitional image slideshow will will show my portfolio using jQuery.

Tuesday 23 February 2010

Hertzian space, does it hurt?


What is it?






Hertzian space is a subject which exists in the realm of society but yet is invisible to our own eye's.
To be more specific it is the collection of waves and frequency's, e.g. Bluetooth, radio and Wi-Fi that surround our very existence. Millions upon millions of packets of data being sent from building to building, city to city through our own bodies and its something we rely upon.


The safety of such things such as bluetooth can be questionable, but many remain care free. However technologies with huge data ranges that are capable of passing through buildings and the human body does have its doubters.


With that said it is a very interesting subject and can be visually represented for anyone to see.




How can we see it?




Using our own project site (Union street) as a starting point we ventured along this road using a phone with such Wi - fi software as Kismet to create a data map that showed signal strength and weakness. The map below also shows the security type of the Network. From the map it was easy to see the data that makes up Hertzian space. Note that this is only one device (Wi-fi) If mediums such as bluetooth and radio were included in this map I am sure that the map would be full of colours.


Key:
- Red circle = Weaker signal
- Green circle = Stronger signal
- Padlock = secure network







Monday 1 February 2010

Stage 3: Conclusion.

Making my game has been a challenge, ive realised that flash can be a very complex programme. However along the way i have learnt so much including how to use packages public and private, how to dvelop a more organised game by using separate action-script files and how to use an external data source.



Where could i improve?



  1.  An introduction screen with a play button would have been good but with the use of packages and a singular frame it became confusing as to how to code it.
  2. A retry button on game over, but the same reason as above i failed to include it.
Overall though i am very impressed with how my game has turned out. It met the criteria set out for the task and i met my design brief. After now having spent a serious amount of time on flash i think id like to devlop my understanding further for future projects.


Thanks to:
Chris saunders
http://www.good-tutorials.com/tutorials/flash
http://www.pixel2life.com




Stage 2: Meeting the design brief.

So now it was time to code the dam thing stage by stage.

The setup:

I decided to find out what packages were and how to use them.  When using them i found my code to be cleaner and more simplified as each of my .AS files started with the same code. quoted from Adobe's website packages simply "Allow you to bundle class definitions together in a way that facilitates code sharing and minimizes naming conflicts."
package
{
    import flash.display.MovieClip;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    import flash.ui.Mouse;
    import flash.media.Sound;
    import flash.media.SoundChannel;


    The imports are to tell flash certain facilities. E.g i have a sound effect playing upon HitObject, simple enough to code but with packages you have to tell flash that you want sound to be imported otherwise it will not work.

   
   
   
    public class Asteroid extends MovieClip
    {
        public var army:Array;
        public var enemy:Enemy;
        public var ship:Ship;
        public var gameTimer:Timer;
        public var snd:Sound = new Die();
        public var my_date:Date = new Date();




Here are my variables they don't differ from declaring variables without packages apart from the word public.
Packages can have declared variables in either a "private" or a "public" function. I used public functions because i want my variables to be accessed from anywhere inside my game, using a private function would only make to available to the class i am using it in.



Asteroid game in which the user controls a spaceship to a.) avoid the asteroids or b.) shoot them.

 I decided on choice A. as i felt it would be easier to code. To make random enemies appear on the stage required a timer function. In writing every certain milliseconds create an instance of Enemy on the stage. These of which the player would have to navigate around to avoid game over.


public function onTick( timerEvent:TimerEvent ):void
        {
            if ( Math.random() < 0.1 )
            {
                var randomX:Number = Math.random() * 400;
                var newEnemy:Enemy = new Enemy( randomX, -15 );
                army.push( newEnemy );
                addChild( newEnemy );
                GameScore.addToValue(1);
            }
            ship.x = mouseX;
            ship.y = mouseY;
           
            for each ( var enemy:Enemy in army )
            {
                enemy.moveDownABit();
                if ( ship.hitTestObject( enemy ) ) 




The math.random crates an enemy at a random point on the stage, but what does the army bit do? Army is obviously not an inbuilt flash function but it is however an array. So instead of having code for each asteroid i wish to appear, i put the value for the instance of the asteroid inside an array like so...



public var army:Array;





Have a 2d top down view of the game.

This was simple and required the design to create this field of view. The way in which my game has been designed makes it look as if the ship is moving through an asteroid field. At this point i also decided weather to use mouse control or keyboard control. I tried both methods out with code for each ans decided that the mouse movement made for a more addictive fast past style game play, exactly what i hoped to achieve.


ship = new Ship();
            addChild( ship );
            ship.x = mouseX;
            ship.y = mouseY;



Create a scoring system or timer based on the users progress.

I found this to be quite difficult, so to make thing easier for myself and if i messed the code up i could see easily where it had gone wrong i created new action-script files (.as) for my scoring system and counter. I also then decided to do this for the players ship and the Asteroids(Enemy's) . The irony was that i had now made my game fail to run, because it was looking for code that wasn't there. I used the internet to search for a solution and worked my way through following what seemed to be the general layout for a flash project which was indeed to create a flash project folder, Have one main .FLA file and the code all on separate in .AS files under a "classes" folder.

For the scoring system itself dynamic text was required so that the code could as default set its value to 0 and for every second the player survives add 1 to the score.

public function addToValue( amountToAdd:Number ):void
        {
            currentValue = currentValue + amountToAdd;
            updateDisplay();

        }

        public function reset():void
        {
            currentValue= 0;
            updateDisplay();

        }


External influence:


This was the hardest part. Till now i hadnt gave much thoguht about what data i wanted to include or even what i wanted to change.  Eventually i decided that i could change the speed in which the asteroids fell depending on the time of day on the users computer.
trace(my_date.hours);
            if(my_date.hours<7||my_date.hours>21) {
gameTimer = new Timer(15 );
} else {
gameTimer = new Timer( 8  );
}
            Simple. Ok not very original but at least i had got it to work!


 Errors:

Through development i didn't encounter too many errors, i think this was largely due to the use of packages, i didn't get name conflicts. However the speed and amount of enemies that were falling created chaos when coded individually this led me to putting the code into an array.



I also wondered why my sound effect wasn't working until i realised that flash is stupid and i was being stupid because i hadn't included the "import" function at the top of my .as file.



Lastly:
I realised that the mouse was appearing over the movieclip of the players ship so i simply needed to hide the mouse cursor during gameplay like so..
import flash.ui.Mouse;
            Mouse.hide();

I thought it was also a good idea to have it show again upon the game over message showing.

Mouse.show();












Stage 1: Designing the game

Design of the game was fairly simple as i had created a similar brief for it.


  1. Space orientated background to set the scene.

  2. A triangular based ship in tribute to the original 8-Bit Asteroid game.

  3. Asteroids that looked like well.... Asteroids.
  4. A colour scheme that worked.
No.1 was simple to achieve, i simply found a bitmap image that i thought worked well with my project and set its dimensions to that of my stage(400 x 300).



No.2 The ship was simple to create using basic shapes preloaded into flash. Ok so its not the best looking ship but hey im no artist.



No.3






No.4 I chose reds and blues for my color scheme as i think they work quite well together.






The world of Flash!

Flash gaming has become a huge market for casual gamers. With sites dedicated for the use, development and enjoyment of flash based material. Sites such as www.newgrounds.com offer a huge range of user designed content.

So with that in mind our task was indeed to design some flash based media content in the form of a game.

I myself do play flash games, so i know what i like and what i don't. My favourite area is retro game conversions, such as asteroids, pong, frogger etc. So this would be the basis for my choice.
I decided to choose a space based genre (Asteroids).



So now with a choice firmly settled on i had to have a quick design brief.

  1.  Asteroid game in which the user controls a spaceship to a.) avoid the asteroids or b.) shoot them.

  2. Have a 2d top down view of the game.

  3. Create a scoring system or timer based on the users progress.
  4. Have an external influence of some sort.