Ideas for Y11 Final ICT Project

So I am meant to decide on the project I want to do for my Y11 final project. Here are my ideas (in order of my preference):

  • Excel Project – Among all the things we did in the course, I found this program to be quite interesting. It wasn’t too hard that I was tackling something that I was completely  way out of my league at, but it also provided me with a sufficiently hard challenge with the Visual Basic. This is my main project that I am aiming for. I have learnt a lot from the Y10 project, but I am sure that there is still a lot more I can do with excel. Also, some of my relatives have businesses, so they might be in need of accounting and other things that can be done with excel.
  • Designing a Website – This is something that I thought of (in class), and wanted to try out, as it would be quite useful to be able to do. Plus, a lot of people need help in starting up a website, so there could be a lot of potential clients. However, in this aspect of IT, I am in completely unfamiliar territory. I have had no prior experience in in programming/coding, and am not familiar with any of the scripting languages (HTML, Javascript, Actionscript, etc.). I do know of some sites that can help you learn coding, but I’d rather take this up on my own leisure, as I fear that this would be a very difficult project, and I may have trouble making a satisfactory product.
  • Animation – By animation, I mean doing a project like Flash, or something of that sort. I was quite interested in this when we did the project in school. However, this would be a very difficult project. Considering how daunting the project was in Y10, and how badly I did, this may not be a very good choice. I believe that there is still a lot of things I can explore in animation, because I am new to this, and (aside from the little stuff I did with Flash), don’t really have any bearings on this.

Right now, designing a website and going for an animation project don’t really seem like good ideas. Even though I technically have more experience in animation due to our Flash project, considering my project, right now I am just not good at animation. Designing a website might be easier, as I believe it’ll probably be easier to pick up. Excel seems like my most logical choice right now, even if excel isn’t exactly one of the most popular IT projects.

Posted in Uncategorized | Leave a comment

Week 2 (Day 1) – HTML, PHP, etc.

So today we started looking at HTML, which apparently my other classmates have already learnt in the past (while I haven’t the slightest idea how to even start coding).

Posted in Uncategorized | Leave a comment

Week 1 (Day 1, 2 and the rest of the week) – Creating Websites

So we’ve started doing something new, but I’m not sure if it’s going to be a full project, so it will be left nameless for now.

Basically, our task was to use two different website designing websites to design a website.

Websites I used:

  • WordPress – We were told to use this by our teacher. I am quite comfortable with WordPress (it is, after all, what I use as my journal). I’ve been using it for about two years now, although I have only recently tried out some of it’s other features like Custom Menu.

Pros:

– It has widgets (one of my favorite features of wordpress). They are basically a list of small stuff you can put in your website, that enhance it (e.g. a calendar which shows important dates, recent posts, categories of posts, etc.).

– it has a custom menu, which means you can compile your posts to one page, depending on the category you place it in, very useful

– supports media uploads (all except videos)

You can check ratings, comments and overall public view towards your website

Widgets

– very easy to customize (like weebly), it has pages and posts. But it is more unique because

Cons:

– main problem is that it does not support video upload, unles you pay for an upgrade.

– may seem daunting to people who aren’t that computer-literate

  • Weebly  (jaoj2gandj.weebly.com)- I used this site, as I didn’t really know any other blogging websites, and I didn’t want to use blogspot. I simply searched up the top ten blogging websites, and I came up with this.

Pros:

– It has a drag and drop feature, which means it is very user friendly.

drag and drop

you can drag elements on to the page. This is weebly’s main advantage/feature.

– it supports uploaded media (images, videos, etc.)

– can choose different themes

– can easily add pages and manage them

managing pages

there are buttons to add, types of pages for customization, and arrangement of sub-pages.

– Weebly allows more than one person to edit the website, which is useful if more than one person is managing the website.

– can add background images

Cons:

I think that as the user interface is so simple, it lacks the customization that wordpress has.

Posted in Projects, What I Did Today | Leave a comment

Project 6 (Flash) – Week 2 (Day 1) – Working on the Project

This post will be about the work I did on the day itself and the days following afterwards, until the completion of the project.

So first of all, here’s the storyboard that I worked on before completing the flash:

Storyboard (page 1)

Storyboard (page 2)

Basically, I planned to have an intro that would show someone asking about our band. Then, the word introducing would move around for dramatic effect.After, a couple of words would flash across the screen. A clip from the music video would show, introducing me, and then another introducing Gordon. A few more lines about the band, and then the logo would show up, followed by a line urging the viewer to buy the song. Estimated time was around a minute and a half. Now, I’ll go on to talk about how I went about creating the flash animation. I have a total of five scenes.

The very first thing I did was to look for a couple of tutorials. I watched a ton of videos on this site: http://tv.adobe.com/show/learn-flash-professional-cs4/

