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.

Wednesday, 29 January 2014

29 January 2014 Production Diary

It's a painful and tiring day today. Today I need to confirm whether continue to explore web socket, which one of our lecturer think that it's a very back end software which is impossible to be learnt in few weeks time, or switch to Adobe Flash which is the software I am more familiar with...

These few days, my researches about HTML5 and web socket never stop:

It's disappointed to say, but I do not have the confident to learn web socket. In the end, I decided to do the game in Adobe Flash, with simple mouse click interaction. 

For the projection mapping, with the software introduce by my lecturer last semester which is Resolume, I manage to find some information about what it can do:

Fortunately, I manage to do simple projection mapping on 3D background with Resolume today before we end our class. The result was quite impressive, and this give me encouragement to continue the project.

References:

Bart Van Der Ploeg, E. D. K. 2012. Resolume VJ Software - Resolume 4 Avenue & Arena Features. [online] Available at: http://resolume.com/software/index.php?qc [Accessed: 29 Jan 2014].
Blendy. 2012. Blendy. [online] Available at: http://www.blendy.in/ [Accessed: 29 Jan 2014].
Html5gamedevelopment.com. 2013. HTML5 Game Dev Tutorials. [online] Available at: http://www.html5gamedevelopment.com/html5-game-tutorials [Accessed: 29 Jan 2014].
Kaazing Developer Network. n.d. How to use WebSocket to add a mobile joystick. [online] Available at: http://developer.kaazing.com/how-to-use-websocket-to-add-a-mobile-joystick/ [Accessed: 27 Jan 2014].
Moskovits, P. 2012. The Simplest Way to Use Your Smartphone as a Game Controller: A WebSocket Race Car Demo. [online] Available at: http://blog.kaazing.com/2012/01/26/the-simplest-way-to-use-your-smartphone-as-a-game-controller-a-websocket-race-car-demo/ [Accessed: 27 Jan 2014].
Paulbourke.net. 2011. Edge blending using commodity projectors. [online] Available at: http://paulbourke.net/texture_colour/edgeblend/ [Accessed: 29 Jan 2014].
Resolume.com. 2013. Output Setup - Resolume 4 Avenue & Arena Manual. [online] Available at: http://resolume.com/manual/en/r4/output [Accessed: 29 Jan 2014].
YouTube. 2012. Projection Mapping Tutorial - Resolume Arena 4. [online] Available at: http://youtu.be/SauJLNhnWNQ [Accessed: 29 Jan 2014].
YouTube. 2013. Blendy VJ Tutorial 2: Resoume Arena. [online] Available at: http://youtu.be/xNu72ZyhdUU [Accessed: 29 Jan 2014].

Thursday, 23 January 2014

23 January 2014 Production Diary

We decided to do a virtual side-scrolling game in real world experience. At first, I thought we will using Adobe Flash to create the game, so I have looked for tutorial about making side-scrolling game in Adobe Flash:

However, I have no idea how flash going to link with projection mapping software. Referring to the software recommended by my lecturer, which are MadMapper and Syphone, I discovered that both software only available in MAC version:

Although I able to find the window version of Syphone, which name Wyphon, but it still not stable and not easy to learn:

In addition, my group plan to let users control game characters using mobile devices, so I need to look for software that able to link mobile devices to the game. One of the option available is web socket:

One of my group mates actually suggested me to refer to multi-player online game created by google, Chrome Super Sync Sports:

All these software are totally new language to me. I don't have the confident to learn them all. Moreover, I still need some time to digest all the information I have found about side-scrolling game:

It's definitely not easy to be a good technical leader...

References:

