“I went to bed and woke in the middle of the night thinking I heard someone cry, thinking I myself was weeping, and I felt my face and it was dry.
Then I looked at the window and thought: Why, yes, it’s just the rain, the rain, always the rain, and turned over, sadder still, and fumbled about for my dripping sleep and tried to slip it back on.”
After a week’s tiresome work Subhash, Bharat and Myself(Franklin) were completely exhausted. The entire week passed out so fast as a sway of breeze. Since this was not the first time that we were organizing an event in our University, we knew how to get along with permissions and other endorsements.
Speaking about the Hour Of Code, you might all very well know is a global movement reaching tens of millions of students in 180+ countries. Also, Webmaker is partnering with Code.org on their global Hour of Code campaign.
Being the Club Lead in my University, I now had a load of responsibilities over my head. After a week’s planning I came out with an idea along with my team members. Initially we had decided to teach the 1st year Engineering students about HTML and CSS, later on we changed the plan and thought of doing something different and unusual this time and targeted the 2nd year Engineering students and came out with a plan of teaching them about “Game Development” Yes! you heard it right, game development using one among the best game engines so far. We decided to teach them Game Development using an Open Source Tool called “Blender”.
Blender is a professional free and open-source 3D computer graphics software product used for creating animated films, visual effects, art, 3D printed models, interactive 3D applications and video games. Blender’s features include 3D modeling, UV unwrapping, texturing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animating, match moving, camera tracking, rendering, video editing and compositing. Alongside the modeling features it also has an integrated game engine.
Blender is used by NASA for publicly available 3D models. Many 3D models on NASAs 3D resources page are in a native .blend format. The first large professional project that used Blender was Spider-Man 2, where it was primarily used to create animations and pre-visualizations for the storyboard department. Blender has also been used for shows on the History Channel, alongside many other professional 3D graphics programs.
Few Open Projects done using Blender:
Elephants Dream (Open Movie Project: Orange)
Big Buck Bunny (Open Movie Project: Peach)
Yo Frankie! (Open Game Project: Apricot)
Sintel (Open Movie Project: Durian)
Tears of Steel (Open Movie Project: Mango)
We picked up students from the Computer Science Club of our University and also limited the entries to just 50 students. We did not want much of crowd, since lesser the crowd the better we could reach and teach to everyone.
The event kick started by 9.30 in the morning by Subhash, he thought the students how to develop the game “Angry Birds” using blocks available in the website https://learn.code.org/hoc/1
Then we had Subhash, who thought the students about game development using basic blocks available in the following website https://learn.code.org/hoc/1 and created the famous “Angry Birds” game.
Next we had Gabriel on stage who started with the basics of Blender. Gabriel has played his hands dirty with this tool for almost a year and has a very good knowledge and passion for this application.
He first started with a brief introduction about game development. He told the students that game development started as early as 1950’s. But those games required mainframe computers and hence weren’t available for the public. Commercial game development started in 1970s.
Then he told them about meshes(the objects like characters, buildings, etc used in a game). And thereby he emphasized the fact that, to start game development, one must know how to create meshes. Normally, to develop a game, one creates meshes in a separate software(3d Modeller) and then imports it to a game engine to add controls to the mesh. At this point, he told them about Blender, which can do all things like 3D modeling(creating meshes), animation and also develop a game with its inbuilt game engine.
He also taught them about rotating the 3D view itself for a user perspective view and various other predefined views like top view, side view, etc.
Then he moved on to some basic animation. He told them about key framing, which is the most important concept in any animation software. He told them about basic animations like moving an object, rotating an object, etc. He continued with the basics of physics in a game(like gravity, dynamic movement, static, etc).
In blender, games can be created either through logic bricks(predefined game blocks) or a combination of logic bricks and python script. The second way allows the developer to create more flexible games. He taught them about logic bricks, which uses three blocks for every action. These blocks are categorized under Sensors, Controller and Actuator.
These blocks when joined together form a piece of code which is executed every time the controller returns true. The controller is basically a logic gate, while it can also be a python code. The sensor detects/senses any action input(eg: key presses, mouse clicks, collision, message, etc). The output sensor block is sent to controller block which results in either a true or false state. If true, action described in the actuator block will be performed. If false, no action takes place.
He then employed this very concept in the “Bounce” game(one among the most played and known games in the early Nokia devices) which he demonstrated, with sensors detecting key presses and through an AND controller to perform a movement action described in the ‘motion’ actuator.
After this he added rings to the game environment and taught about how to display score and update it when the ball passes through the ring. he also demonstrated this using python script. Finally he made a ‘start’ scene and a ‘win’ scene. The ‘start’ scene will be displayed at the start of the game and the win scene, when the score crosses a certain limit. And then to conclude, he told how to create a standalone game application.
The game can be downloaded from the link below.
NOTE: The game is still in it’s early stages of development and is likely to have too many bugs.
While all this was happening a lot of students had plenty of doubts running inside themselves, they were accompanied and solved concurrently by our Firefox Student Ambassadors namely, Subhash, Bharat, Mounika, Neha, Shefali and Myself.
Final Game Preview:
After all this, I then took over the session and explained the students about the Hour Of Code Campaign and why it was important. I also stated that the Webmaker had partnered with code.org this time.
Later I told them about Mozilla and it’s mission. When I started to speak about Mozilla and Firefox Student Ambassadors a lot of students started raising questions on how they could be a part of Mozilla and start contributing to it. Then I continued explaining them the various Contribution Pathways through which one could start contributing to Mozilla.
By the time I was about to finish with my session I had a lot of students who were eagerly waiting to sign themselves as Firefox Student Ambassadors.
And then the session ends by a group photo.
Want to download the game ? Go ahead: http://www.4shared.com/file/dM_MqAtvce/Bounce.html