My advice would be to start with C and SDL and/or OpenGL. SDL for 2D graphics, input, sounds etc. and OpenGL for 3D if you need it.
For quite a while I was a bit "lost" when trying to code with C (instead of AmosPro). Then I started experimenting with OpenGL (thanks to MorphOS' TinyGL) and had my first 3D game,
blockmorph (blockout clone) running well within a week. OpenGL certainly makes 3D (and why not 2D aswell) drawing very easy (and fast, if you have 3D acceleration), basically you just need to tell it what to draw (you know, points, lines, triangles...) and give the coordinates. BUT if you choose OpenGL, you should really forget about AGA (which you should do anyway, imho)
Later I started using SDL for some things, such as sounds and input handling. Here's an old
pic of my 3D accelerated gravity game, which uses both SDL and OpenGL.
If you're interested in OpenGL, you can check some tutorials
here but beware, many of those examples are far from optimal (and in some cases could be optimized a LOT by just moving a few lines) but I still consider them good enough to learn the bare basics. I'd recommend learning vertex arrays asap when you're somewhat comfortable with the basics, that way your code will likely be faster, and also work on OpenGL ES (as used in many mobile devices)