Scenes:

  • Introducing – This was the first scene I thought up (although it’s actually the second scene). Basically, it’s the word “Introducing…” moving across the screen in random directions (refer to the storyboard, box 3). I planned to have it go on for at least 10 seconds, and to add a blur effect when it moved.

Initial Idea for the Introducing scene

I converted it into a symbol (Shortcut F8), created a motion tween (learned last week. right click on the timeline after converting to a symbol), made several keyframes and then dragged it across the screen randomly in the different keyframes.

If it’s not obvious, there’s only so long you can move a symbol around the screen before it starts looking really stupid and repetitive. So I came up with a better idea.

I made several keyframes, in the beginning, very spaced out, but with each keyframe, I made the spacings closer to each other. Then, in each keyframe, I dragged the word introducing to another spot (no motion tween). I decided to add in a booming sound (gotten from soundbible.com, a free sound effect site) for effect.

I watched this video (and the video that was on the Adobe flash tutorial site, refer to very first link, near the top) to help me out with  adding in the sound: http://www.youtube.com/watch?v=MtN2vilf0mE

Introducing Final

This was a painstakingly slow process, and I had to repeatedly do the same thing all over again. To vary it, I tried rotating it at certain bits. This method worked a lot better than my initial idea, as it would not get boring too fast, and would not look so repetitive and unprofessional. Still, it took at least half an hour to 45 minutes, as I did have some problems with adjusting the length at the start (constantly had to expand the length of time/add more frames in the timeline).

After tinkering around a bit (and watching the flash tutorial videos), I managed to figure out that I could use the blur effect on the word to make it disappear at the end.

Introducing Blur

Then I added in a swoosh-sound effect (from soundbible.com) to top it all off.

  • Intro – This was the second scene I thought of (but it’s actually the first scene). In my storyboard, I planned to make people (images) talk, but I later realized that I would have to make the mouths of the people move, and that was a bit hard (and it would look extremely unprofessional, and I forgot that I would need to record a voice, which was just too time-consuming. Also, I didn’t want to use a speech bubble). So I came up with a different idea (although not exactly better). I would make a sort of narration, where there are words across the screen, and pictures would appear.

First, I added in a picture of the band, tweaked it into a motion tween and made the picture move into the screen. Then, I typed in the words: Do you know who they are?(in a separate layer), added in a motion tween, and rotated it. After doing this, I decided that it was a bit too boring, so I decided to try a shape tween. I had experimented before, but so far, was unable to pull of a complete successful shape tween. I browsed around for half an hour, and finally found 2 really good sites:

http://flashexplained.com/animation/learn-flash-cs4-animation-shape-tween/

http://www.republicofcode.com/tutorials/flash/morphing_bc/

They really helped me. So the first thing I did was (by following the instructions in the website) to convert the picture into a bitmap (go to: Modify–>Bitmap–>Trace Bitmap)

Tracing Bitmap

The quality of the picture was really bad, so I had to try and change all the settings (see above). After over 30 different combinations, I realized that pretty much nothing I did would improve the quality, and it was still basically the same as before.

After this, I created a circle in the same layer, and placed it on a keyframe. Then, I moved the picture into a frame about 3 seconds after, and then added a shape tween.

Shape Tween in the Picture

To remedy the bad quality of the picture, I created a new layer, added in another picture and created a motion tween for it. Then, in the same layer of the do you know who they are, I made another keyframe that would have the line: “Here’s a clearer picture” appear when the second picture would appear.

The clearer Picture

Then I just added in a few more frames and placed the words “if not, then…”

  • The videos – This was basically the part where the video would appear showing me and then Gordon. I already cropped the clips from the music video beforehand. I had a lot of problems placing my video in. After watching a few tutorials, I found out that I had to convert my video to a FLV file or some other file. I downloaded format factory, but even after converting it, it still wouldn’t import into the flash.

Eventually, (from watching the flash tutorial videos, first link provided), I had to launch the adobe media encoder (I had no idea what this was). After converting it, I had to embed it into the timeline, because for some reason it wouldn’t work otherwise.

AME

Selecting the Video

Then, I encountered another problem. I planned to have the band song play at this time, which meant that I would have to mute the video. When I was editing the video, I muted the volume, but for some reason, when I played it in flash, it would have sound. I even deselected the option to include the audio.

Trying to Mute the video

After fiddling with it for so long (in total, I probably edited this scene for almost two hours), I decided to scrap playing the song and muting the video, as I did not have enough time to fix this problem. I made a symbol with my name Justin (as the video was about me), and made a motion tween and set it to move to the center of the screen, and then I applied a few effects (e.g. color shadow)

After this, I made a new scene, and replicated pretty much everything except for the video (changed to feature Gordon) and the symbol with the name (changed to his name, Gordon), and the symbol effects.

  • Final Scene – Refer to the storyboard, boxes 7 and onward (Scene 5). Basically, I added a few other motion tweens and words to flash across the screen, and then I made the words G&J appear, and then a get it on iTunes now line flash. I thought that was too boring, so I changed it a bit. I changed the words G&J, and drew a new logo.

