14.12.07

An Experiment in Particles

A simple experiment into a particle explosion that I thought would be interesting to create in search for ideas surrounding the project.

View my cursor explosion here.

View my firework explosion here.

Code:

Moon Orbit

This project is in continuation of a tutorial of Flash AS 2.0 using some AS 3.0 practices given to us by Anna.

Essentially the tutorial was to create a moon orbiting the Earth within Flash.

I thought it would be interesting to extend this to being able to play with the settings that determine the orbit trajectory while the file is playing. I allowed the user to change the numbers that govern the trajectory, speed with the inclusion of the Earths own orbit.

Please view here.

This was a fun excursion into some techniques I hadn't before tried. For example the inclusion of the components that Flash offers as default in order to control the settings of the orbits.

Code:

angle = 0;
centerX = stage.width/2;
centerY = stage.height/2;
centerpos = {_x:300, _y:250};
i = 1;
earthSpeed = earthSpeed_com.value;
moonSpeed = moonSpeed_com.value;
earthXRadius = earthXRadius_com.value;
earthYRadius = earthYRadius_com.value;
moonXRadius = moonXRadius_com.value;
moonYRadius = moonYRadius_com.value;
var earthSpeed_com:mx.controls.NumericStepper;
var moonSpeed_com:mx.controls.NumericStepper;
var moonXRadius_com:mx.controls.NumericStepper;
var moonYRadius_com:mx.controls.NumericStepper;
var earthXRadius_com:mx.controls.NumericStepper;
var earthYRadius_com:mx.controls.NumericStepper;
var nstepListener:Object = new Object();
nstepListener.change = function(evt_obj:Object) {
trace("Value changed to "+evt_obj.target.value);
earthXRadius = earthXRadius_com.value;
earthYRadius = earthYRadius_com.value;
moonXRadius = moonXRadius_com.value;
moonYRadius = moonYRadius_com.value;
earthSpeed = earthSpeed_com.value;
moonSpeed = moonSpeed_com.value;
};
earthSpeed_com.addEventListener("change",nstepListener);
moonSpeed_com.addEventListener("change",nstepListener);
moonXRadius_com.addEventListener("change",nstepListener);
moonYRadius_com.addEventListener("change",nstepListener);
earthXRadius_com.addEventListener("change",nstepListener);
earthYRadius_com.addEventListener("change",nstepListener);
var moon_mc:MovieClip = _root.attachMovie("moon_mc", "moon_mc", i, centerpos);
i++;
var earth_mc:MovieClip = _root.attachMovie("earth_mc", "earth_mc", i, centerpos);
earth_mc.onEnterFrame = function():Void {
this._x = 300+Math.cos(angle)*earthXRadius;
this._y = 200+Math.sin(angle)*earthYRadius;
angle += earthSpeed;
earthpos = {_x:this._x, _y:this._y};
i++;
var trail_mc:MovieClip = _root.attachMovie("earth_mc", "earth_mc", i, earthpos);
trail_mc.onEnterFrame = function() {
this._alpha -= 1;
this._xscale -= 2;
this._yscale -= 2;
if (this._xscale<=0) {
this.removeMovieClip();
}
};
};
moon_mc.onEnterFrame = function():Void {
this._x = earth_mc._x+Math.cos(angle)*moonXRadius;
this._y = earth_mc._y+Math.sin(angle)*moonYRadius;
angle += moonSpeed;
moonpos = {_x:this._x, _y:this._y};
i++;
var trail_mc:MovieClip = _root.attachMovie("moon_mc", "trail_mc", i, moonpos);
trail_mc.onEnterFrame = function() {
this._alpha -= 0.75;
this._xscale -= 2;
this._yscale -= 2;
if (this._xscale<=0) {
this.removeMovieClip();
}
};
};

The Big Box

The 500x500 banner was always the one I dreaded the most. My first plans for it were lending towards a dress up droll style game. However during the time I spent creating the other two banners I came to realise that I didn't think it was a worthy exploration. So instead I turned my attention towards a mini version of the Marvel digital comics comic viewer. A mini flash application that lets you read a sample comics. Roughly about 5 pages long each page is 100k and loaded as and when the user requests the page. I can't show you how it works here so you'll have to make do with some screen shots. It's unfortunate but I just don't have the web space that is required in order to uploaded the various different files that this banner uses.

sample sample2

This was a good project, even if it didn't entirely succeed, which can be read about in my evaluation (to follow sometime shortly).

The reason I'll label this as a decent attempt is simply that it taught me some incredibly useful techniques that I just hadn't grasped before, in particular setting off functions in a different manner and the use of XML within Flash.

 

Code:

