Multimedia Blog

Research, Design & Reflection


Cool Website



This is a site where you can get feedback and buy and sell flash files really cheaply ($1-$20 from what I saw) I literally spent hours just looking through the flash files that people have uploaded. Check out the top sellers, theres a guy called RimV who does some mad 3dpapervision galleries and theres a load of original and really professional looking stuff on there . The site itself has a really good design as well.

Labels: ,

Having a Couple of Problems with AS3

I have been having to use both the timeline and ActionScript to code my game mainly because I don't know enough ActionScript to do certain things. I have had two main problems so far.

1) I was getting an ongoing error message I couldn't stop as the game entered the 'end screen'
2) I needed to animate each of my targets in 2 different ways. Firstly, to move up the screen and play over and over and secondly, to show a simple '+100' (or what ever the score is for that particular target) animation.

I solved the first one by removing the Event Listeners upon entering the next scene (wasn't aware I had to do that at the time).

eg.

if (time == 0) {

gameTimer.stop();

shootMC.removeEventListener(Event.ENTER_FRAME, bombHit);
}


The second problem I have solved in the most dodgy long winded way and I would really like to change it. I made 2 timers for each target (one to play the movie clip at a set interval and a second to move the movie clip up the screen) I done this so that I could reserve the movieclips actual timeline for the simple point score animation. I done this for each of the targets and offset the timers against each other to create the illusion of random targets moving up the screen.

var moveBombTimer1 = new Timer(10);
var repeatBombTimer1 = new Timer(7000);

moveBombTimer1.addEventListener(TimerEvent.TIMER, moveBomb1);
repeatBombTimer1.addEventListener(TimerEvent.TIMER, repeatBomb1);

function moveBomb1(event:TimerEvent):void {
targetBomb1.y -=1.65;
}
function repeatBomb1(event:TimerEvent):void {
targetBomb1.x = 170;
targetBomb1.y = 620;
targetBomb1.gotoAndStop(1);
}


This method has resulted in jerky movement and although I have offset all the timers so it looks random, if you was to play it multiple times you would soon notice that it was the same. It also means that you will get similar scores. For instance I can get the maximum score of 1675 most times (I have played it a lot) but it would be much better to not know how many targets it may give you and how hittable they will be so that the game is less predictable.

Labels:

Demo of Unfinished Flash Game




The game works but a lot still needs a lot done, it looks a bit dull at the moment. Below I have made a sort of to-do list:

1)More graphics and a proper intro and end scene.
2)Play again option at the end.
3)Introduce more targets, including a flashing 'one time bonus target'
4)Extend game play time and introduce 'lifes'.
5)Constraint on how far up and down the screen the gun can move.
6)Sounds for hit targets, bombs, time running out, game start and game over.
7)Animate the score increasing or going back to zero so it is more noticeable.
8)Improve the movement of the targets when I learn how to use AS3 to tween.
9)Make the target movement truly random rather than a random like sequence.


Theres probably more but I'll see how it goes.

Labels:

Flash Game



I have made a lot of really bad looking fla files whilst I've been teaching myself actionscript so I've decided to make a flash game that is intended to be part of my second Identities project and will incorporate everything I have been learning as well as some new techniques I have learned for producing decent graphics. My aim is to make something that works well and looks good and makes up part of my identity when incorporated with the other parts of my project.

These are bitmaps of the graphics I have created so far. It is basically going to be a variation of an old style 2d game I played when I was younger but it is going to include some representations of things I really dislike:

1)The current obsession with second rate celebrities
2)Repetitive and annoying day time television
3)The adoption of hip hop culture by middle class British kids

All of which, is being addressed in a light hearted hopefully game that involves shooting certain moving targets.

Labels:

FeedDemon Settings Test

ignore this I'm just testing something out

Labels:

Dart Scoring Application So Far...

TO SCORE FOR EACH PLAYER YOU MUST SELECT THE PLAYER FIRST




I had some problems, so I'll list them below with the solution I used. I'm pretty sure I have wrote a few bits of bad code and my script is like 1000 lines long when I'm guessing it could be done with a lot less code but it works and I learnt it all from a really bad book.

1)I named my functions for the subtraction of the scores 'minus40', 'minus10' etc. before I realised that there are some values on the board that get used more than once and I had duplicated function names.

2)I wanted it to score for 2 players and be able to toggle between each player whenever I liked. So I used the following code to say that if one was on the 2nd frame of the movie the other must move to the first.

//Player Selection

player1.addEventListener(MouseEvent.CLICK, selectPlayer1)
player2.addEventListener(MouseEvent.CLICK, selectPlayer2)