The Logo

I used 2 circles, and 1 line to make this. I used the tutorial from the flash website, about object drawing.

Object Drawing

Basically, I used different shapes to cut into the circles, and I used the free transform tool to finish it off. I then pressed Ctrl + G to group them together.

Then, in the created a rectangle in a frame, and then a few frames later, placed the G&J drawing in, and then deleted the rectangle in that frame. I then added in a shape tween (right clicking the timeline, pretty much the same as a motion tween.

The new Shape Tween

Then I just put in a get it on iTunes now to end the flash.

Improvements:

I ended up cutting out a lot of bits to my flash due to not being able to do it/running out of time. I also found out that the total time of the Flash project is only a minute long. If given more time, I would have liked to experiment more with the Actionscript 3.0 (programming), as I have heard that this has a lot of potential. Also, I would like to add in people talking and moving around the screen (using things like the bone tool). I would also try to add in audio (people talking) with the use of voice-over. I would want to actually create something that has a story (much like a movie).

Posted in Project 6 - Flash, Projects, What I Did Today | Leave a comment

Project 6 (Flash) – Week 1 (Day 2) – Experimenting and Planning.

Today we had a cover teacher, so we didn’t have any sort of guidance, and were left to experiment on our own. I didn’t get much done today. I looked through Youtube, but a lot of the tutorials were mostly on how to do your first simple animation (AKA Motion Tweening, which I covered yesterday). So I took a look at some examples of Flash. I found a couple of good sites.

This was a fairly good site, as it had flash projects that were done by students, so they were not that complicated:http://schools.spsd.sk.ca/mountroyal/ProjectFlash/ProjectFlash.htm

Another really good one is called“Cyanide and Happiness.” This had really good flash animation. Here’s a link to a bunch of shorts of the series (cannot be opened on the school wifi): http://www.albinoblacksheep.com/flash/cnh/

  •  Shape Tweens – I started looking at these today because I kept encountering it yesterday. I browsed around a few youtube videos, but none were of any particular help. I didn’t really get this, so I’ll come back to it later.

The heading for our project was to make a multimedia animated quiz, so I did experiment a bit with that. However, I wasn’t too successful.

Failed Attempt at a Quiz

I still don’t know what to create. I will have to start story-boarding and working on the actual project soon.

 

Posted in Project 6 - Flash, Projects, Uncategorized, What I Did Today | Leave a comment

Project 6 (Flash) – Week 1 (Day 1) – Trying Out Flash

This week we started a new project using Flash. Today our teacher just taught us how to do a basic animation (movement).

Things I touched on today:

  • Timeline:

The Timeline

I found out that Flash used a timeline, similar to programs like sony vegas and iMovie. Those dots above are called keyframes (I interpret it as a sort of bookmark. It is placed on a frame when something changes).

  • Motion Tweens – this is basically what we did today. We made things move around, and change shape.

Motion Tweens

We made the ball move around. After accomplishing that, we had the task of making it change shape to look as if it was bouncing off the wall. To do that, we had to learn the free transform tool.

  • Free Transform Tool – This is basically a resizing tool. I don’t think I need a screen shot of this, as it is really just the same as resizing an image in word or Xara or pretty much any editing software. The only difference is that Adobe Flash’s normal resizing tool is much more professional (being able to resize things into curves and weird shapes), and is much more powerful in terms of editing, while the free transform is just a basic resizing tool like any other program.

Tilting the Ball Using the Free Transform Tool

That’s pretty much it. I’m still not sure where this is going, and I have no idea what I am going to create.

Posted in Project 6 - Flash, Projects, What I Did Today | Leave a comment

Project 5 (Scratch Programming) – Week 2 (Day 1 & 2) – Creating the Game

<Late post> Once again, an error in my computer. I published the assignment, but there was an error and the draft was destroyed, so it didn’t publish.

In this post, I am first going to be covering the different programming concepts (hopefully most of them, but I can’t be too sure if I know all of them) that I used in my game (I won’t be using the table again. It’s too time consuming, and I don’t think I used everything in there). Then, I will be covering how I went about creating the game. I will also talk about the things I didn’t include in the game. *Note: I will be using the terms code and script interchangeably. They both are referring to the blocks set up for the program.

  1. Concepts used:
  • Sequences – There were several instances when I had to use sequences and pay attention to the order of things. For example, I had to use sequences for how sprites react:

A Sequence for the player’s sprite 

I had to make sure that these blocks were in the correct order. When I wanted the game to be over, I had to make sure that the positions of the player would be set before it changed costumes (the costume makes it look knocked out). Otherwise, it would look knocked out before the coordinates were set, and if the player had hit an obstacle in mid-air, well, it would look weird (especially since I set the player to be lying down horizontally in the costume).

  • Iteration – I used this a lot for the movement of the player. For example, I had to make the player look like he was walking, so I added different costumes (one where he was still, and another where his legs were outstretched).

Coding for Movement

I made it so that if the left arrow was pressed, it would wait 0.5 secs, and then switch between the two costumes. I used a forever so that if the left arrow key was pressed, the player would continuously “walk” and the animation wouldn’t stop.

  • Conditional Statements – I also used this for things like the movement of the player. I used an “if” when I wanted the player to move. For example, if the left key was pressed, the costumes would switch continuously so it would look animated (refer to previous screen shot in Iteration). If not, then the costumes would not switch (otherwise, the costumes would just continuously switch, even if the left key wasn’t pressed, and the player would look retarted)
  • Variables – I used this for the jumping, side-scrolling, and for calculating distance (the last one was a failed attempt).

Variables

For example, I created a variable called ScrollX to help facilitate the movement of the player. (Scroll X will be explained in a little more detail below). I, of course, set up codes to hide the variables once the game started, as I wasn’t using variables that needed to be shown (e.g. scores).

  • threads – I’m not sure how to classify this, but I did have a lot of scripts running simultaneously, so here’s an example:

Threads

For example, I used it for the movement of the character, to both make it move and to animate it.

  • synchronization – I used this to start the game, to end the game (Game over), etc. For example:

Broadcast and Receive


  • Event Handling – As I’ve mentioned before, I’m still not sure how this is different from user interface design, so please refer to either the screen shots of user interface design or threads for examples.
  • user interface design – I used this for the introduction of the game. I made a sprite that, when clicked, would say the introduction.

Coding and Sprite of Introduction

Now onto the creation of the game.

2. Creating the Game:

First off, I created loads of different sprites, and then changed their costumes (one of them was to be the player, and the rest, obstacles).

A couple of sprites (the player on the right)

Then, I set the background to something suitable for the game.

Background

There is a reason why I used a background. Normally, for the method I used for side-scrolling, you have to design the screen (stages) so that the area you move in is different. Unfortunately, I did not have enough time for to draw my own backgrounds, so I just chose this monotonous background.

Technical Aspects

  • Making the game a side-scroller – the first thing I tackled was trying to make the game a side-scroller. The first thing I found out was that the sprite didn’t actually move across the screen. The screen was the one moving. The sprite would just slide across. This site helped me out quite a lot for the first part (making the screen move like a side-scroller): http://wiki.scratch.mit.edu/wiki/Scrolling

Coding used (based on the site referenced)

First of all, I had to make a variable called Scroll X. The coding above was placed in the obstacles, and are all generally the same.  I can’t say that I entirely understand it, but I know enough to figure out that this sets the position of the sprites (obstacles), or at least, I think. Then, I had to make it so that the screen could be moved by the user. So I set this code for the player:

Changing Scroll X

This way, when the directional keys were pressed, scroll x would move accordingly, and the screen would slide in the wanted direction.

Basically, I had to set up another variable (named, GRAVITY). I don’t quite understand the code, but it works, so I didn’t really think about it to much. However, I did encounter a problem.. The code:

Code Example that I tried to emulate

had a block called “repeat until touching sprite 3.” I didn’t understand this (I only later realized that sprite 3 was supposed to be the ground), and so I had this error:

Jumping Error (the person falls off the screen)

To remedy this problem, I tried making a new sprite (just a simple horizontal line) placed near the ground, and then I added it into the “repeat until touching…” I also made it disappear when the green flag was clicked, so it wasn’t visible. This worked, but another problem occurred. Once I moved away from the line, the error would occur again. I would have to add in codes for the line so it would move along with me, and that got annoying and confusing, so I changed the code to this:

New Code

I made it so that once the player touched the color gray, it would stop falling (This was one of the reasons why I chose this particular background. The ground was very clear, and only one colour, so I could use the touching color block).

  • Setting up reactions to collisions

The next thing I did was to set the reactions of the different sprites when the player hit the obstacles. This was pretty easy, because I had done this in the previous game (fish game). The script looks like this:

Script for the collision (script was placed in the obstacles)

Basically, if the obstacle was touching the player, it would play a sound (I tried to use different sounds for obstacles to add variety to the game) and broadcast game over. Then, I placed this script on the player:

The code and what it looks like on screen

The costume, which was used to make the character look knocked out, involved a little drawing on my part (Excuse the pathetic stars).

Then, I made a new sprite, and then edited the costume (I just typed in the words “Game Over!”). I then set this code:

Game Over Sprite

  • Fixing up the positions of the obstacles – I realized that simply dragging the obstacle sprites did not actually place them in that position. I had to somehow change the code. After re-reading the site on Scrolling (link is above; the very first link provided) and tinkering around for a seriously long time (I really can’t provide a logical explanation for how I figured it out. Sometimes, with programming, you just need to sit down and experiment with it), I was able to figure out that I could change their positions by modifying a certain part of the code used for scrolling:

How to change the coordinates

First off, you have to understand how Scroll X works. I came to see Scroll X as some sort of a distance measure in the game. For example, when scroll X read 0, this could be seen as the starting point. When it read, say -200 (caused by moving to the right. As you move to the right, the number decreases. It’s reversed. The more to the right, the more negative), you could say you were 200 meters east from the starting point (the “distance” is not proportional to actual lengths). A reading of 200 (caused by moving to the left) would be 200 meters west  Changing that number (the encircled area in the screen shot above) allowed me to change how far into the game the obstacle would appear in. So for example, if I put in 1 into that area, (formula would become set x to scroll x + 480*1), it would appear near the start of the game, at say, a reading of somewhere between -100 to -500 (for scroll x). If I changed it to 2, it would appear further into the game (at say, a reading of around -600 to -1000 for scroll x). I added in different numbers to the different obstacles so that they would appear in different areas in the game. Of course, I had to set up a starting point:

Setting up the starting point

So I set up this code (I placed it in the player sprite, but I don’t think it really matters for this type of code, as wherever it is placed, as long as the green flag is pressed it will activate). Basically, once it the flag was clicked, scroll x would be set to 0 (which would be the starting point), so players start with scroll X reading 0 (meaning they are at 0cm from the start). I made sure that the game could actually be finished (albeit, there is one area, the rock, which is sort of hard). After I deemed that enough obstacles had been set up, I made a sprite that would represent the end of the game.

Finish Line (yes, drawn by me)

Then, I simply used the broadcasting system, so that once the player passed the sprite it would send a message for winning the game:

Congratulations (script was set in the finish line sprite)

  • fixing up the bugs – Overlapping Sprites (at the right and left of screen)

So I realized that there was a problem with the obstacles (yet again). When I hadn’t encountered them yet in the game, they would overlap at the screen, like this:

Overlapping Problem

To remedy this, I came up with my own solution (this may not be the easiest way, but it worked for me, and I understood it. Also, the example in other help sites didn’t work for me). First, I would take into account the (more or less) exact reading of scroll X RIGHT BEFORE the sprite was going to appear on the screen.

Fixing the bug

So, say the number was -215 (like the number in the example above). As the player moves, to the right, scroll x changes too. I made a code so that if scroll x was more than (you have to take into account that as you move to the right, it gets more negative, not the other way around) the number right before the sprite appeared (in this case, -215), it would be hidden. And if it wasn’t, (if the scroll x number was already smaller, or in other words -216 and below) it would appear.

The code

I thought this was a genius move on my part, until I realized that there was still a problem. Once I passed the obstacle, it would remain on screen again, this time at the left end.

Overlapping Problem (2)

Originally, I tried to counter this by placing a code exactly like the one above (if scroll x > …. hide…else…show etc.) except I changed the > sign to a < (so that once it passed, it would disappear). Suffice to say, it didn’t work. I realized that this code would contradict my previous code for making it not overlap at the right end of the screen, and it would show. Now, at this point, I was quite a bit rushed for time, and was getting a bit desperate, so I scrapped the code I was trying to make and, picking up an idea from another site I just made a new sprite:

Overlap Fix

I realize that this may seem really lazy, but I was running out of options at this point.

  • Introduction – Once I was done with the game, I decided to make an introduction so that it wouldn’t be too confusing. This was pretty simple. First, I used Photoshop to crop out a picture of a band member (my friend), and then I made a new sprite, edited the costume and imported the picture. I placed in on a black background so it wouldn’t look too bad. Then, I added in a code so that when clicked, it would give an intro.

Intro


Then, I made a new sprite (edited the costume and then typed in the words “click me to start”) so that it would be easier to understand. Then I added in  a few codes for it:

Click me to start codes

The end result is this:

Intro Final Image

  • Ending – After all of this, I decided to make the game more related to the band. I decided to make it so that if the player finished the game, he would be brought into a concert-like scene.

Ending (this code was placed in the stage)

Then, I made dialogue.

Dialogue

Then, I made it so that once they won, a song (the same song used for our music video), would play(I have to admit, a friend came up with this idea. I’m just using it because he allowed me to).

Script for the playing of the song

Improvements:
distance from home – I was working on this, but wasn’t able to complete it before I had to submit the project.Basically, it’s a measure of how much further it is until you reach the fiish line. 

Distance from home

I was not able to finish it. If I had more time, I would try to complete this.

Also, I realize that the game is actually just jumping and avoiding simple obstacles that come in your path. If I had more time, I would have designed moving objects, (e.g. I would make the bee move around). Also, I may add platforms and other things like that to spice up the game. (e.g. designing my own stage, like the robot game) and adding in other features like a countdown and a crouch feature. I would also have tried to fix the overlapping glitch on the left end of the screen. Also, there is one more glitch. If at the start, you jump without clicking the introduction sprite and waiting for it to disappear, you will be suspended in the air. I tried to remedy this by adding in bees, so the player would eventually have to jump down, but I was not able to fully fix the problem.
Overall, I think I did an okay job. My game may not be as fun as other people’s, but I think I was able to think more in terms of programming by designing this type of game (instead of just simply modifying and creating a different version of the fish game).

Posted in Project 5 - Scratch Programming, Projects, What I Did Today | Leave a comment

Project 5 (Scratch Programming) – Week 1 (Day 2), – Planning a Game

<LATE POST> – posted a day after. Actual day is April 20

Our second session was spent planning a new game. We took a look at some of the different examples of games provided by our teacher, and had to think of ways to use it.

After browsing through most of the games, I eventually decided that I wanted to create  some sort of a side-scrolling game (a bit similar to Super Mario Bros.)

I found two games that I quite liked from the examples, but I will only talk about one ( as it is the most similar, and the second one is similar to this game too, so there is no point in mentioning the second game)

  • RobotRun – This was the game I most wanted to simulate. It’s a lot like super mario bros (a side-scroller). You control the player, and move him around with the arrow keys, and he jumps with the space bar). The object of the game is to get to the end  while collecting “fuel” for the robot (although, there technically wasn’t an end, so maybe it was just to collect fuel) and avoiding the red-colored obstacles (I’m assuming they’re something akin to lava). I haven’t yet really started looking into the technical aspects (how the RobotRun game was created/what were the scripts used) of the game, as I was just trying to come up with a game idea today.  However, I did take note of some of the special things in the things in the program.
