I want to program graphical 2D games more complex than the basic 2D stuff I already know. I don\'t want to do 3D programming. Just more complex 2D stuff. I dropped high school b
You can start out by learning Processing!
Then move onto this amazing book by Daniel Shiffman called 'The Nature of Code'. The book is also available online with interactive examples written in Processing.js
http://natureofcode.com/book/
The book covers
1. VECTORS
2. FORCES
3. OSCILLATION
4. PARTICLE SYSTEMS
5. PHYSICS LIBRARIES
6. AUTONOMOUS AGENTS
7. CELLULAR AUTOMATA
8. FRACTALS
9. THE EVOLUTION OF CODE
10. NEURAL NETWORKS
He also has uploaded videos to Vimeo explaining concepts from each chapter! http://vimeo.com/shiffman/videos/sort:date/format:detail
How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds? This book focuses on the programming strategies and techniques behind computer simulations of natural systems using Processing.
He has also written a book to teach you the basics of Learning processing
http://www.learningprocessing.com/
This book tells a story. It’s a story of liberation, of taking the first steps towards understanding the foundations of computing, writing your own code, and creating your own media without the bonds of existing software tools. This story is not reserved for computer scientists and engineers. This story is for you.