Sunday, 17 April 2016

NTC Technopreneurship Programme 31 March 2016

Content:

- Self introduction by speaker

- Learning from Success and Failure

- What is entrepreneurship?

Process:

It was the first lesson of the programme, which would last for a term. It was our first time meeting the speaker, Mr Roderick Chia. He first started with a self-introduction, which impressed me alot. Mr Roderick Chia is an extremely successful man by many means, having come from a humble background to winning a total of 5 Tan Kah Kee Young Inventors' Awards. I could not wait to learn from this man and had many burning questions in my mind. How did he get the innovation to create solutions? How did he find support and means to work on his projects? How did his successes work out? I was determined to get into the mind of such a prestiged speaker and to learn from his experiences.

Learning from success and failure

The first lesson he taught us was: Not all problems are worth solving. Mr Chia explained that in his many successes, most in fact turned out to be failures in their own different ways. I was perplexed by this statement but not long after, I was able to understand where he was coming from.
Is there a diminishing need for solution?
Many problems exist today. However, some of the problems might no longer exist in the near future due to the improvements in technology. Improvements in technology can alter our lifestyles and cause some current goods or habits to be redundant and out of date. The solutions to such problems will soon be redundant just as the problems are, and your success will not make an impact. A personal example of Mr Chia was when he created an ellipse compass. Soon enough, there was no more need for an ellipse compass due to the increasing prevalence of computers, and Mr Chia's invention became redundant as well.

The second lesson he taught us: Do you have the ability to bring the solution to the market? An invention would turn out to make little impact on the lives of people if it could not be brought to the market, even if it is extremely useful and revolutionary. When creating an item, we should not only focus on the product, but on the ultimate end in mind: bringing it to most people to impact lives. Hence, not only should we create a working product, we must create one that is simple to manufacture and can be reproduced on a large scale to increase accessibility to people. If our product cannot play a part in the peoples' lives and are just hidden in a workshop, where is the success in our product?

The third lesson: Would the anticipated problem ultimately surface? Thinking back to the first lesson, many of us would try to predict future problems and create solutions, to avoid creating redundant solutions with diminishing need. So did Mr Chia, but Mr Chia met yet another failure. The anticipated problem did not surface and hence his invention was also redundant again.

When trying to innovate and create solutions, we should always think back to the three lessons above to ensure that we are on the right track. But how do we identify a problem worth solving?

We need to:

Understand our strengths and weaknesses
We have to understand our strengths and weaknesses before we start a project. This is to prevent us from embarking on a project we are unable to complete, which will take up our time pointlessly. It will also allow us to understand our capabilities so we can successfully embark on a project we can complete. Understanding our strengths and weaknesses can allow us to work on our weaknesses and improve ourselves.

Understand the resources we have or can obtain
This is also for us to embark on a project we can complete, and not one where we will be unable to complete due to limitations in resources.

What is your passion, hobby, interest, skill etc?
Without interest or passion, we will not have motivation to push through and eventually succeed.

What is the value proposition of the solution and how big a problem are you solving?
Developing strong value propositions not only makes it easier to connect with target audiences but it establishes a foundation upon which a company's marketing and sales activities can be built upon. It also provides employees with a consistent and cohesive way to talk about what they are doing.

What is the trend of the market globally?
We have to understand the global trend to create a product that will be accepted by the public and can be marketed and sold well.

Sources of inspiration
For an inventor looking for sources of inspiration or support, he or she can turn to:
Crowdfunding sites
Concept Design
Interest Groups
and many other sources too.

Reflection:

I find it very meaningful that the school is inventing a speaker to give us talks on these content. These knowledge can be very useful not just in our future, but also currently. For example, for our CID4+ these year, we create products to help solve problems in society. We can constantly refer to the lessons given to us by the speaker to evaluate our own work and it can be used to ensure that we stay on the right track, not creating solutions that would be redundant in the future or creating projects we cannot achieve. These lessons can not just be integrated into our CID, but our lives as well. Before doing anything, we should create a framework for ourselves to evaluate the impact of our actions so that we can do the right things. We can create a thought framework for ourselves that can help us in thinking and learning too. Having a framework can help us in many ways by self-regulating our thoughts and actions.

Personal Development:
Personally, I will retain and use the knowledge I have learnt from this talk in multiple facets of my life as I believe that it can be helpful to me. It is a rare opportunity to have such a successful speaker present to us and share his invaluable knowledge. Another point that the speaker pointed out was that we should look for a problem before finding a solution, and not look for a problem with a solution in mind. Talking to Mr Zhou, I had realised that it was the exact mistake my team had made with our first proposal. We had the solution, the creation of the glow with UV light, and we sought to fit our solutions inside problems which did not exist in real life, such as the need for a UV clock. The lesson has definitely taught me alot and I look forward to the next few lessons.


Friday, 1 April 2016

Flappy Bird Scratch Task

Content:

- Computational thinking (understanding the logic of the codes)

- Creation of own Flappy Bird game using sprites, backgrounds and sounds provided

- Creation of own sprites, modifications to game etc.

Process:

For this task, the teachers introduced us to Scratch, a game programming program. What first caught my interest in Scratch was the way the coding was carried out. Instead of the conventional typing in lines of codes, Scratch codes are actually put into individual blocks. The blocks then can be dragged onto the script of an individual sprite and connected to other blocks, eventually forming a string of code for that particular sprite. A string of connected blocks of code is shown in the image below:

 This string of code is actually made up of 4 blocks of code. As we can see, it is much more convenient and easy to use this than to type lines of codes. These blocks are all already provided and only dragging and dropping of the codes in the correct order is needed. Less debugging needs to be done as there is no sytax that must be followed in this case.

Eventually, I also enjoyed using scratch as it had a user-friendly interface that was easy to understand and interact with. Each element of the game, such as the characters and the pipe in this case, is known as a sprite in Scratch. Upon creation of each sprite, the sprites will be placed on a toolbar as shown:

As we can see, the sprites are organised very clearly in the toolbar and it is easy to select the sprites by just clicking on it in the toolbar. In the picture, we can see that the pipe is selected. Upon selection of an individual sprite, 3 more tabs will appear, namely the script, costumes and sound. The script is the place where the strings of code as seen above are located at and the codes in the string of the particular sprite only runs for that sprite individually. The costumes tab includes several costumes of the sprite. This can be used to help us create an animation effect such as the flapping of the wings or randomise the appeareance of costumes such as that of the pipe. The costumes of the sprite is also controlled by the blocks of code found in the script of that sprite. As for the sound tab, sound clips for the sprite can be included and controlled in the script.

With the instructions given by the teachers and the easy-to-use interface of Scratch, I was able to quite easily complete the initial task of replicating the Flappy Bird game. Then, Mr Zhou challenged us to modify and improve the game on our own. This was slightly harder as it meant that we had to  be creative, and had to be able to transform our intended outcome into strings of working code. I also adjusted with the magnitude of the boost function and the acceleration of gravity to ensure a smoother gameplay. Some of the modifications I added include the switching of Flappy bird to Pacman and back at several time intervals, moving clouds from the right to the left of the screen, and synchronising the time so that the score would be added as the character passes the pipe instead of as the pipe is deleted.

For the Pacman, I added two extra images: one of Pacman with mouth open and one with Pacman with his mouth closed as the costumes to the Flapppy Bird sprite. After a set amount of time, the Flappy Bird will be replaced by the Pacman. Just like the Flappy Bird will have its wings show the illusion of flapping, the Pacman will have its mouth opening and closing repeatedly.

For the cloud, I created a new sprite, and ran a set of codes similar to that of the pipe. The cloud which is hidden outside the screen would be repeatedly cloned and the clones would move from the right to the left, deleted at the end.


Reflection:
Apart from the convenience offered by Scratch, the blocks-of-code system in Scratch also allows us to better understand code logic and improve our computational thinking. For the strings of codes to run right, the blocks of codes must be put in the right order, which requires computational thinking and an understanding of code logic. Deep thought and close attention must also be given to certain strings of codes that will run interactions between sprites. As the sprites are coded individually, messages must be sent and received between sprites for the intended outcome to occur. This will require us to code logically and meticulously to avoid mistakes. For a beginner, I feel that Scratch is definitely a good programme for learning. The neat,easy-to-use interface and the block coding system will aid the beginner in maintaining his or her own project well. It will also develop skills in the beginner while allow them to bypass more complications along the way such as wrong use of syntax which may hinder their learning.

Personal Development:

Prior to this task, I have also personally embarked on a Stencyl game project on my own. Stencyl is another game programming tool that is similar to Scratch. The sprites have seperate scripts, sounds etc, just like Scratch. The codes are also in blocks that will be connected, similar to Scratch. Personally I prefer Scratch as I feel that the interface of Scratch is still neater than that of Stencyl. However, having used Stencyl definitely helped me pick up Scratch more easily and hence I was able to complete the task rather quickly. Not just did this task help me learn alot, I also enjoyed the process as well. From here, I would try to embark on several 2D game projects on my own as well. Currently, I am trying to learn 3D game-making on the Unity engine too.

About Flappy Bird:

Flappy Bird is a 2013 mobile game, developed by Vietnam-based developer Nguyễn Hà Đông[2][3] (Dong Nguyen) and published by .GEARS Studios, a small, independent game developer also based in Vietnam.[4] The game is a side-scroller where the player controls a bird, attempting to fly between rows of green pipes without hitting them. The developer created the game over several days, using a bird protagonist which he had designed for a cancelled game in 2012.
The game was released in May 2013 but received a sudden rise in popularity in early 2014. It was criticized for its level of difficulty and alleged plagiarism in graphics and game mechanics, while other reviewers found it addictive. At the end of January 2014, it was the most downloaded free game in the iOS App Store. During this period, its developer claimed that Flappy Bird was earning $50,000 a day from in-app advertisements as well as sales.
Flappy Bird was removed from both Apple's App Store and Google Play by its creator on February 10, 2014, due to guilt over what he considered to be its addictive nature and overuse. The game's popularity and sudden removal caused phones with it pre-installed to be put up for sale for high prices over the Internet.[5][6][7] Games similar to Flappy Bird became popular on the iTunes App Store in the wake of its removal, and both Apple and Google have removed games from their app stores for being too similar to the original. The game has also been distributed through unofficial channels on multiple platforms.

The game below is only created for educational purposes. Credit goes to the original creator or the 'Flappy Bird' game.