There were quite a lot of glitches in the program. One of them was the fact that if you continuously pressed the space button, you would keep rising (basically, you wouldn’t fall).

Robot Glitch

I plan to correct these.

Story of my game:

A band member left his guitar back at home. The player has to control him and avoid obstacles throughout the stage to reach the end so that the band member can get his guitar to play at the concert (which is “supposedly” later tonight).

I have scanned a picture of my (basic) storyboard:

Game Plan (please excuse the pathetic drawings)

So that’s basically my plan for now. I have to start looking at how it was designed in the coming days.

 

Posted in Project 5 - Scratch Programming, Projects, What I Did Today | Leave a comment

Project 5 (Scratch Programming) – Week 1 (Day 1), – Duplicating a Sample Game

So today was the start of our new project. We delved into the world of Scratch Programming. Basically, it’s a program for making games and stuff like that.

It uses blocks with words on them, like this:

Outlook of scratch blocks

There are a list of different blocks that you connect to each other to create “scripts” for an object (basically, these are commands that you use to program the different parts of scratch, like stages, sprites [or characters] etc.).

In my opinion, this makes Scratch a lot easier to work with (the words on it are sometimes really simple, and already tell you what its function is).

Basically, our task today was to follow a set of instructions to duplicate a simple game of a shark chasing yellow fish (and gaining points after eating them), while avoiding the red fish (which causes you to lose points after eating them).

