Should you take 18 AP tests?
If you are wondering whether you should take an obscene amount of AP tests, I have a few things for you to consider: First of all, self-studying for an AP test will take a lot of work. Self-studying for a lot of them will take more work. Don't expect to be going out every day and having fun with your friends. Expect to make new friends, with your AP books.
Next, chances are, you are going to be buying a lot of books; I know I did. You are going to need somewhere to put them all. Unless you have an extra sturdy bookshelf that will not collapse under the strain of all of your new found "friends" (AP Books), you are going to need a bookshelf, or a very good system of organization. This is vital, for two reasons: one, if your bookshelf collapses, you will get hurt, and it will be sad. Trust me, I know from first hand experience; second, if you are not organized and you have a ton of books, you won't be able to find any of them and you will spend more time looking for books than actually studying. Again, trust me, I did that too a few times.
Thirdly, you are going to have to remember a lot of random information that you probably won't care too greatly about. There is no way that you will be passionate about all of the AP tests you decide to take; it's understandable. However, you are still going to have to retain information so you can take the tests on them, and if you are just memorizing facts and dates, etc. please do your college professors a favor and actually take the class instead of just "testing out". A lot of college professors complain that students who test out of classes don't actually understand conceptual things, they just piece together the formulas and plug and chug. Don't be dumb. Self-studying AP tests is good to "beef up" your college app, but if you are actually planning on testing out of a class and going to the next level, make sure you understand what you are learning on a deeper level.
Finally, people might judge you for being insane. Don't mind them, they're just jealous(;