While its possible to
do all the math necessary to transform a 3D scene into a 2D image, you'll just be beating your head on a rock for no good reason. Understanding the math isn't necessary most of the time, and doing all the rendering in software is going to be bog-slow.
APIs like OpenGL and DirectX let you describe your scene in terms of polygons, and then have the video card perform all the math. The basics aren't terribly hard to understand, but having to describe
every single polygon can get time consuming quickly. Still, there are some
sites with excellent tutorials if that's your thing.
Development kits like the the source engine SDK, UDK, Unity, or XNA provide tools to make development even easier. I haven't used one (I lost interest in game programming before I learned of their existence), but from what I understand they let you import and manipulate models, tweak scenes and lighting without having to edit code, provide templates, etc. They and the engines they run on also provide a lot of boilerplate stuff that isn't strictly related to the graphics pipeline (e.g. gravity, wall detection, keyboard/mouse input, etc.)
As dropadrop said, a development kit usually makes your life a lot easier. Of course, for something as simple as tic-tac-toe, you could easily get away with using raw OpenGL with Java.
JigPu