Here’s a list of some of the main programming we had to do for the game:

  • we had to program the shark sprite to follow the cursor
  • we had to make it so that the yellow and red fish would spawn (appear) randomly at different areas of the side of the screen, and they had to re-spawn randomly
  • we had to program the shark to change color and change into a costume (a different look) when it touched the yellow fish, and turn a different color and costume when it touched a red fish (basically, we had to change its appearance)
  • we had to program the two fishes to disappear after being “eaten” (after touching) the shark
  • we had to program the game to keep track of a score (caused by eating the fish)

So here is a list of different concepts in Scratch. I may add to the original explanation to simplify/suit the game’s explanation, or just to show my own interpretation, which may not be simpler (my additions will be shown in italics and bold, so as to be able to differentiate the two explanations). I will also add in a screen shot of an example (the following table has been copied off a document). Some of these concepts may not have been used in the fish game, but I will still attempt to explain them in my own way (they will retain their original example screen shots).

Concept

Explanation

Example

sequence To create a program in Scratch, you need to think systematically about the order of steps.This is basically what it means, a sequence. When you are making scripts, you have to be careful about the order of the blocks, as they will be important in how an object is programmed. A sequence is basically a list of blocks stacked in a certain order for something specific to happen.  I’m not too sure if there were any sequences in the fish game (because I think a lot of the orders of certain scripts were interchangeable). So as I don’t think it was used/I do not want to to not run the risk of giving a wrong example, I will retain the original example.

