Thursday, 19 January 2012

19/01/12

With my final product finished I have moved on to the task of testing every individual piece of multimedia that is apparent in my work; this includes animations, buttons, video clips and sound. I systematically worked through my testing log that I had previously designed that included every item I needed to test, as well as adding addition tests for features that I added along the way. I managed to ensure that almost every piece of multimedia was working correctly, and in some places I was required to go back over my work and alter or edit some of my features as they were either no working correctly or did not look suitable for my final piece.
I opened both my testing log and my final product in order to check everything that I needed to review and write my observed results in to the correct column- I often was not required to insert comments about what happened, however if something was needed to be changed I mentioned this.

Tuesday, 17 January 2012

17/01/12

Today I managed to complete my final prototype with complete working mini game. My teacher helped me to find the correct area into which to place my score codes for my variables that allowed a score to be determined based on how many eggs are in the right basket- and we found that we were required to put my coding on the same frame in which my frame duration was set, making the final code as followed:
var duration:Number = 64000;
var yourInterval:Number = setInterval(doSomething, duration);

function doSomething():Void
{
    if (red1.hitTest(redbasket)) {
  score+=1;
 }
  if (red2.hitTest(redbasket)) {
  score+=1;
 }
  if (red3.hitTest(redbasket)) {
  score+=1;
 }
  if (red4.hitTest(redbasket)) {
  score+=1;
 }
  if (blue1.hitTest(bluebasket)) {
  score+=1;
 }
 if (blue2.hitTest(bluebasket)) {
  score+=1;
 }
 if (blue3.hitTest(bluebasket)) {
  score+=1;
 }
 if (blue4.hitTest(bluebasket)) {
  score+=1;
 }
 if (orange1.hitTest(orangebasket)) {
  score+=1;
 }
 if (orange2.hitTest(orangebasket)) {
  score+=1;
 }
 if (orange3.hitTest(orangebasket)) {
  score+=1;
 }
 if (orange4.hitTest(orangebasket)) {
  score+=1;
 }
 if (green1.hitTest(greenbasket)) {
  score+=1;
 }
 if (green2.hitTest(greenbasket)) {
  score+=1;
 }
 if (green3.hitTest(greenbasket)) {
  score+=1;
 }
 if (green4.hitTest(greenbasket)) {
  score+=1;
 }
 gotoAndPlay("Score Page", 1);
    clearInterval(yourInterval);
    
}

Friday, 13 January 2012

13/01/12

Today I spent time catching up on the work I missed in yesterday's lesson due to absence- this involved attempting to fix the coding problems I had faced in my previous lesson last Thursday. The codes on my 'finish' button could not determine when all the right variables where touching the correct baskets and moved forward onto the next page regardless of how many right eggs where placed correctly. Therefore my teacher suggested that I changed the count up function to a count down, giving the children a set time to complete the task and scoring them based on how many eggs they placed correctly in a set amount of time; in this case 60 seconds. I therefore changed the counter code to the following;
timer = 60;
countdown = function(){
timer--;
if(timer==0){
clearInterval(countdownInterval);
}
}

countdownInterval = setInterval(countdown,1000);


This code meant that the function of the dynamic text variable would be to count down from 60 at a rate of 1 second per interval, giving students a one minute period in which they could complete the task. My next challenge was to place a code onto the timer that allowed the page to move forward on to another scene once the timer hit '0', however attempts I made using the If function would not work, and the page remained on 0 despite codes telling it to move on.