Chrome Super Sync Sports. 2013. Chrome Super Sync Sports. [online] Available at: http://chrome.com/supersyncsports/#/en-US/about [Accessed: 23 Jan 2014].
Giantbomb.com. 2013. Side-Scrolling Games - Giant Bomb. [online] Available at: http://www.giantbomb.com/side-scrolling/3015-299/games/ [Accessed: 23 Jan 2014].
Madmapper.com. 2003. MadMapper | The Video Mapping Software. [online] Available at: http://www.madmapper.com/ [Accessed: 23 Jan 2014].
Makeflashgames.com. 2010. Flash Side Scroller Tutorial. [online] Available at: http://www.makeflashgames.com/tutorials/tut4.php [Accessed: 23 Jan 2014].
Miniclip. 2010. Gravity Guy - A free Action Game. [online] Available at: http://www.miniclip.com/games/gravity-guy/en/ [Accessed: 23 Jan 2014].
Softwaresolution.informer.com. n.p. Free Side-Scrolling Game Downloads - Free Side-Scrolling Game Software. [online] Available at: http://softwaresolution.informer.com/Free-Side--Scrolling-Game/ [Accessed: 23 Jan 2014].
Syphon.v002.info. 2010. Syphon. [online] Available at: http://syphon.v002.info/ [Accessed: 23 Jan 2014].
Websocket.org. 2010. WebSocket.org | Demos. [online] Available at: http://www.websocket.org/demos.html [Accessed: 23 Jan 2014].
Wyphon. 2013. Wyphon. [online] Available at: http://wyphon.wordpress.com/ [Accessed: 23 Jan 2014].
YouTube. 2012. Scott Pilgrim vs. The World: The Game - Episode 01. [online] Available at: http://youtu.be/wp3cOJqhwns [Accessed: 23 Jan 2014].
YouTube. 2008. Castle Crashers Gameplay. [online] Available at: http://youtu.be/HhPHRm-kJ5w [Accessed: 23 Jan 2014].

Wednesday, 22 January 2014

22 January 2014 Production Diary

There is a huge change to our project today. We unable to convince our lecturers with our idea, end up our idea being rejected by our lecturers.

Jazmi, our lecturer, suggested us to try a experimental installation about creating virtual game in real world experience. It is a new topic to me, although it sound interesting.

So, in the end, I need to do another research on the new ideas...

Friday, 17 January 2014

17 January 2014 Production Diary

We have an online meeting today. We discuss about our contents and also interaction of our game. As the technical leader of the group, I focus more on the interaction research and here are some examples I have found from Kinect games:

Most of the researches I have found are from a game called "Kinect Adventure", a game that inspire me with different kinds of interesting kinect interaction.

References:

YouTube. 2010. Kinect Adventures: 20000 Leaks. [online] Available at: http://www.youtube.com/watch?v=E_Vg8f06wfM [Accessed: 17 Jan 2014].
YouTube. 2011. Tour Through Kinect Games: Episode 1: Kinect Adventures. [online] Available at: http://www.youtube.com/watch?v=Z6pwkYf9xz0 [Accessed: 17 Jan 2014].

Wednesday, 15 January 2014

15 January 2014 Production Diary

Today is the presentation day. We need to present our idea to our peers and lecturers. From the feedbacks given by the peers and lecturers, I found out there are several things I should consider as a technical leader:

1. What motivates people to play again? How to make it as repetitive experience?
2. Enhance that interactivity, try to create interaction that unable to perform with mouse and keyboard.
3. What should I do if the users stop playing in the middle of the game?

After our presentation, I suggested to my group that in order to create repetitive playing experience, we can make the the game more competitive by inserting high-score elements, where users can compete their high-score after they play the game. 

Before we end our class today, we manage to have another consultation with Jazmi, our lecturer and here are the suggestion he gave us:
  • motion gesture is best fit for balance & accuracy
  • Speed is not recommended for motion tracking because it requires high ram to load the animation and might cause some technical problem occured.
  • we either choose towards adventure game or casual game
  • insert more actitivties in our solution part sort of like ' detective game' 

Monday, 13 January 2014

13 January 2014 Production Diary

I have done my part of technical specification today. From my lecturer's information, I do researches on another 2 kinect and projection mapping software, which are NIMate and Synapse.


I found out that NIMate can be used in our project production, but on with free trial license, because the commercial license is too expensive for students like us.

About the Synapse, after I looked through the software introduction, I found out that we may unable to use it: There’s some newer Kinect hardware out there, “Kinect for Windows”. This hardware is slightly different, and doesn’t work with Synapse. Be careful when purchasing, Synapse only supports “Kinect for Xbox”.

References:

Ni-mate.com. 2012. NI mate: The Kinect Motion Capture and Sound Control Software. [online] Available at: http://www.ni-mate.com/ [Accessed: 13 Jan 2014].
Openni.org. 2012. NI mate | OpenNI. [online] Available at: http://www.openni.org/files/ni-mate/ [Accessed: 13 Jan 2014].
Synapsekinect.tumblr.com. 2011. Synapse for Kinect. [online] Available at: http://synapsekinect.tumblr.com/ [Accessed: 13 Jan 2014].
YouTube. 2012. The Kinetic Bunny ("What is NI mate?" feat. Big Buck Bunny). [online] Available at: http://youtu.be/wNSMgX5t1RQ [Accessed: 13 Jan 2014].

Monday, 6 January 2014

6 January 2014 Production Diary