Sequence example

So for this example, the sequence is in a certain order for the script to work appropriately. When the space key is pressed, the sprite will go to the coordinates x=-100 and y=-100. After that, it will glide for 2 seconds to the coordinates stated, and then it will say let the show begin for 2 seconds, and then a fanfare sound will play. It can’t very well play the sound first, and then say the let the show begin, and then glide. This is why the order is important.

iteration(looping) forever and repeatcan be used for iteration (repeating a series of instructions)This is basically a script used to make something happen repeatedly, or to make something happen without an end.

Repeat and Forever

In this example, repeat is used to create the blinking effect of the shark when it eats the fish. The color and look of the shark is changed repeatedly to create animation.

The forever is used so that the shark will always follow the mouse pointer.

conditional statements if and if-elsecheck for a condition.This reminds me a lot of our excel project. It’s basically what its literal meaning is. “If” means if a requirement is filled, then something will happen (you can set what that something is). “If else” is basically the same as if, but there’s an else. The else means that if the requirement of if is not fulfilled, then something will happen.

If and If-else

The above example as used for the movement of the yellow fish. It means that if the requirement of if was fulfilled, then the sprite would go the the coordinates stated in the blue blocks. Else means that if “If” was not fulfilled then the coordinates in the blue blocks below else would be applied to the fish.

