I can program pretty well, and I'm trying to think of a programming area that I can practice so I have a better chance of getting a job when I finish my education. I'm currently learning game development, but there are a ton of other people trying to get into game dev, so I want to find something a little more secure and sustainable to develop skills in. I've thought of things like financial systems and engineering stuff, but nothing I can think of is accessible to someone in high school. I'm trying to find something that involves physics or networking and isn't as popular a field as game dev. Does anyone have any ideas?
Game development itself is not very "secure"... But the skills you will learn while learning game development can be applied in many different fields with more security.
The best way to have job security is to not let your skills get rusty. Learn and use the new stuff, as it's developed. Hopefully, you do this because you love it, and spending your life as a perpetual student of CS would be something you'd actually enjoy.
There is not 1 magic field to get in to. Every field has a lot of interest. If it does not have a lot of interest, then you will likely not hear about it.
As for game development ... do you not think that people will ALWAYS be playing games? That field will likely never die.
Your best bet is to equip yourself with the knowledge and tools to be able to program for any purpose. A good developer is not just a game developer or just a web developer or just a C# or Java developer or [insert language/framework] developer. Start off with what you are interested in, but keep learning and stay capable of moving to another development field if need be.
A good thing to do is to dabble in other things on the side. Learning other languages/frameworks/technologies in your free time will actually make you better at whatever field you start out with and specialize in because you will have a better understanding of overall dev practices. Also, you will become much more versatile and marketable.
Nothing's guaranteed to have total job security, but if you're good you should be able to get a new job easily enough if you lose your old one. Being good also helps you keep your job when things get tough. But being good also means that you've got to pay attention to the non-programming parts of the job, like how to extract requirements from customers, how management works and how to get on with other people.
In fact, people skills (which can be learned!) are the most useful thing to invest in of all, since it's overwhelmingly likely that you will be working with others.
Mobile application development is a pretty strong field right now. Obviously, iPhone, Android, Palm, and other types of "consumer" applications are pretty big right now, but there are also opportunities in the "enterprise" mobile environment.
The consumer market is getting flooded at the moment, but there are still ways to get in that environment if you're interested. Having iPhone or Android development experience will probably look good on your resume.
The enterprise side is also decent right now. With the economic down-turn, a lot of large companies have started to look for ways to increase efficiency and savings by utilizing mobile technology. Windows Mobile is a big player in the enterprise side, and they've just released a major update to Windows Mobile (7 Series). 7 Series probably won't get adopted by the enterprise side right away, as its more consumer-focused, but it's definitely got some potential in the upcoming months/years.
Learn another field besides programming. Programmers who don't have domain-specific knowledge can't get the job done without help, and usually end up making many more mistakes along the way.
As for which other field to maximize job security / ability to find new work, look at other fields that pay well. A programmer who knows something about medicine is going to be in demand much more than a programmer who knows something about managing schools is going to be much more in demand than someone who only knows programming.
Note that it is possible for the "other field" to be computer focused as well, such as encryption or other computer security, etc. But those also tend to get outdated faster than a true second domain.
Job Security is not really dependant on the field but on the person. Sure trends might indicate some fields are better than others, but in reality you create your own security by being good at what you do.
The way we're going I think your best bet would be to get a job at the unemployment office.