How do i make Software for Linux Mint?

I’ve used Ubuntu since 2007 and then in December of 2009 i installed Linux Mint and i love it!, but how would i make software for Ubuntu,Linux Mint or Debian? I have no idea. Where do i start what programs do i need?
I already know c but how do i do it in GUI?
I wanna make gui apps too though, how do i do this?

Apps like: Adobe Photoshop, Sony Vegas Pro, Autodesk 3DS Max and Maya, etc etc.

Games like: Call of Duty series, Halo, Medal of Honor etc etc.

i am a student administrator in a campus network. i need to install applications on a central server and be able to run the apps remotely from a normal PC on the network. i have done it in linux using a x11 server bt have no idea how to do it in windows

ok so im using the the GDebi package installer and i try to add new apps and an error occurs and it says "is waiting for other tasks" any idea what im suppose to do? Another problem i’ve been having is it wont update it comes u with an error message that says this:

E: dpkg was interrupted, you must manually run ‘sudo dpkg –configure -a’ to correct the problem.
E: _cache->open() failed, please report.

does anyone know how i fix these things?
also when i try the configure manually through the terminal i type it in then it asks for the password and the keyboard locks up and i cant type anything..

i am working on a presentation involving linux and i wanted to add compatibility issue of the apps made for other OS as well as current standing of the linux project