1) Is there a name for this kind of mixing of 3D world and 2D graphics?
Not that I know of, but it's pretty commonly done. I myself am doing it in a professional game, and got some help with it from the users here at JGO. Depending upon your background and the information you have about it, it can be difficult or easy to make the 3D objects match it.
2) What is the actual 3D terrain called?
I don't think there's any specific name, but I would maybe call it your path map or your path data. Whatever floats your boat. The "invisible" map you're referring to is not a map at all, it's data that determines the elevation and size of different areas, what can be moved through, etc.
3) Where do you store what parts of the world are hard and soft or cause some action to occur, like slipping on ice, going up a ladder, moving into another model etc? Do you have to keep track of that separately based on the character's position, or can that be stored in the 3D model, like links to code? If so, what is that called?
That would all be part of the path data. On a simplistic 2D level, it could be a 2D array that contains data for grid spaces - whether that space can be walked through, is hard or soft, etc. You want to think of all this in a OO (Object Oriented) fashion. If you've got a smart importer written I'm sure you could somehow make a level in a 3D modeler and then generate all the data using the geometry / textures, but that's way unnecessary when you can just specify each piece as you wish.
4)How do you interface a 3D model with the Java code? I know how to make a flat little picture of a man walk around on the screen, but I have no idea of how to keep track of a player's position on a model, let alone try to use the model directly to display images in Java.
This sounds like a convoluted question to me, implying that you don't really understand Java or OO programming too well. Typically you would want an Object (let's call it Player) that contains position information, a reference to a model file, and any other relevant information. Then you tell that Player to draw itself by calling a method it has.
5) How do you make the player follow the terrain? Is that simply called terrain following?
Again, I don't know if there's a specific name for this, but either way this is a complicated question and it all depends on what you really want anyway. If you have elevation information (Z-height at any given X/Y) then you can just set the player's Z to match whatever the model has at that X and Y. If you're putting it on a 2D background, however, then it's unlikely you will ever change the Z - instead you can just use tricky resizing to make different parts look okay (via tweaking only). Once again, this information will be part of your path data.
6) I have downloaded Blender, free = good for me. Will I be able to do this type of thing in Blender?
I think so? I know Blender has some sort of programming language attached to it, and you can at the very least create and generate professional-quality models.
7) I know Blender has a game engine, but I really don't have any clue what that means. I don't mind coding large quantities of my own stuff in Java. In fact that is the point, since this is meant to be a learning experience. Do I need a big complicated engine to work with 3D or can I code some stuff to work directly with the 3D model?
Take a look at jMonkeyEngine
, which will handle a lot of the complicated stuff for you. You will probably want to use either
Blender or Java for your game code. Blender can be used to generate your models, then you can import them into your Java game using jME.
If you guys could spare a minute or two to explain some of the important basic terminology for this type of endeavor, maybe recommend some websites or books, etc I would really appreciate it. Since I don't know anything about this, I probably asked the wrong questions. If I can learn just a little bit here, I will know what to search for so I can learn more on my own and be able to ask more specific questions.
It's not that you're asking the wrong questions, it's that you're in over your head. You should learn the basics of programming a game long before you ever move into the (much more difficult) territory that is 3D and worrying about terrain height and all that jazz. Get a 2D sprite moving around the screen with Java2D first, then throw that into a game of some kind, maybe a clone of Space Invaders or something. Start simple, then slowly build up. When you finally understand the principles behind most things (which will probably take you like a year), then you can move onto make 3D.
The technology and approach you use is irrelevant, in the end. What's really important is just that you know how to make a game
, then the rest follows based on the design you have in mind.