//xml
function loadXML(loaded) {
    if (loaded) {
        xmlNode = this.firstChild;
        image = [];
        description = [];
        total = xmlNode.childNodes.length;
        for (i=0; i<total; i++) {
            image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
            description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
        }
        firstImage();
    } else {
        desc_txt.text = "unable to find file!"
        content = "file not loaded!";
    }
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
//variables
//listeners
listen = new Object();
listen.onKeyDown = function() {
    if (Key.getCode() == Key.LEFT) {
        prevImage();
    } else if (Key.getCode() == Key.RIGHT) {
        nextImage();
    }
};
Key.addListener(listen);
//buttons
reAlign_btn.onRelease = function(){
    reAlign();
}
previous_btn.onRelease = function() {
    prevImage();
};
next_btn.onRelease = function() {
    nextImage();
};
sizeInc_btn.onRelease = function() {
    sizeInc();
};
sizeDec_btn.onRelease = function() {
    sizeDec();
};
panRight_mc.onRelease = function(){
    picture._x += 20;
}
panLeft_mc.onRelease = function(){
    picture._x -= 20;
}
panDown_mc.onRelease = function(){
    picture._y += 20;
}
panUp_mc.onRelease = function(){
    picture._y -= 20;
}
//object functions
p = 0;
this.onEnterFrame = function() {
    filesize = picture.getBytesTotal();
    loaded = picture.getBytesLoaded();
    preloader._visible = true;
    if (loaded != filesize) {
        preloader.preload_bar._xscale = 100*loaded/filesize;
    } else {
        preloader._visible = false;
        if (picture._alpha<100) {
            picture._x = (Stage.width / 2) - (picture._width / 2);
            picture._alpha += 10;
        }
    }
};
//functions
function beginDrag() {
    picture.startDrag(true);
}
function endDrag() {
    picture.stopDrag();
}
function nextImage() {
    if (p<(total-1)) {
        p++;
        if (loaded == filesize) {
            picture._alpha = 0;
            picture.loadMovie(image[p],1);
            desc_txt.text = description[p];
            picture_num();
        }
    }
}
function prevImage() {
    if (p>0) {
        p--;
        picture._alpha = 0;
        picture.loadMovie(image[p],1);
        desc_txt.text = description[p];
        picture_num();
    }
}
function firstImage() {
    if (loaded == filesize) {
        trace('done');
        picture._alpha = 0;
        picture.loadMovie(image[0],1);
        desc_txt.text = description[0];
        picture_num();
    }
}
function picture_num() {
    current_pos = p+1;
    pos_txt.text = current_pos+" / "+total;
}
function sizeDec() {
    picture._xscale -= 15;
    picture._yscale -= 15;
}
function sizeInc() {
    picture._xscale += 15;
    picture._yscale += 15;
}
function reAlign() {
    picture._xscale = 100;
    picture._yscale = 100;
    picture._x = (Stage.width / 2) - (picture._width / 2);
}

The Final Landscape Banner Design

After the excessive amount of time wasted on making lightning (as far as the progress of this project goes) I finally came up with this small and efficient little banner. It does the job, which is all I think in the end it needs to do. I'm glad I looked into the lightning since I feel it pushed my knowledge of Action Script forward but in the end I'm more pleased with this than any other attempt.

Please view it here.

Lightning

This is going to be the hardest. My intention is to have the lightning striking outwards from the finger tips of the users flash cursor and for the lightning to strike areas of the stage. However, in practice I've come to realise this to be far too hard.

The following are some of my attempts, and some of my failures. However, this has been one of the most rewarding experiments I've ever attempted. This is AS that I've never attempted before and the results were actually quite pleasing, if not what I'd attempted for at first.

It has to be said that I spent far too much time on this aspect of the project getting far too involved with code that I knew from the offset would ultimately be too far from reach.

The actual design I went with for this landscape banner is entirely different, simpler and after much deliberation, preferable.

The following are links to the hosted SWF files. At the very end of the post will be listed the code I used to get this effect.

Working lines.

Creating a moving lines.

The final attempt with some effects thrown in for good measure.

//////////////////////////////////////////

//Sorry for the formatting, Flash won't format my code properly.

//the simple code

i = 0;
fscommand("allowscale", "false");
onEnterFrame = function () {;
var line_mc = attachMovie("line_mc", "line_mc", i);
i++;
xpos1 = _root.circle1_mc._x;
ypos1 = _root.circle1_mc._y;
xpos2 = _root.circle2_mc._x;
ypos2 = _root.circle2_mc._y;
xscale = xpos2 - xpos1;
yscale = ypos2 - ypos1;
line_mc._x = xpos1;
line_mc._y = ypos1;
line_mc._xscale = xscale;
line_mc._yscale = yscale;
};

//the more complicated code

i = 0;
xPlace = 90;
yPlace = random(160);
bolt = function () {;
p -= 5;
p = 50;
glowXScale = 200;
glowYScale = 200;
for (i = 1; i < 70; i++) { ;
circle1_mc.removeMovieClip();circle2_mc.removeMovieClip();//line_mc.removeMovieClip();
circle1Place = {_x: xPlace, _y: yPlace};
var circle1_mc = attachMovie("circle_mc", "circle1_mc", i, circle1Place);i++;
var glow_mc = attachMovie("glow_mc", "glow_mc", i, circle1Place);i++;
circle1X = circle1_mc._x;
glow_mc._xscale = glowXScale;
glow_mc._yscale = glowYScale;
glowXScale -= 15;
glowYScale -= 15;
newPos = {_x: xPlace+p, _y: random(40)+10};
var circle2_mc = attachMovie("circleblue_mc", "circle2_mc", i, newPos);i++;
xPlace = circle2_mc._x;
yPlace = circle2_mc._y;
var line_mc = attachMovie("line_mc", "line_mc", i);i++;
xpos1 = _root.circle1_mc._x;
ypos1 = _root.circle1_mc._y;
xpos2 = _root.circle2_mc._x;
ypos2 = _root.circle2_mc._y;
xscale = xpos2 - xpos1;
yscale = ypos2 - ypos1;
line_mc._x = xpos1;
line_mc._y = ypos1;
line_mc._xscale = xscale;
line_mc._yscale = yscale;
//
p -= 5;
xPlace = 1;
yPlace = random(50)+25;
p = 50;
glowXScale = 200;
glowYScale = 200;
};
for (i = 1; i < 50; i++) { ;
circle1_mc.removeMovieClip();circle2_mc.removeMovieClip();//line_mc.removeMovieClip();
circle1Place = {_x: xPlace, _y: yPlace};
var circle1_mc = attachMovie("circle_mc", "circle1_mc", i, circle1Place);i++;
var glow_mc = attachMovie("glow_mc", "glow_mc", i, circle1Place);i++;
circle1X = circle1_mc._x;
glow_mc._xscale = glowXScale;
glow_mc._yscale = glowYScale;
glowXScale -= 15;
glowYScale -= 15;
newPos = {_x: xPlace+p, _y: random(40)+10};
var circle2_mc = attachMovie("circleblue_mc", "circle2_mc", i, newPos);i++;
xPlace = circle2_mc._x;
yPlace = circle2_mc._y;
var line_mc = attachMovie("line_mc", "line_mc", i);i++;
xpos1 = _root.circle1_mc._x;
ypos1 = _root.circle1_mc._y;
xpos2 = _root.circle2_mc._x;
ypos2 = _root.circle2_mc._y;
xscale = xpos2 - xpos1;
yscale = ypos2 - ypos1;
line_mc._x = xpos1;
line_mc._y = ypos1;
line_mc._xscale = xscale;
line_mc._yscale = yscale;
};
};
setInterval(bolt, 500);

Jumping to the End

Due to lack of documentation on the between effort this is the end design. Sorry for the leap. I find it very easy to get caught up in the creation of a thing and forget to actually record the progress I make.

finalHotHands

The SWF can be viewed here

Hot Fingers

The flame is initially going to be burning from the tip of the hand in this banner and so I needed a finger from which to burn. The following are just my experiments towards this end.

fingerIt

This is the finger I went with. The flame will emanate from the top of it. An idea posed in class suggested that I should also turn the hardware mouse into the button press finger icon but after many attempt and searches I couldn't work out how to do this and instead went with the simple pointer.

myHand DSCF0763 DSCF0764 DSCF0760 DSCF0761 DSCF0762

Burning Ring of Fire

Creating the flame that the hand holds. Just some basic attempts to get it looking the way I want.

flame_1 First attempt, far too chunky

flame_2 Second attempt, too skinny.

flameFinal Third attempt, just right!

I wanted to get the flame to touch the logo on the screen and set fire to the logo text but after hours and hours of trying and failing I decided to just encase the code that causes the burning in quotes and leave it be. As can be seen below.

As far as I can tell the code that does cause the burning 'should' work, but instead of catching fire to the text it just seems to warp the original fire and cause excessive amounts of lag due to (I'm assuming) a bad loop somewhere down the line.

onEnterFrame = function () {
if(firstRun == "go"){
fadeInText_mc._alpha += 4;
hand_mc._y += 4;
arrow_mc._alpha -= 6;
}
var flame_mc = attachMovie("flame_mc", "flame_mc", i, decalpos);
i++;
var spark_mc = attachMovie("spark_mc", "spark_mc", i, decalpos);
i++;
flame_mc.speed = (Math.random()*(5-2)+2);
flame_mc.scaleDown = (Math.random()*(6-4)+4);
flame_mc.startScale = (Math.random()*(500-400)+400);
flame_mc._x = _root.xmousepos+(Math.random()*(3))-(Math.random()*(3));
flame_mc._rotation = random(360);
flame_mc._xscale = this.startScale;
flame_mc._yscale = this.startScale;
flame_mc._alpha = this.startScale;
spark_mc._alpha = (Math.random()*(90-20)+20);
spark_mc._x = _root.xmousepos+(Math.random()*(10))-(Math.random()*(10));
spark_mc._y = _root.ymousepos - 9;
spark_mc.speed = (Math.random()*(5-2)+2);
spark_mc._rotation = random(360);
spark_mc.scaleDown = (Math.random()*(3-2)+2);
spark_mc.onEnterFrame = function() {
this._alpha -= this.scaleDown;
this._y -= this.speed;
this._xscale -= this.scaleDown;
this._yscale -= this.scaleDown;
if (this._xscale<=1) {
this.removeMovieClip();
}
}
flame_mc.onEnterFrame = function() {
this._alpha -= flame_mc.scaleDown;
this._y -= this.speed;
this._xscale -= this.scaleDown;
this._yscale -= this.scaleDown;
/*if (this.hitTest(_root.marvelLogo_mc).hitTest(_x, _y, true)) {
this.removeMovieClip();
thisPosX = this._x;
thisPosY = this._y;
trace("hit "+p);
p++;
burnpos = {_x:thisPosX, _y:thisPosY};
var burn_mc = attachMovie("flame_mc", "flame_mc", i, burnpos);
i++;
burn_mc.speed = (Math.random()*(3-1)+1);
burn_mc.scaleDown = (Math.random()*(7-5)+5);
burn_mc.startScale = (Math.random()*(50-20)+20);
burn_mc._alpha = startScale;
burn_mc._xscale = startScale;
burn_mc._yscale = startScale;
burn_mc.onEnterFrame = function() {
this._y -= this.speed;
this._xscale -= this.scaleDown;
this._yscale -= this.scaleDown;
this._alpha -= this.scaleDown;
};
}*/
if (this._xscale<=1) {
this.removeMovieClip();
}
};
};

Initial Banner Creation Attempts

The first banner I intend to create is the flaming hand skyscraper banner.

The following is my collection of images taken from Marvel sources that I felt could be used as inspiration or assets when creating this comic. Since the aim is based around fire it seems I'll be focusing quite a bit on the Human Torch from the Fantastic 4.

Human_Torch_2_by_ErikVonLehmann1151256069humantorch_1

humanTorch torch2 ff 258 drDoom2 442px-Ultimate_human_torch

Body By Milk

bodybymilk

bodybymilk.com

What an advert for simply milk. This is a large advert that could be quite misunderstood to be a fully fledge website. This website is aimed at kids and teens and attempts to encourage them to drink milk with some good old fashioned and blatant whoring out of teen idols with milky mustaches. I can't say I like this website what so ever, while thumbing through it you just get the overwhelming sense of sly intent. The advert has all the hall marks of a McDonalds advert with it's 'funky' and 'cool' layout and cheesy music. This advert has nothing to offer on a content front other than it's impressive construction. However impressive it is the overpowering smell of corporate misunderstanding of youth interest put me off actually venturing too deep inside and even though I did to more extent than I would have usually for the sake of research I found little to keep me there.

When it comes to these large and very interactive adverts it almost always pays to just be simple and direct in my opinion. Very often as soon as anyone realises that it's no more than a cruel attempt at peddling an idea at you using bright colours and flashy images you'll immediately try and look for faults unless the subject matter is already a subject of interest to you. In this case, being it milk, I don't think many will stick around just to listen to the lyrics of one of the worst bands I've come across.

Humanitarian Aid

humanitarianAid

Demonstration of this advert can be found here.

This is a very impressive advert. As you can see from the demonstration link above, the plane flies in over the page content and drops aid bags on the website and then in the centre of this the main advert appears. The entire sequence doesn't take long, it looks very pretty and certainly grabs your attention while at the same time offering you little information other than a single line of text and a link to find out more. This appears to be a favourite with the military at the moment, inviting you to find out more and giving you very little to go on in terms of initial information. I have no intention of ever joining the army or even entering conflict but some of these arm recruitment banners have taken me, quite willingly, to the recruitment site just to find out about the rest of the advert.

In particular I think it's worth noting the British Army's current advertisement campaign which presents you with footage from what appears to a real recording. The video will always start off with a simple recruitment appeal of sorts (even if it's just someone explaining the good work they do) but then take the video very suddenly to a crisis which doesn't quite resolve itself before the advert ends. In order to find out what happens you have to follow the link and find the ending, very effective form of advertisement.

Also worth mentioning is the U.S. Military and their recruitment through free online games. It's this form of advertisement that seems to most win over the viewers interest. U.S. official claim the game "America's Army" which was created with the intention of boosting recruitment has increased the recruitment of young adults by up to 17% since it was first released. Statistics indicate that 28% of all persons visiting the America's Army website with the intention to play a first person shooter actually visit the U.S. military recruitment website via simple and small advert banners nestled within the games website.

americasarmy

America's Army

It may even take you a few careful looks to find these adverts, but it just goes to prove a well placed advert no matter how small and unobtrusive can be a powerful tool.

Researching banners

shrekad
Shrek Interactive Advert

This interactive advert uses the highly popular overlapping advert technique that seems to have become incredibly popular all of a sudden. It's a well polished advert that offers interaction, exploration and pleasing visuals. However like with all these adverts it can quickly draw your irritation as well while it overlaps onto web page content that you need to see or use. These adverts are only becoming more of a nuisance the more they become popular and start to obscure more and more of the website. My casing point for the annoyance they cause me really stems from the Pandora website that features such adverts appearing in various locations around the outer edge of the media player and can get stuck enlarged over the buttons that control the player. I would try and link to these adverts but the Pandora site loads random adverts each time your visit the website so finding an example would be down to shear luck.

Despite my hatred of the advert I do find they work, they always attract your attention. Even if my attention is mostly livid disgust.

Initial sketches

Sorry about the poor quality and visibility but they were only pencil sketches.

 

These sketches were all to be based on the idea of discovering your own power through the use of the digital comics website. It would imply that by using the website you could effectively have at your finger tips your own digital super power. Or at least as far as the super power of reading high quality and unlimited comics online goes.

 

First sketch: the landscape banner.
Initial plans are for a hand that's controlled by the user and on press will emit lightning bolts form the fingers to singe, burn and strike the MARVEL logo text.

Untitled-5

 

Second sketch: the skyscraper banner.
It was my intention to make another hand controlled by the user, only this time it would emit flame and this would catch the MARVEL logo text on fire.

Untitled-1

 

Final sketch: the 500x500 popup window.
Here I plan to create a fairly simple dress up doll but in the style of a super hero. Using images taken from the digital comics website to create a digital dress up doll in super hero fashion. A sort of pick and mix make your own super character.

Untitled-3

 

These three different ideas would all have included slogans to match the discovery of your powers theme that I was trying to create.

In theory the hardest idea I have here to create will be the lightning power landscape banner. This will require me to explore and research deeply how to create dynamic lightning effects as this is something that I've never attempted before.

12.12.07

Military-Industrial-Entertainment Complex

While researching hyper reality I came across a woman who started a group called “Velvet Strike”. The idea behind Velvet Strike is to create awareness at the level of violence inherent in today's entertainment industry while at the same time denouncing war. This is achieved (or at least attempted) via the game Counter Strike, a Half Life modification that boasts a more military realistic form of game combat. This game features Counter Terrorist and Terrorist groups fighting against each other in small scale multiplayer action. Members, followers and fans of Velvet Strike will infiltrate Counter Strike matches and spray anti war propaganda onto the walls of the game environment. Other forms of protest include entering a game and refusing to fight. While following various links and articles relating to this movement I found that while most researchers weren't necessarily against video game violence they did acknowledge a dire need for the game consuming public to realise just what it is they are doing when playing these games. More than this there seems to be a growing need to confront the ever increasing military recruitment application on the entertainment industry. Reading on through various blogs, articles and papers on the subject it has come to my attention that not only do the military fully endorse the violent games industry but they also directly fund the creation of games titles with the intention to create interest and thus recruit players to the (in particular U.S.) military. This might not seem too disturbing at the heart of it, but until forms of 'entertainment' such as games reach a stage where the full horror of war can actually be portrayed to the player this form of recruitment is without a shadow of a doubt false advertisement and forcing of government doctrine on an impressionable youth through their misguided innocence. The prime example of this form of military recruitment is through the game “America's Army”. This first person shooter takes you as a player to the U.S. Military boot camp to get you ready for combat in a fictional country called Tazikhstan, situated between Afghanistan, Pakistan and China. In order to play this game you must register and visit frequently the official game site which is riddled with links to U.S. Military recruitment sites. You must be 17 to be officially recruited to the U.S. Military but this game is directly marketed at the 12 – 16 year old. The military has now a massive string of game projects both released and in development to increase the pressure put on those who would play these games. It seems strange to me that we wouldn't consciously let our children bare direct witness to physical forms of violence but the government find no issue with the imprinting of this culture of hatred and violence into the younger generations.

Art Steiber Photography


Ok so the subject matter isn't very interesting but as far as the web design of it goes I find this website quite something to look at. It's not overly flashy, it's not overly smart, but it is created in such a way that it loads superbly fast (something that I think we're taking the wrong route down at the moment with websites that takes minutes and not seconds to load). It really is just a platform to display images, being that it is a photography website that's no bad thing, and is does this with a very simple to use slide show style interface. I've always been keen to make Flash websites with independently loading elements with the intention of keeping overall load times to a minimum before the user can enter the site whether or not the site continues to load content while the user explores. Anyway, this website is a prime example of how we can incorporate rich Flash content without sacrificing too much time waiting to get to the website while it loads the large MP3 music file and downloads all the flashy images.

http://www.artstreiber.com/

Zoom Quilt


OK we've all seen this before, and many similar too it, but I think it's worth another look. Zoom Quilt is for me just a collection of interesting art displayed in a new form. This was the first I saw of this type of image display, I'm sure it won't be the last.

Musicovery


This project is very similar to last.fm and pandora.com but instead of finding music you like through genre's and artist's relating to other artist's and genre's and people with similar interests you select the sort of mood your in and the Musicovery finds music that fits these parameters.

I doubt this project will ever take off but it's been nicely created and to some extent I find it quite enjoyable, although I think perhaps more based on an interest in the program than finding the music it selects for me that enjoyable. Anyway, it's quite and easy to use Flash stuff that's worth a brief look.

http://musicovery.com

10.12.07

Face Distortion


This is probably one of the best illusions ever! Please do the following: look at the above images from your seat in front of the computer; Mr. Angry is on the left, and Ms. Calm is on the right. Now, get up from your seat, and move back 10 or 12 feet. Who’s the angry and calm now?

9.12.07

Man in the Dark


This little thing has been created in Flash and is quite simply a modification of that follow the mouse snake script that we've seen here and there for a long time now. I understand how they've managed the get the character to follow the mouse the way he does, I don't understand the 3D aspect of the model. This is something that appears a lot at the moment and is something that I don't think I'll ever quite grasp in terms of how to re-create.

Man in the Dark

5.12.07

My Name Was God


What a lovely website. I really like the idea of playing with Flash to get a website that looks and works like a regular HTML website only much cleaner and more fluid. I don't think this website has done anything ground breaking with it's design here but really the thing that sets it apart from the rest for me is it's use a scroll bar within Flash. Scroll bars in Flash have always been a bit of a muse for me, never quite able to work them out and certainly never managing to harness their potential to the full, but trying none the less.

A lot of web designers seem to find audio on website's just a bit of an irritation but on this website they've managed to get a really nice sound track that properly compliments the website instead of dominating it. Minimalistic audio over simplistic design, that's the way forward.

http://www.mynamewasgod.com/

1.12.07

Friends of White

This is an interesting website built to promote Orbit Whitening chewing gum. It's an exceptionally well made website that let's itself down a bit with long loading times. It's a very dreamlike experience with this strange all dressed in white perfect cast of actors talking you through the aspects of the website. The seamless animation and clean graphics make it although very uninformative a really notable website. This is something that's taken not only money, but a very professional design team to create.

I love that there's these strange animations going on around the stage, things that offer nothing informative but help to build a very ambient set. These animations are loaded after everything else has loaded, or as best I can tell, which is helpful as the quality of the imagery used, the audio used and the video used is very high so the load times for every new section of the page is large. If these were included and not streamed in after it just wouldn't be worth sticking with.

There's not lot's to do on this website but what there is to do is both scary and very high quality design. This is a prime example. Clicking on the "Join the Sing-a-long" takes you too a camp with our clean white friends singing the Orbit White song.

Takes a while to load mind. The audio can even be downloaded after for use as a ring tone on your mobile. Not sure if it's the sort of thing anyone would download, but by the fact it's there it kind of adds to the odd theme of the website and it's content.

The song even has a sing along karaoke!


Interesting little game

http://www.gamedesign.jp/flash/dice/dice.html

An interesting little game involving the rolling of dice. It's a sort of dice Risk'esk game. Worth havign a go!

19 years

This 19 year old from the Netherlands has created himself a demo reel, this is truely exceptional and really humbles me to see this considering his age.

http://www.vimeo.com/401206/

Open Source Windows

OK this is simply a website listing decent open source projects for Windows OS. Many free open source applications to replace the ever more expensive professional software out today. I won't go into detail, just have a quick look yourself.

http://www.opensourcewindows.org/

29.11.07

Fray


CSS is a lovely thing, and lovely things are done with it. This website is a prime example of a good looking quick loading website with interesting design and styling, however, I really hate websites that take you to an entirely re-designed page every time you click a link. This website seems to need to reload itself with entire new layout each link which means the page goes blank while it gets the new content. This site is nice and it's simple but I just find it too annoying to navigate. I'd much prefer the click a link to get the new content loaded into the old layout without having to find all new positions for things. I think it's disorientating and slow for a website that is primarily dealing with quite simply text and images of this sort. Anyway, see what you think.

http://www.fray.com/

22.11.07

This is what we like!


This website allows you to send files from computer to computer via the website without the need to install software. You send the file to the website while another computer downloads the file from the website, this allows people to stream video and music to each. Interesting little project that would be very useful but for me as of yet I've not had any cause to use it. Let me know if you do end up using it much.

http://www.pipebytes.com/

12.11.07

MAKE

This is my brothers textile design company that he set up some time back in order to peddle his T-Shirts to various passers by. This website is however a fine example the sort of the website I like. It's in noway overly complicated, it uses neat popup windows that for some reason are never blocked by my popup blocker and it's easy to navigate. Just thought I'd big up the family Osborne really, take a gander. I have a couple T-Shirts from him, really nice designs in my opinion. I especially like his depiction of prince Harry and William with their cocks out.

http://make-land.com/


Tomato

I'm not sure how this website has been created but I really like the idea of playing with new ways of approaching site exploration. I couldn't work out what was going on at first with this website but when your cursor moves away from the navigation bar the buttons start to disappear until you once again move your cursor back. Is this some sort of PHP script? I'd be interested to know if anyone has any ideas.

Worth checking out though - Tomato

Although I like this website it's certainly not the easiest to access and wouldn't be a website to inviting to the unsuspecting or novice user. Maybe something to be kept (as it is) to the more advanced domain.

Rationale - Pick and Choose iD

I have decided upon the Marvel web comics advert banners for my project. Initially I'd like, instead of exploring flashy imagery and funky animations, to explore clever action script and new approaches in delivering tasters of the comics through the advert banners. Being restricted to 100k file sizes to keep load times to a minimum I thought I'd use a sort of "fetch more data on user request" system to enable viewers to spot the banner containing a taster comic cell and then allow them to interact with the advert to get the banner to fetch another cell to be viewed. In theory the user could view the entire comic (should I let them) through this banner, but of course it would be much easier if they just clicked the "take me to the full comic" button and the Marvel web comic website loaded instead. This would enable me to more or less dodge the 100k file size restriction due to the fact that the user is requesting the increased data and the load time of the banner and thus the entire page would still be kept to a minimum. Of course this may not be possible in full throughout the different banner types, but it is certainly something I'll experiment with when attempting the pop-up ad. All in all I'd like to portray to the viewer that the web comic experience is easily accessible, interactive and above all it's just as entertaining as reading a physical comic.

12.10.07

Usful CSS templates


This website just lists some very basic CSS templates to download and use. As a resource for quick CSS templates to work from this is genious!

http://www.mycelly.com/

And this useful link is a breakdown of clean CSS code. Again, good stuff.

27.3.07

Audio And Visual Techniques: Video Montage Evaluation

Video editing has never been a strong feature of mine despite my interest in the subject, so the opportunity to work on a project such as this was a welcome thing. The assignment offered a casual look at the video editing software “Final Cut” with a manageable final outcome at the end. Video editing for me previously has been almost entirely orientated around the software “Adobe Premier”. Despite Premier being a very powerful editing kit I found it also to be fairly cumbersome and a hassle to navigate the work space, with things shuffled about from the familiarity of other Adobe products. Final Cut I found just as difficult to navigate at first but learnt where things were much quicker. Once I had my head around the layout of the interface and roughly how things were organized I found it to be a much more convenient and of more intuitive a design than that of Premier.
Moving image since the dawn of television has been a beacon of light shining the way for technology. We ride the achievement of the television over that of the space programme and it has become ever more prevalent in society as time goes on, I see no reason for it to slow. Video editing is a very important part of moving image and something I have never even tried to get any real proficiency at. This project has been an important step into a better understanding of video editing techniques, something I would most definitely like to pursue further with future projects.
I am not often one for working in groups and usually find the notion somewhat daunting, in this case however it was welcome. Up until now I have not been involved in any proper group work (despite this work being more duo than group). I enjoyed working alongside Olly, although our first dive into this project was primarily from separate work with communication of ideas over email.
Our first week or so was spent sending emails to and from; discussing the possibilities of various ideas concerning the different words with which we had to orient our outcome with. Our second week we both drafted ideas of what it was we thought the end piece should look like. We chose the word “routine” from the list and decided on trying to convey the idea of routine through a varying degree of mediums within the video. We chose to portray a narrative of routine centred around the aspects of life, mundane and repetitive, without using footage that directly implied this. The aim was to edit the entire thing in such a way that the utilised footage was to be less relevant than how we edited it together; a message through the timing and organization of the footage rather than the footage itself, so to speak.
In the following week we merged our rough ideas together to form a final piece, working together at college and then finally at Olly's house. However, we did end up using Premier software, after converting all the footage we needed, as we were working from a PC. Collecting our thoughts together from the rough ideas we had initially created was difficult and excruciatingly tedious as, in combining a lot of our work, we hadn't taken into account the many possibilities in the final elements of design. We hit many an unhealthy bump in the road when trying to cut our footage together, for example keeping things fluid and without strange ghosts and artefacts (of which there were many) from other seemingly hidden layers of video.
The end result is pleasing, we have created a rhythmic and vastly hypnotic experience of a life sequence that has stayed pretty much consistent throughout development. I think the way we edited and (in particular) the timing we used to transit between the various footage gives a great impression of repetition and the passing of irrelevant time. I was particularly proud that we didn't get sucked into using any of the horrid but easily appliable 'effects' that offer themselves through Premier. However I would have liked to explore the use of sound further in the production, perhaps touching on creating music with short segments of audio stolen from within the clips. Another one of my concerns is that the video may need a couple of decent viewings before the true message that we were trying to portray can be understood. The video isn't really interesting enough for more than one sitting which makes understanding it a slight problem for those who don't have Olly or myself there to explain it.
As far as the narrative of the video goes we were trying to sequence all our footage to the beat of “travel, work, travel, leisure” and for the best part I think we managed this. The segmented and short flashes of the relevant footage creates a very powerful suggestion of what each part of the video is about. The way we organised and timed the shots however leaves the viewer without fully understanding the message. Cutting it up again with the sharp noise and repeating escalator footage intervals really creates a very strange and unnerving day-dream-like atmosphere to the entire creation. This however is precisely the sort of effect we wanted to demonstrate. A sort of insight into to how we thought life goes on, but of course... the viewer probably can't quite work that out without some help. Maybe a draw back to it's design? I'm not so sure, but this is a direction of conveying ideas that I would like to explore in the future. Slight implication, not blunt and forced opinion.
I think our achievement was in creating an excellent first attempt, but hopefully not last, video production. It is obvious to me what it is I would have to improve on in further video editing projects, and what it is that I have learnt in terms of overall information media design. There were a lot of ideas and concepts that I shall expect to surface again in future projects.

8.3.07

The Importance of Play


As part of this study I’m going to be looking at two texts, they are “A Theory of Fun” by Raph Koster and an article published in the International Journal of Computer Game Research that I found particularly interesting; “The Playful and the Serious: An approximation to Huizinga's Homo Ludens” by Hector Rodriguez.

Both texts differ massively from the very basic ‘A Theory of Fun’ to the very long winded study of ‘Huizinga’s Homo Ludens’.

‘A Theory of Fun’ was written by Raph Koster and was based on a presentation that Koster gave at the Austin Game Conference in 2003. Koster is American born (1971-) and is most notably the lead designer of Ultima Online and Author of this book.

Dr. Hector Rodriguez is a New York University graduate with a doctorial degree in the field of cinema studies and is now an associate professor at NYU.

The article that I am studying however is the examination of “Homo Ludens” by a one “Johan Hyuzinga”, a Dutch historian who was one of the founders of modern cultural history (the combined study of anthropology and history to examine popular culture). Homo Ludens is Hyuzinga’s discussion of the influence and importance of ‘play’ on European culture.

There is something in both texts, despite their obvious differences that is agreed upon and is best summed up by Rodriguez as “The player must respond to some event, in the context of a structured situation. Playing consists in a trans-individual process of action and reaction, which often takes on a to-and-fro quality reminiscent of dance.” That is to say that play is a dynamic interaction between player and event that is either counter or imply and follows to a new set of rhythmic events. The main difference is that while Hyuzinga would rather notion towards play being a mundane experience that is simply lived for the very sake of it and Koster implying that play is, although mundane in appearance, actually the mind testing itself through cause and effect so that it may better improve through experience. Koster believes that play is education in such a format that the mind rewards our senses for achieving goals. The structured format of play is simply how our mind best receives the information.

Applying what I’ve learnt from these texts to the production of my game in the case of ‘A Theory of Fun’ was very interesting to do. Koster, although implying very little that we couldn’t deduce ourselves, set about reaffirming and challenging the notion of games beyond that generic and ‘mundane’ word ‘play’. He would like to see games seen as obstacles we pose ourselves for very serious reasons. He outlined good games in his work as puzzles that bare real life relevance. A good example of this is chess. One of our oldest games and still more than popular it was created as entertainment and played by kings no less. It was commonly thought that although the game was primarily just that, a game, it actually taught better command and strategy. It has been proved time and again that people who trend their gaming habits towards more strategy based games, Age of Empires for one, actually improve a lot of real life strategic problems quicker. This of course is open to debate as to whether this is simply that we enjoy things that we already have some proficiency at and thus those of us who do prefer RTS (Real Time Strategy) will in fact already have some inherent command of such skills.

Some pre game production fantasies











A key focus in the game scenery will be the advertising. As part of this there will be 3 major types.

  • Corporate

  • Federal

  • Criminal


Corporate

The setting of the game is aboard a colossus farming ship. It's objective is simply to collect sea based resources (in particular the algae that grows all over the water) and deliver (via small cargo ships) the materials back to the mainlands for sale.

The advertising to this end will be based around the work that the ship carries out, the constant aggressive policing of the floating city and that lovely false corporate productivity banter.


  • Billboards

  • Posters


Federal

The floating farm has progressed beyond a simple corporate platform and become a floating city with citizens born, raised and dying upon it's decks. Due to the state of the mainlands, the famine, warfare and disease that have spread since the moon collapsed gaining placement on the ship sounds like a good deal. It's got work, food and is for the most part safe from the toils of war. However due to the demand for work the ship has become itself a battleground of illegal immigration and poor working conditions.

Policing has become paramount to the floating city state. The advertising on this front will represent

calls for new officers (or as I'm calling them in this game 'prefects'). Along with this there will also be warnings of punishment for criminal actions and rioting.


  • Billboards

  • Posters

  • Fliers


Criminal

Criminal advertising will be in the form of graffiti mostly but also in the form of character speech. Passers by offering drugs etc. There will also be a strong terrorist and rebel advertising present. Posters and graffiti making up the majority of this.


  • Posters

  • Word of mouth

  • Graffiti

Prosumer

Here is a word that I have only recently discovered. One that I doubt we’ll be seeing in the Oxford Dictionary anytime soon. Prosumers; this neologism is the head on collision of producer and consumer. The idea that the consumer and producers would merge in the production of, in this case at least, games. This can almost be seen in Half Life, but what I expect will grow into a much more definitive genre before long.

Half Life isn’t really recognized for Half Life as much as it’s recognized for the shear quantity and quality of the community mod work. Few of us brought Half Life 2, for example, for the core game but for the opportunity to play any one of the hundreds of mods it would spawn after its release. This is prosumerism, a professional industry standard product released and customized to fit by the consumer. Another example of this would be Second Life, a game that is so massive in it’s customization that it’s not so much a professional game anymore as it is our (that is to say, the general public’s) creation. Second Life is nothing without direct community customization. This is the direct result of the massive demand for new and interesting products to hit the market, and in my opinion, the world population feeling a certain lack of identity.

Free Game and Industry Connections

Today’s entertainment industries are some of the most lucrative in circulation and the impact and importance that the video game makes on the market is undeniably the largest portion of this.

For me however the most impressive aspect of the games industry doesn’t dwell on profit margins but in the ever growing free game and community ran games out there.

As never before we are seeing a massive increase in creative free exchange of information and ideas on such a structured level. Games such as half life with its extensive modders support are just an example that I’m sure most of us can relate to. Taking it further however is the increased rate at which games at industry standard are created entirely from scratch on a community collaborative effort are emerging. Games created via communities of enthusiasts with all manner of varying skill levels and experiences are pulling towards common artistic goals.

A fantastic example of this is the excellent “Total Annihilation: Spring” project. Based on the popular and now aging game “Total Annihilation” this project features a very clever Wiki style creation allowing any person to add material towards the game to be used openly by the developers. This project, not even nearing a level of completion, has already managed to inspire huge levels of modding and scripting to enhance the core game beyond its original intent.

However like most things there is of course an element of finance to couple great ideas, in the case of free games a lot of bulk of a game will be compiled through a few key members and projects like this do stem a lot of their success through not only the community submitted work but also from the donations. Furthermore to this there is the serious element of industry recruitment. A lot of the big name games companies now have at least one, if not many, game designers working for them that were directly recruited because of their free game and mod work. An example of this would be the Doom 3 key level designer who was recruited by the company from the maps he made for Doom 2 all those years ago. A simple boy creating simple yet interesting maps for one of his favourite computer games he now resides within the pay roll of one of the worlds leading games studios.

29.1.07

Some Initial Work, The Island Game Project

So we're planning our games round an island. A narrative (physical or otherwise) that restricts the user in some form or another. I'm going to take a few key elements from the word Island and bundle them into my game.
Firstly, as I detailed earlier, my game will be following a relatively linear concept. You progress through the game world in order to read a story that I have set. Deviations from the path may well be introduced but for the most part you are being directed by me, the narrator.
Firstly, and most probably the incorrect way of going about it, I wanted to make the game engine (if that's what it can be called) based on my first thoughts about concept.
Because the story is linear and because the game is point and click I wanted at least to have the interface interactable. A scroll map, one you explore through mouse control.
After talking to Anna-Beth about the concept that I had for a scrolling map I created the following code:

a = Stage.width;
b = 565;
doStuff = function () {
x = _root._xmouse;
b_mc._x = (b*x)/a;
};
setInterval(doStuff, 1);

In short this would direct an image (the world) to position itself on the stage at a point relative to the user cursor. I'll describe how it should behave:
We define 2 variables. The first, "a" is set to obtain the stage's (that's the area in flash you work with) width. The second variable "b" is set to the width of the image we wish to scroll.
We then have our code, this I set as a one tick function with an interval to repeat it.
In theory the variable "x" will capture each tick (that's the frames per second tick, each time the frame is loaded) the position of the mouse on the stage.
I named our image "b_mc" and have the code position it's "_x" location (that's the distance along the x axis (the width) to variable "b" multiplied by variable "x" and divided by variable "a".
The set interval at the very bottom simply tells flash to replay that code, which I named "doStuff" every 1 milliseond. Flash counts in milliseconds, i.e. 1000 = 1 second.
Unfortunately this code almost but not quite works, the image scrolls and will match to 50%. i.e. if I placed my cursor on the far right of the stage the image will align. However, if I place my cursor on the left of the stage then the image will only mark half it's distance. I've no idea how to alter this as my maths is shocking to say the least and the idea is now obsolete to another anyway.

This method is a great way to allow a user to search a small area but after much deliberation I figured I would return to my original plan which I shall go through in the follow:
The map (the area the user explores) will scroll along the _x plane at a speed and in a direction based on the position of the users cursor upon the stage.
i.e. If the user places his/her cursor on the far left of the stage then the map will scroll away from that direction, as if the user is searching the map with his mouse.
With this system the user will be able to search a map of any size whereas the previous idea would have made a very large map very touchy and sensitive to navigate.
I shall detail the code I have thus far:
Now, we're assuming we've made a movie clip that is larger in width to that of the stage and that we've named it "city_mc". This is our map. A few things to note before I explain the code. It's good practice to have everything code driven in your production held within a single frame and as rarely as possible within movie clips. This allows for much more precise control over your production and makes it easier to read what's going on. This code is all nestled in my main _root frame. Also, I've tagged my descriptions with "notation" marks. These marks usually look like this "//" . What they do is tell flash to ignore the follow code as it's there for reference and not for flash to use. In this case however I've used the larger notation marks which you can use to bracket larger text together. The "//" only works for a single line whereas "/*" defines an area. The area is defined with /* at the beginning and */ at the end. Just like brackets. If you wish to test this code you can copy and paste it ALL straight into Flash.
One last point, I apologise for my US spelling of the word "center". Flash works with US spelling and it's just something you'll have to ignore.

--------------------------------------------------

city_mc.onEnterFrame = function() {
/*First we target our movie clip which we've named "city_mc". Then we let flash know this is a per frame tick function with "onEnterFrame". Finally we tell flash the following is the function we wish to be executed by opening our statement with the "{" bracket.*/

center = Stage.width/2;
/*The first line of code in this function defines a new variable. A variable is code association. We define for the code a word that means something else. In this case we've told Flash that "center" actually means the "Stage.width/2". Which in short means the word "center" when used within the code actually means; the stage width divided by 2. This is an easy way of finding out the center of the stage and referring to it later./*

if (_root._xmouse<=center) {
/*Our first "if" statement. A statement is a collection of code contained within the curly brackets "{ }". These "if" statements tell flash that the following statement is to only be executed if certain specified conditions are met (that's the bit contained within "( )" brackets) . In this case we're saying "if the _x position of the mouse on the stage is equal to or less than the center of the stage, then you may proceed with the statement". Remember we named "center" as a variable for the center of the stage! Now if the condition is met, then the next line will be executed.*/

if (city_mc._x<=-10) {
/*Here we're making another if statement, this way Flash will have to meet 2 conditions in order to proceed. This statement is to stop the map scrolling further than it should. We don't want the user to just scroll to nothingness. Now all this part of the code is about the mouse being on the left hand hand side of the stage and thus making the map scroll to the right. So here we say: "if the map (city_mc) is positioned on the _x (horizontal) axis less than or equal to position -10 then you may continue". If the conditions are met then the next line is executed.

city_mc._x -= (_xmouse-center)/40;
/*This line instructs that: "the position of the map (city_mc) on the _x axis should be it's current position minus (symbolised by "-=") the following". This effectively will move the map each tick by "(_xmouse-center)/40;" which in short is the _x axis position of the mouse minus the "center" variable and together divided by 40. This results in the map being moved to the right at a speed relative to the distance of the mouse from the center of the stage.*/

}
/*This bracket defines the end of the current if statement, but not the statement this one resides within!*/

if (_root._xmouse>=center) {
/*Now, this is a third if statement. The following code is dedicated to the opposite direction and works in exactly the same way bar a few "numerical and comparison operator" changes. Comparison operators are "<=" and the like, operators that compare properties. */

if (city_mc._x>=-2200) {
/*In order to obtain the _x position of our map that we wish it to not scroll beyond we simply align our maps right hand edge to the right hand side of the stage and copy the number in the _x axis property window for the movie clip. Simple enough. For the left hand we can assume that it will always be 0. However I made i -10. Just to be on the safe side.*/

city_mc._x -= (_xmouse-center)/40;
/*This repeated bit of code will move the map the opposite direction as well since our mouse position will now be into the positives numerically which has the effect of increase when 2 negatives are used. I don't expect you to understand that as neither do I and it took me much trial and error to work it out as well!*/

}
/*This ends the current statement*/

};
/*This ends the entire statement. The code is now complete and because it's a "onEnterFrame" function it will if all goes to plan, just run it again next frame. The ";" marks at the end of the curly bracket tell us that this is the end of a code block.*/

Well now that's the code for the scrolling background. It's quite small and simple enough to understand once you get your head round the basics of action script. I'm going to paste now ALL the code I have. I'm not going to explain it all as there's a lot there and most is completely irrelevant. However I did take the time to add a little notation which might help guide you. Basically in all this code we have several map layers driven, plus some sky and even some rain. On top of this there's some looping ambient music which plays in the background. There's some notation in there that you may not understand, your not supposed to. It's just me saving some un-used code should I need it in the future. The notation marks just means Flash ignores it for the time being. I recommend you paste this code into Flashes action script box so you can read it easier. Thank you.

--------------------------------------------------

stopAllSounds();
/*Attaches and loops the music*/
//create new empty sound object
musicDrone = new Sound(this);
//attach the sound to the empty sound object
musicDrone.attachSound("acz.wav");
//play the sound object. 0 = start possistion and the 999 = the loop times
musicDrone.start(0, 9999);
music = new Sound(this);
music.attachSound("short.wav");
music.start(0, 9999);
/*Create rain*/
//creates a variable with number 0 assigned
rainNum = 0;
//Create a function to run random steam noises
steamNoise = function () {
randomNumber = random(2)+1;
trace(randomNumber);
if (randomNumber == 2) {
steam = new Sound(this);
steam.attachSound("steamLong.wav");
stam.start(0, 1);
}
};
setInterval(steamNoise, 1000);
//Creates the function to follow, called rain
raining = function () {
//incriments the rainNum in integers of 1
rainNum++;
//creates a variable called rain and attaches the raindrop clip to it
var rain = _root.attachMovie("rain_mc", "rain_mc"+rainNum, rainNum);
//places the raindrop in a random location along the width of the stage
rain._x = Math.round(Math.random()*Stage.width);
//gives each raindrop a random transparency
rain._alpha = random(20)+15;
//random speed
rain.speed = random(30)+20;
//random _xscale
rain._xscale = random(80)+20;
//random _yscale
rain._yscale = random(80)+20;
//on each frame the following function will run for the variable objects "rain"
rain.onEnterFrame = function() {
//commands each dropket to move 3 pixels downwards each frame
rain._y += this.speed;
//commands each dropket to move 1 pixels left each frame
rain._x -= 3;
//The following removes the droplet once it leaves our view.
//If we left the raindrops to accumulate without removing them they would slow down the game
//This says, if the _y (height) of the droplet falls below the lowest stage coordinate
if (rain._y>Stage.height) {
//If the previous is true, then the droplet is removed on the next available frame
delete this.onEnterFrame;
this.removeMovieClip();
//This decreases the rainNum count so that the rain doesn't reach a depth that we require other objects to reside on.
}
};
};
setInterval(raining, .1);
/*Scroll top & rear landscape
To reverse the direction the backgrounds scroll switch "-" with "+" and vice versa.
"+" will scroll towards the direction the mouse is sitting on
"-" will scroll the opposite direction to the mouse
The "+30" and "-30" at the end of the if statesments are to give the stage a un-reacting dead zone. Anything 30 pixels left or right (60 pxl spread) of the center will have any effect*/
city_mc.onEnterFrame = function() {
trace(city_mc._width);
//This is the work out the exact center of the stage. Stage width could be anything
center = Stage.width/2;
//Scroll right (mouse on left)
if (_root._xmouse<=center) {
if (city_mc._x<=-10) {
sky_mc._x -= (_xmouse-center)/100;
city_mc._x -= (_xmouse-center)/40;
city2_mc._x -= (_xmouse-center)/45;
city3_mc._x -= (_xmouse-center)/50;
city4_mc._x -= (_xmouse-center)/55;
} else {
trace(city_mc._x);
}
}
//Scroll left (mouse on right)
if (_root._xmouse>center) {
if (city_mc._x>=-2200) {
sky_mc._x -= (_xmouse-center)/100;
city_mc._x -= (_xmouse-center)/40;
city2_mc._x -= (_xmouse-center)/45;
city3_mc._x -= (_xmouse-center)/50;
city4_mc._x -= (_xmouse-center)/55;
} else {
trace(city_mc._x);
}
}
};
//This stops play on this frame
stop();
/*fscommands are used to control the window and some limited OS features*/
//This turns the flash screen into a fullscreen
//fscommand("fullscreen", "true");
/*Attaches and loops the music*/
//create new empty sound object
//musicDrone = new Sound(this);
//attach the sound to the empty sound object
//musicDrone.attachSound("introBassBoost.wav");
//play the sound object. 0 = start possistion and the 999 = the loop times
/*musicDrone.start(0, 9999);
_root.start_btn.onRelease = function() {
gotoAndStop(3);
};
stop();*/

--------------------------------------------------


At First Glance, The Island Game Project

A while since I've posted anything so I thought I'd write up a not so quick message detailing some of the work I've made thus far on my game design project.
I've been reading up on my game design, in particular a book called "Theory of Fun" by Raph Koster. A very valuable resource if your going to get anywhere in game design and yet I find myself ignoring some of it's most important points.
Firstly and foremost the game should challenge our skills and we should be able to improve through the game some very fundamental human abilities such as spatial awareness in first person shooters and our sense of planning and resource management in real time strategies. In order for a game to remain exciting it should constantly challenge these skills while still keeping the goals it set's forward obtainable. The game should be not so easy that we get bored and not to difficult that we might get frustrated and abandon it.
I searched for a game that sums these ideals up. I came across "missile 3d". This is a game based on a concept that I'm sure most of us are familiar. Guide yourself (the cursor, whatever) through a the levels while avoiding certain obstacles. Give this game a go, it's addictive because it's both challenging a skill we put to use everyday ( orientation, spatial awareness and concentration) while remaining rewarding enough for us to replay.

Missile 3D - See if you can beat my score, 89% through level 6.


Now I mentioned my game would be different, it shall be in a sense. The reward of the game won't be obtaining physical objectives such as FPS and RTS games but instead it shall play like a book. You interact with the world in order to read a story. Some objectives may well be introduced in order to keep the user reading the story in the correct order and I may even create some multiple directions in the outcome.
I'd like to think I'm exploring a new approach to reading a book but this idea is far from new. I'm just mixing a few different methods together in order to create an idea that has in many forms been done before. For me however this is very new, and I'd be interested to see where I take it through the course of it's production.