Today we have a face to face meeting after our class. We discuss about technical specification and stage design. We also need to finished the proposal before Wednesday.

I have found some references that I think is useful to our group project:

In addition, I also need to start finding tutorials on Kinect programming as my group decided to use Kinect to perform the interaction:

In addition, because one of my group mates suggest me to use Adobe After Effect to link to Kinect to create the interactive installation, I also spent some time to look for resources about this concept:

Arr...such a tiring day...

References:

Eurogamer.net. 2013. Xbox One's Kinect code-scanning is lightning-fast. [online] Available at: http://www.eurogamer.net/articles/2013-11-07-xbox-ones-kinect-code-scanning-is-lightning-fast [Accessed: 6 Jan 2014].
GitHub. n.d. OpenKinect/libfreenect. [online] Available at: https://github.com/OpenKinect/libfreenect/blob/master/wrappers/actionscript/org/as3kinect/as3kinectWrapper.as [Accessed: 6 Jan 2014].
GitHub. 2012. avin2/SensorKinect. [online] Available at: https://github.com/avin2/SensorKinect [Accessed: 6 Jan 2014].
Howell, S. 2011. Scratch and Kinect. [online] Available at: http://vimeo.com/18562642 [Accessed: 6 Jan 2014].
IGN. 2013. Testing Xbox One Kinect's QR Code Reader - IGN Video. [online] Available at: http://www.ign.com/videos/2013/11/20/testing-xbox-one-kinects-qr-code-reader [Accessed: 6 Jan 2014].
Luckylarry.co.uk. 2012. Creating a simple Flash app with Kinect. [online] Available at: http://luckylarry.co.uk/programming-tutorials/creating-a-simple-flash-app-with-kinect/ [Accessed: 6 Jan 2014].
Microsoft.com. 2013. Start. [online] Available at: http://www.microsoft.com/en-us/kinectforwindowsdev/start.aspx [Accessed: 6 Jan 2014].
Openni.org. 2012. NiTE 2.2.0.11 | OpenNI. [online] Available at: http://www.openni.org/files/nite/ [Accessed: 6 Jan 2014].
PrimeSense. 2002. 3D Sensing Technology Solutions - PrimeSense. [online] Available at: http://www.primesense.com/ [Accessed: 6 Jan 2014].
Rhuno.com. 2011. » Blog Archive » Tutorial: Kinect to Flash. [online] Available at: http://rhuno.com/flashblog/2011/07/02/tutorial-kinect-to-flash/ [Accessed: 6 Jan 2014].
Scratch.saorog.com. 2011. Kinect2Scratch 2.5. [online] Available at: http://scratch.saorog.com/ [Accessed: 6 Jan 2014].
Slideshare.net. 2013. Kinect for flash新手上路. [online] Available at: http://www.slideshare.net/sayaku/kinect-for-flash [Accessed: 6 Jan 2014].
Team, T. 2011. - 3D Scan 2.0. [online] Available at: http://vr.tu-freiberg.de/scivi/ [Accessed: 6 Jan 2014].
Vimeo. 2011. Flash Kinect Demo. [online] Available at: http://vimeo.com/18645886 [Accessed: 6 Jan 2014].
YouTube. 2013. Virtual Reality-Creative Idea for Consumers' Interaction. [online] Available at: http://youtu.be/dwCCD6cgp94 [Accessed: 6 Jan 2014].
YouTube. 2010. Cadbury world - Interactive Installations. [online] Available at: http://youtu.be/RsHOPvGpqDM [Accessed: 6 Jan 2014].
YouTube. 2012. "Love Your Eyes" - An Interactive Installation. [online] Available at: http://youtu.be/93rRrTpwwPw [Accessed: 6 Jan 2014].
YouTube. 2012. "Love Your Eyes" Interactive Campaign. [online] Available at: http://youtu.be/_IHKsn2zpGM [Accessed: 6 Jan 2014].
YouTube. 2009. Interactive Window Projection - Interactive Store Diesel. [online] Available at: http://youtu.be/YnusWcttUp0 [Accessed: 6 Jan 2014].
YouTube. 2011. 3D scan 2.0. [online] Available at: http://youtu.be/VTsAudLo-ws [Accessed: 6 Jan 2014].
YouTube. 2013. Scanning a QR Code with Kinect on Xbox One. [online] Available at: http://youtu.be/So5iK2Y7_BE [Accessed: 6 Jan 2014].
YouTube. 2012. Introducing KinectToPin. [online] Available at: http://youtu.be/VWNhwSNazDE [Accessed: 6 Jan 2014].