Wednesday, 26 February 2014

26 February 2014 Production Diary

Today is our Live Exhibition for our installation. I have checked the game code again and done some final amendment before the exhibition start.

When I projected the game on the screens, I found out that the the animation on the screen appear lag and got some black line within the animation. I check again in my laptop and there is no problem in the laptop, so I think the problem is caused by the projectors.

After the live exhibition, I have received some useful feedbacks from the users. One of them said that in her opinion, the instructions' animation are too fast. She suggest that the animation should stop at certain time to let users read the instruction before proceed to another animation. In addition, they have mentioned that the start page slide show should have numbers to indicate sequence of the pages.

About the game mechanism, they think that the speed increase of main character after each successful laps is too sudden, they suggested that lower the increased speed so that users can follow the main character's speed. One of the also suggest me to add reward system inside the game so that users can get back something as their return of investment for spending time on our games.

Basically these are the feedbacks I have received from the users. They are useful for me to create a more interactive and intuitive games in the future.

Tuesday, 25 February 2014

25 February 2014 Production Diary

Yeah, finally everything is done. I able to make the game restart again after checking through what I have added and changed during the gameplay and set them back to the default value.

However, my group-mates add a very difficult task to me, make the character become invincible after getting soda drinks. This is quite a troublesome task, but after spending one day time, I manage to solve it also. Quite proud of myself.

After completely finish the game mechanism, the only things left is continue adding addition sound effects. Looking forward for our live exhibition tomorrow.

Wednesday, 19 February 2014

19 February 2014 Production Diary

I still unable to find solution for controlling the volume of the sound effects, so I just adjust the sound volume in Adobe Audition before linking them to Adobe Flash file.

At first, I unable to add sound for hitting obstacle, because hitTestObject is a boolean that only return result true or false, so as long as the result is true, the sound for hitting obstacle will keep looping, and error will appear. To solve this problem, I try to use the SOUND_COMPLETE listener function in Adobe Flash combine with another boolean to check whether the sound is played or not to control the sound looping, and fortunately, I manage to solve the problem.

However, there are much more things that need to be improved. After the beta testing today, I receive feedbacks from my lecturers that I should change the score elements into something more meaningful, such as how many minutes or how many meter the players have run, as our game mainly focus on exercise. In addition, I still need to make the game able to restart after playing, so that I do not have to publish again every time an user have try the game.

These are what I done so far, just a little tweak and the game will be complete, keep going!

Tuesday, 18 February 2014

18 February 2014 Production Diary

After revising the code again and again, I finally able to make character become Invincible for 3 second after hit by the enemy.

In addition, to make the interface cleaner, I make all objects in the array invisible and only visible once they are called to the stage.

About the game mechanism, I have make character's life decreasing after hit by enemy. The score will generate once the character start running and will be update per second. I also able to end the game once the character hit 3 times by the enemy and show the game over scene with final score.

After finished the game mechanism, I have done some amendment on the game structure. I also started to add animation and sound effect into the game.

Another new problem appear when I added sound effects into the game...(sigh) I cannot control the volume of the sound. I think is because I using the external linking method to play the sound effects, so Flash unble to control the volume of the sound. Another alternative method is to adjust the volume of the sound in Adobe Audition before linking them to Flash file.

References:

How?, A. 2013. actionscript 3 - AS3 making an array invisible!? how? - Stack Overflow. [online] Available at: http://stackoverflow.com/questions/10860208/as3-making-an-array-invisible-how [Accessed: 18 Feb 2014].

Monday, 17 February 2014

17 February 2014 Production Diary

After doing some test and errors, I finally able to hitTestObject when using YiWei method by using another array to store the collision object. I also able to add enemy into the stage with basic AI and make character pop forward when hit by enemy.

But, there is another new problem, I unable to make character become invincible for certain period of time after hit by enemy.

It's so tiring...when you have solved a problem, a new problem pop out, like never ending loops...

Sunday, 16 February 2014

16 February 2014 Production Diary

Finally, I able to randomly select object from the object Array to move to specific location and remove the selected object from the Array so that it won't be selected again, with the help of my AS3 coding idol, YiWei.

I also able to select random frame within a movie clip and add it to the stage.

To prevent repeating jump to avoid slow down when hit the obstacles, I have make the character unable to jump again when hit the obstacles.

However, if using the method suggested by YiWei, the hitTestObject function do not work because I am using the object Array to check the collision, when the selected object move the specific location and removed from the array, the hitTestObject function can not work on the selected object again as it already removed from the array.

References:


