Wednesday, October 13, 2010

Game idea: String Wars

Hey! This is my first entry in English, so please bear with me. It will start a (hopefully long) series about game design and programming. Thanks to some tough decisions and support from friends and family, I'll be dedicating some weekly hours to this activity from now on, and I want to share my experience.

Today, I was returning home (I've got quite a distance to travel), and I was thinking about how to put some newly acquired knowledge into a game. We learned the basics of the Finite Difference Method used, among other things, for estimating solutions to the partial differential equation of waves. Basically, estimating functions that satisfy the following:

This can be used to describe the movement of a guitar string over time, or the propagation of a sound wave in the air. I thought it would be interesting to make an iPhone app where you can disturb a string, initially at rest, and watch how it bounces back and forth, following the above equation. Touchscreen would enable interaction to be with the finger, which is nice. But I rejected the idea almost immediately: boring! Then I thought that could be just an element of the whole idea: a sort of bow shooting game where you actually tense the bow's string and the way you do it influences the shot. I liked that, as a start.

I then thought about how to make the bow shooting game more realistic in interface terms. I imagined it could be possible to determine the angle for the arrow using the accelerometer in some clever way...  I still need to make some experiments to see if it is feasible, but it would be fun to aim a shot with your real arm. 

One last concept I'd want to add to this game is the possibility to create a two player online game where you have to kill the other player firing virtual arrows at him. Using the iPhone's GPS, both players' coordinates could be obtained to create their virtual selves and allow the in-game positions to resemble the players' actual physical ones. I'll leave this for the last stages of development because I think it will be the most technically demanding.

I'll keep you updated on any development!
Thanks for reading