I finally managed to find a code that worked; it counted down from 60 seconds and on 0 it cleared the Interval and moved on to the scoring page swiftly. This was achieved through placing the following code:
var duration:Number = 60000;
var yourInterval:Number = setInterval(doSomething, duration);
function doSomething():Void
{
    gotoAndPlay("Score Page", 1);
    clearInterval(yourInterval);
    
}
on to another layer in my scene- this told my project to move on to my score page once 60 seconds had elapsed; although it was not connected to the timer, which would not allow me to place an If(timer==0) go to and stop function, it still works as intended.
I then moved on to the last problem until my project was complete- this was the scoring system. I was now not using the timer to create a score but created a variable which increased every time an egg was placed on to the right basket, and after one minute this total score was displayed on the score page. I created a variable known as 'blue' and placed the code:
if (blue1.hitTest(bluebasket)) {
  blue+=1;
regarding all possible instances, which enabled the computer to score the users based on how many eggs they had placed in the right position, and display this amount on the score page. I have run out of time to fully fix this problem and will use Tuesday's lesson to fully create a solution that will accurately count up a score based on the position of eggs on the page.

Thursday, 5 January 2012

05/01/11

Today my teacher was not present during my lesson, and so the coding issues I had regarding my mini game could not be followed through with advice on her behalf. I therefore used my lesson time today to create an option for the score page allowing the user to 'finish' the programme and bring the child onto a final scene which shows bunny waving, saying goodbye and thanking the user for getting her home and hopes they had fun doing so. This will be the final page of the storybook and will have no links to another page, it will be at this point that the child will have to close the programme in order to stop the storybook. My final page features a brief animation of the word 'congratulations' changing colour from one letter to another as the 'bunny waving' animation from the very first scene of the home page, is again used here to indicate bunny waving goodbye. The coding issues I have are as followed:
In the mini game I am unable to issue a code onto the 'finish' button that allows it to recognise when all variables are true, not just one. At present the game will proceed forward if just one blue egg is touching the blue basket, I will need my teacher's help to help me understand how to make my code not proceed onto the next scene unless all variables are true.
Secondly, I wish to score the users based on the time they took to complete the game. I will need to research if I can find a way to transfer the final time on the mini game to the score game and display it on the screen, using this I will then categorise the scores. I will use testers to play my game to work out an average scoring time in order to create realistic boundaries and ensure that my users can reach the top score bracket relatively easily.
I have now finished my entire storybook, and the minigame is progressing well with only some coding issues to fix before my entire project has reached completion. I hope that using time next week when my teacher is back at school on our Tuesday and Thursday lessons will provide me with enough help to finally complete my Flash project and begin work on the documentation that will accompany it at the handover.

Tuesday, 3 January 2012

03/01/11

Today I had a productive lesson in which I created the final page of my prototype, with buttons giving the user options to either start the mini game again or return to the very beginning of the storybook; if the student wishes to end the game, it will be on this screen that they will simply close the programme. I then edited the basket graphics used in my mini game by giving them thick black outlines around the shape of the item; this gave greater differentiation from the eggs and the basket. As before the two shapes were merging into one and making it hard to determine where the basket ended and the eggs began; this new design will allow the users to see easier what items they have placed into the baskets.
In order for my scoring system to work I needed a counter in place in order to time how long it took for the student to finish the game; I used the following code:
timer = 0;
countup = function(){
timer++;
}
countupInterval = setInterval(countup,1000);

This code was placed on a layer seperate to the layer on which I created dynamic text with the variable of 'timer'. This allowed the code to refer back to the dynamic text in order for a base on which the text could be displayed- this created a timer that automatically begins as soon as the mini game opens- it will count up until 1000 at which point it will stop- a huge time frame for the student to complete the task.
I then realised that on my mini game in order for a hit test to work, the eggs would have to be movie clips and not buttons as I had originally created. I therefore created new movie clips for each egg and had to replace the code in order for each item to be dragged and dropped, and then gave each appropriate instance names again so that the coding worked. Next lesson I need to figure out how to allow the game to progress only if each egg is touching the correct basket. Once I have completed this I can then move on to my scoring and find a way to transfer the final number when the 'finish' button is pressed and display it as the child's score- then hopefully relate this number to a title such as 'egg-cellent' and so forth.

Christmas Work

In my third prototype meeting, and in my plans for the holidays, I aimed to complete the rest of my product using a demo version of Flash downloaded onto my computer. However I was unable to download the file which would not work on my laptop, nor any member of my family's. This has resulted in me being unable to fully complete the product as I has wished to do; however it gave me time to go back over my meetings and improve the layout that they possessed, mainly by including relevant screenshots of points that were being discussed.
I hope to be able to use lesson time diligently over the next couple of weeks in order to complete my Flash in due course, and hope that the lessons around me will allow me to progress through the documents required to be created alongside my Interactive product in order to finish my coursework in good time. The time restraints that have been removed by my client reassure me that this glitch in schedule will not impact the timings as we have a large amount of time between now and Easter before the product will be used, and the latest possible handover for my coursework will be in the middle of February, so I am more than confident that my work will be improved to a higher standard by this point. I hope to only take another week to complete my Flash work, then move onto the documents that will be needed in order to create a completed project.