Showing posts with label Programming for Creative Technology. Show all posts
Showing posts with label Programming for Creative Technology. Show all posts

Monday, December 6, 2010

The Helicopter Screensaver & Bouncing Creatures

Last Tuesday we had to present our screensaver for Motion & Modeling. Our group, consisting of Jelle Galgenbeld, Dmitri Kazachkov, and me, have developed a screensaver where a helicopter tries to take down soldiers on the ground. These soldiers in turn try to reach an anti-air gun, located at the opposite side of the screen. When all soldiers have manned this anti-air weaponry, it will shoot into the air, and when it hits the helicopter, it will spin down to the ground and explode, resetting the screensaver.

Before the helicopter can shoot though, it first has to detect a soldier on the ground. The helicopter will then track this soldier, indicated by the red colour of the floodlight, continuously firing at him until he dies or reaches the anti-air equipment. All soldiers will keep on respawning until they reach the anti-air gun, so in the end the helicopter will always be brought down. To keep things interesting the soldiers get a random speed every time, so you never know in advance whether a soldier will reach the other side.

During our presentation, which you can find here, we have shown the different stages of the development of the screensaver we have been trough. The first step was to make a helicopter that flies from one side of the screen to the other side, and back again, since the helicopter is the most important element of our screensaver. After having accomplished this, we gave the helicopter the ability to shoot. In our first implementation of shooting, the helicopter started shooting at a fixed x-position, thus always hitting the same soldiers on the ground, who at that time were represented by blue balls that turn green when hit.

One step beyond that was to make the soldiers on the ground able to move, so the helicopter has live targets to shoot at. If a soldiers walks in the floodlight of the helicopter, the helicopter will target this man, indicated by a green orb around the soldier. Because we wanted to improve the floodlight, we made it able to actively track down the soldier that had walked trough it. This change causes the helicopter to follow a targeted victim and shoot at it until it dies or reaches the anti-air gun.

In the end we put all these development steps together, along with animations for the walking soldiers and animations for the flying & exploding helicopter and last but not least some atmospheric music: the Airwolf theme! I hope to be able to show these development steps by the end of the week.

Another thing we had to finish last week was the first end assignment for “Programming for CreaTe”, where we had to display our animal designed for the course 20 times, and they had to be able to bounce into each other. You can see my version on my portfolio website.

Unfortunately, I haven't been able to work on my portfolio last week, so you will be updated on the improvements another time.

Wednesday, October 20, 2010

Programming for CreaTe

In Programming for CreaTe we learn how to make an animation with Processing, a visually-oriented programming language based on Java.  The advantage of Processing is that a lot of things are done for you, while you would normally have to program these things yourself. For example, to create a window for the output of your program, all you have to do is specify a size, and the rest is taken care of automatically.

In the first lesson, we learned about the drawing functions, and the final assignment for that day was to make a create that can be animated by moving your mouse. You can find my creature here. Today, in the second lesson, we learned how to use variables and loops to animate something. To check whether we understood the explanation properly, we were asked to make an animation of a ball that bounces between the left and the right of the window it is displayed in. It is up to you to judge whether I succeeded with this...

Here it is!