variables The Variables category allows you to create a new variable and use it in a program.Scratch supports both global and object-specific variables.This is basically something that you can set for different purposes. It is basically, a variable. It can change depending on what you set for it. It can be used to calculate in-game scores, distances, etc.

Variables

So for the fish game, a variable (which was named score, for the purpose of, obviously, keeping track of the score) would be set to 0 at the start of the game. Then (as seen by the screen shot above), if the yellow fish touched the shark, it would change the score by 1 (meaning you would get one point). THis way, you could keep scoring and be able to tally it up.

threads
(parallel execution)
Launching two stacks at the same time creates two independent threads that execute in parallel.I’m not quite sure how this is that different from normal scripts to the point that it earns a separate term, but the best I can figure is this means when you have two scripts that are executed at the same time.  I’m not too sure if there were any threads in the fish game (as all of the scripts were mostly in one set, with the exception of different scripts for different broadcasts). So as I don’t think it was used/I do not want to to not run the risk of giving a wrong example, I will retain the original example.ThreadsSo in the example above, when the green flag (the start button, essentially) is clicked, both of the scripts will be executed at the same time.
synchronization broadcast can coordinate the actions of multiple sprites.This was really useful. Basically, it sends out a signal to the program, and then depending on the signal, you set sprites and stages to react in different ways.

Broadcast

Basically, as explained above, it “broadcasts” a message to the program and you can set multiple things to react differently based on the signal being broadcast.

real-time interaction mouse_x, mouse_y, and loudness can be used as dynamic input for real-time interactionI think this is just basically when you set things to happen constantly. Not sure how to classify this.  I’m not too sure if there were any real time interactions (unless you count the shark  moving) in the fish game, so as I don’t think it was used/I do not want to to not run the risk of giving a wrong example, I will retain the original example.

Real time interaction

So this is basically a script for the loudness to be set at 4% throughout the game. It’s used for things like loudness. Still not really sure how t explain it.

boolean logic and, or, notare examples of boolean logic.This basically is used when you want to make something happen for more than one thing (e.g adding a requirement for IFS) (or, and), or if you want to to say if something is not fulfilled (not sure about boolean logic, truthfully. Haven’t used it).  I don’t think there was any boolean logic in the fish game, as I didn’t use any of the and, or, or notoperator blocks. So as I don’t think it was used/I do not want to to not run the risk of giving a wrong example, I will retain the original example.

Boolean Logic

So this basically means that only if both requirements are fulfilled (the sprite is touching that color, and the x coordinates of the sprite are 200), will the program play the sound “music” and change the score by 1.

random numbers The pick randomblock selects random integers within a given range.This basically is a block that will set the program to pick random numbers (from a set of numbers given). This is done to make the game more unpredictable and make it seem more like a game. Refer to example —>

Random Numbers

This was used to make the movement of the fish random and unexpected. In the example above, the script basically means:

go to x -240 y: pick random -190 to 190 – when it says x and y, it is referring to the coordinates (as in things like the x  and y axis), so it means that the sprite will appear on the left edge of the screen, and will appear randomly in the y axis (basically the vertical coordinates at which it spawns will be random) between the coordinates -190 and 190 (top to bottom).

event handling when key pressed and when sprite clicked are examples of event handling – responding to events triggered by the user or another part of the programThis is basically when a user or another part of the program executes something, and you can format certain things to react based on what was executed,   I’ll use the original example, just in case:

Event Handling

This basically means that if the left arrow key was pressed, then the sprite would point in the direction of -90 and bove 10 steps that way.