function selectPlayer1(e:MouseEvent){
player1.gotoAndStop(2);
player2.gotoAndStop(1);
}

function selectPlayer2(e:MouseEvent){
player2.gotoAndStop(2);
player1.gotoAndStop(1);
}


I controlled the scorer within each function so that depending on which frame the player movie clips and the text boxes (that were also movie clips) were on effected which variables to apply the score changes to. Here's an example for a double (the only sections that you can win the game on). This enables the scorer to recognise if the player busts, wins or whether the game should go on as normal.

function twenty40(e:MouseEvent){
if (player1.currentFrame==2){
score=score-40; score_output.text=score;}
else if (player2.currentFrame==2){
score2=score2-40; score_output2.text=score2;}
if (score2=="0" && player2.currentFrame==2) {text_output2.gotoAndStop(2);}
if (score=="0" && player1.currentFrame==2) {text_output.gotoAndStop(2);}
if (score2<0 && player2.currentFrame==2) {text_output2.gotoAndStop(3);}
if (score<0 && player1.currentFrame==2) {text_output.gotoAndStop(3);}
}


Since I coded this I have come across the 'switch' statement that uses 'cases' to declare conditions but to be honest it would be a lot of effort to change it all now.

IMPROVEMENTS

I would like to make a preloader and allow the user to input their names before they begin. Obviously I want to improve the look of it as well but my focus is on the actionscript for now. I'll probably be updating this soon with the improved version.

Labels:

Testing the code I intend to use




This is a simplified version of the scoring system I will use for the sections of the dart board

Labels:

Darts Scoring Application

I set myself the task of making a simple Darts Scoring application as an excuse to learn some more actionscript.

Other than the fact I play darts a lot and my mate can't add up, I have chose to make a Dart Scorer because it will require:

1)Some basic problem solving
2)Event listeners
3)Functions
4)Conditional statements
5)Timeline control

Labels:

Flash Sports Quiz




Now that we have submitted our 'Second self' project I've had time to finish the flash task from David Downes seminar. I took the original task and adapted it so that when you select a correct answer it goes green and a wrong answer goes red. I also had to insert the following code to prevent the user having more than one guess at each question:

q1a.addEventListener(MouseEvent.CLICK,
function(myEvent){
if (q1b.currentFrame==1 && q1c.currentFrame==1)
{score=score+1;q1a.gotoAndStop(2);}
});

Labels:

Avatar Video



finally found the time to compress my video and publish it on my blog. the quality is no where near as good as the original uncompressed AVI but that was slightly to big to upload, all comments welcome.

Labels:

Avatar Image Renders




Heres the 2 shots I have selected to submit with my video. For my first image I chose a wide angle shot of my environment thats probably only slightly closer than my establishing shot of my video. My second image is a bit of a high angle shot of my over sized avatar holding his Rubik's cube, I'll talk about these images more in my evaluation.

Labels:

Creating My Environment



As I mentioned previously in my environment idea, I have kept it relatively small and simple. I am very conscious of time and possible render times so it seems sensible not to overdo it on the environment in the same way I did with my avatar. I have modeled some backstreet garages with a dirty graffiti style look. I used a dim omni light to light the whole scene and put 3 spotlights under my street lamps. This creates a good nighttime affect and helps to achieve a shadowy atmosphere. Unfortunately I couldn't use a lot of the images I collected because they didn't suite the rest of the environment. They looked really out of place even after some quick editing in photoshop and I haven't had a chance to get really good at mapping yet so I had to leave them out.

Labels:

Rigging My Avatar



After I had created the skeleton, linked the bones and attached the IK solvers that would enable my character to move I created 6 controllers for the head, the spine and both arms and legs. My Avatar is now able to move all parts of his body including his fingers. Some movements are more limited than others but it is definitely animatable to the level I need for my movie.

Labels:

Bone Structure



My Avatars bone structure consists of about 25-30 bones. I have tried to keep it as simple as possible as possible and not all of his fingers are properly wired. I overcome the skinning problems that I had before by increasing the 'fin size' of the bones so that they go right to the edge. This prevents the weird deformations that I was originally getting with my narrow bones. As you can see the IK solvers are in place for the arms and legs and it just needs some controls.

Labels:

Idea For Enviroment

I intended to keep my avatars environment fairy simple as I have spent so much time on my avatar itself and I'm going to struggle to get it finished now. I'm going to stick with my original idea of a night time, urban setting. I'm going to cover the majority of the walls in graffiti artwork that I have been collecting from google images over the past few days.

Labels:




© 2006 Multimedia Blog