Republicofcode.com. 2009. AS3: Arrays. [online] Available at: http://www.republicofcode.com/tutorials/flash/as3arrays/ [Accessed: 16 Feb 2014].
Yanez, C. 2010. Quick Tip: Get a Random Number Within a Specified Range Using AS3 - Tuts+ Code Tutorial. [online] Available at: http://code.tutsplus.com/tutorials/quick-tip-get-a-random-number-within-a-specified-range-using-as3--active-3142 [Accessed: 16 Feb 2014].

Saturday, 15 February 2014

15 February 2014 Production Diary

Still unable to make repeated clickable button in Resolume. In addition, the Resolume in my computer suddenly crash when playing flash files. I have downloaded another new version of Resolume and the problem still occur.

So I think the only choice for me is to move to Plan B, with is just using two projectors project onto two flat surfaces, and abandon projection mapping on 4 surfaces.

Friday, 14 February 2014

14 February 2014 Production Diary

Today, I able to make the character hitTestObject multiple objects with the help from with the help of my AS3 coding idol, YiWei. However, the auto added obstacles sometime will overlap with each other. To overcome this problem, YiWei suggest me to manually arrange all the obstacles below the stage and then randomly call one of them move to specific location after each successful lap. By using this method, I can prevent the obstacles overlapping with each other.

I also found the way to click the button in the Resolume, but the button can click on time only. YiWei is not familiar with Resolume, but he give suggestion that I need to add another listener for mouse up event. Resolume is a new software to me, so I think I need more time to explore it.

Wednesday, 12 February 2014

12 February 2014 Production Diary

Today, I finally able to automatically add obstacles after every successful lap with the help of one of the lecturers, Jam. I also learn the proper way to link multiple AS3 external classes after I discuss with my group-mates. At this moment, I realize that when a AS3 file is divided into too many external classes, it is  very hard to link them together, and make me very confuse when linking them. In order to overcome this problem, I have no choice but to redo the structure of entire game.

At his point of process, I found out that although I can add obstacles automatically, I unable to make the character hitTestObject multiple obstacles. Another big problem I have faced is Resolume can play .swf file, but cannot assess the button in the .swf file. After I checked the Resolume manual, I discover that I actually can interact with button in .swf, but haven't found the solution yet.

Before we end our class today, my logistic leader suggest us to switch to 2 sided screen if cannot do the projection mapping. My group-mates give me several days to explore on the Resolume, but if I cannot found the solution, I need to tell them earlier, so that we can switch to plan B as fast as possible.

Tuesday, 11 February 2014

11 February 2014 Production Diary

I have basically finished the basic game mechanism last week, so this week I mainly focus on game level design. I manage to make the main character go back to starting point after reaching the end of background and  increase his speed after every successful lap, to increase the difficulties of the game.

However, there are several problem that I have faced. Currently, I added the obstacles manually, but this method is not recommended as I do not know how many laps can a user run. It's time for me to look for dynamic way of adding obstacles, which is automatically adding obstacles after every successful lap. In addition, the character jumping still have some bug. The landing position of the character is not accurate. Another problem I have faced is linking multiple external AS3 classes.

Last but not least, I have some opinion that struck into my mind when doing the coding. I think that when the main character hit obstacle, he should not be stopped, instead just reduce the current speed, so the game mechanism will be more logic. I also think that when character jumping, his speed should become half of his current speed, but this idea was rejected by my group-mates after doing the testing, because the game become too hard to play. Finally, I think of the power of enemy to be invincible so that his speed will not reduce when hit the obstacles, and continue chasing the main character.

References:

Asgamer.com. 2009. AS3 Flash Games for Beginners: Level Mechanics and Animated Backgrounds | Flash Game Development Tutorials - As Gamer. [online] Available at: http://asgamer.com/2009/as3-flash-games-for-beginners-level-mechanics-and-animated-backgrounds [Accessed: 11 Feb 2014].
Asgamer.com. 2009. Learn How to Make Enemies with AI!!! AS3 | Flash Game Development Tutorials - As Gamer. [online] Available at: http://asgamer.com/2009/as3-flash-games-for-beginners-how-to-make-enemies-with-basic-ai [Accessed: 11 Feb 2014].

Wednesday, 5 February 2014

5 February 2014 Production Diary

This few days I have started to code our installation side-scrolling game in Adobe Flash with the help of online tutorials:

From these tutorials, I learnt how to create side-scrolling game by moving the background. I also able to make the collision test for the character so that it will stop when hit by obstacles. Last but not least, I also able to make the character jump over the obstacle after clicking the mouse.

However, after the alpha test today, I only realized that because we going to project our game onto a box, the background of the game should not be moving, instead is the character that should be moving. To overcome this problem, I found an easy method which is switching the codes of background and the character. 

I also advised by my lecturers to pay attention on level design and put health and score elements on 4 surface so that players can notice them easily.