user interface design You can design interactive user interfaces in Scratch – for example, using clickable sprites to create buttons.This is basically programming a sprite to interact with the user. For example, by making it clickable and making something happen after clicking it. It’s similar to event handling.  I don’t think I used this for the fish game, so I’ll just use the original example:This example basically programs the sprite so that when it is clicked, the look (brightness) of the sprite changes, and a sound plays.

So that’s about my understanding of it. That was a fairly annoying table. Anyway, next lesson I start with planning and creating the project.

<UPDATE>

When I checked my blog, I found out that part of the table was cut off due to it being to large. After more than half an hour of trying to fix this, I finally had to change my theme (previously the notepad) into the current one so that the table will fit. From now on, there shouldn’t be any problems with formatting and the fitting of posts/images.

Posted in Project 5 - Scratch Programming, Projects, What I Did Today | Leave a comment

Recap of My Contributions

As a requirement of our project, I will be recapping and explaining (hopefully more clearer than before), what I have contributed to the project (I will also mention what my partner did, so that it’ll make more sense).

Story Board: 

I was mainly in charge of

  • planning of the effects and transitions of the video – I mostly added and planned what would the transitions and effects be, and how we would incorporate it into the video.

Effects and Transitions

  • clip span – I was generally the one who timed the different scenes, how long each scene would last, how the transitions would last affect the clips.

Something Like This

If you go online and check the google docs presentation, you can see the revision history, but I don’t recommend doing that (you should just view the storyboard ppt), as even though we did do most of the stuff, several times, we put in each other’s work for each other (to make it less time consuming). We would tell each other what to write.

Editing:

  • Synchronization of the whole video – Basically, after Gordon handed to me the arranged and useful footage, I started syncing the footage to song (e.g. our lip singing), so that it would look in time with our video. I also made sure the extra footage we took (that was not lip singing) was playing in the correct parts of the video (constantly had to readjust videos’ length span, even to the point of a 0.1 second difference). You can find more detail and screen shots of this in my previous post. For this part, you can pretty much disregard the division of the video, as I practically synced the whole thing (lip singing, timing of appearance of videos, etc.)
  • Effects and transitions of (00:00-00:12), and (00:57-01:32, the end of the video) –  I added in effects like fade to black, I changed the color of the video, fast-forwarded (in the first part, car scene), and slow-motioned (last part, ending before the credits). I also added the credits.
  • Final Revision – Once we had all done our parts, I was the one who (since I was the one who had iMovie), went through the whole thing and double-checked it, polishing and refining little bits that may have stuck out. I basically made sure it was ready for final submission.
We added in quite a few new scenes, but most of the new scenes were thought of completely together.

Keep in mind that even though we had different parts (and we did mostly stick to our assigned jobs), we did dabble a bit in each other’s tasks to help each other out. This was a guideline. Yes, we followed it, and we did mostly do only our jobs, but there were some instances where we did each other’s parts (the only exception is the effects and transitions of the video. The time slot stated above is pretty accurate of all the separate editing we did on the transitions and effects).

Problems:

If I really had to choose, I’d say our main difficulty as a pair was the storyboarding. It was pretty hard for use to brainstorm ideas, and we always kept changing. Plus, without actually editing it, we weren’t sure if what we put into the storyboard was do-able in editing. We were always pretty hesitant, so this was what really wasted our time. It even affected our filming, as we had to keep changing our filming too.

Also, due to the limited capabilities of iMovie, often, we would have to think of creative ways to get in our effects. For example, there was one bit where we wanted to make a clip blink and shake (like an old radio), but were unable to find this sort of effect in iMovie, so we just settled for consecutive flashes.

For my personal problems, I have used iMovie before, so it wasn’t too hard for me to edit. Planing effects in the storyboard wasn’t too hard, as I already had a vague plan of effects and transitions when we started the video. They only problem was that we couldn’t think of scenes, so I couldn’t really add in anything until we did. The length span of scenes wasn’t too hard, because as soon as we were able to think up a scene, I would usually sort of know where in the song I wanted this to show (We listened to the song several times to familiarize ourselves with the different parts). I guess my main problem was the syncing of videos, as there was a problem I encountered, where the length span of clips wouldn’t change sometime (Explained in my previous post), and this took me quite a lot of time, because sometimes it was also really hard for me to get the timing right.

Evaluation:

I was vaguely familiar with iMovie before (as I have used it a few times, maybe 3-4), but I never used it to the extent that I did today. I’d say that we were able to come up with a pretty decent video, despite the lacking features and capabilities of iMovie compared to other Softwares like Sony Vegas. We spent more than 6 hours editing the video (maybe even 8-10), so I think we put a considerable amount of effort into it (Although, it isn’t THAT good, and the long editing may have just been due to our inexperience in editing. We often had to work overtime at our own free time for long periods). Overall, I think we did a pretty good job.

Posted in Project 4 - Music Video Project, Projects | Leave a comment