I’ve found my problem. The brown snake in my cereal so to speak. The nasty metaphor in my post.
The object animation system works. Heck, I even got the system to allow forwards and rewinding animations to function on some basic level. It works great, for the first 5 objects. Then it just falls down and only plays the first frame of the animation for the rest. First I thought it was a load issue, maybe only the first frame is loaded. Nope not that. Then I thought the system wasn’t updating the animation frame like it was supposed to. I went ahead and installed a counter that shows what frame it is on and it turns out, that’s not it either. Double dammit. I’ve found that in coding, like in life, there are 3 kinds of solutions : The ones that can work if everything goes great, the ones that will never work, and the ones you haven’t thought of yet. I’m firmly in the land of the 3rd solution here.
I think the issue may be how I’m referencing my animations. I’ve found that I can nest my calls and cross reference my tables like this:
DrawImage ObPics(Objects(Loop,1), Objects(Loop,4)), Objects(Loop, 2), Objects(Loop,3)
It says “Draw the picture of the object type in the Objects Folder (The ObPics(Objects(Loop,1) command) and draw the frame that has the current animation (the Objects(Loop,4) part) at the Objects(Loop,2)XObjects(Loop,3) position. Um, yeah. In English, it says “Draw the current animation frame of the flavor of object that is listed.”
This is what led me to believe that the animation frame wasn’t being updated (the Objects(Loop,4) part of the code), but when I told it to draw that it says all is well like I said before. So I’m waiting for inspiration to crash into me like an Extinction Level Comet – laying waste to my problem like a thousand nuclear bombs and billions and billions of tonnes of TNT.
Methinks that I’ll go ahead and have it draw, everything, everything! Then I can see if A) My array can handle the amount of data that it’s got in it and B) if maybe the display code itself has a weird bug in it. I’m reasonably sure that A) is okay since when it runs it doesn’t crash and claim the data isn’t there, but B) may be a very real issue.
-Okay then, enough of that. I’ve also have an idea that may or not work. The basic plan for the scenes in the final game are going to be movies using the character models. This would allow The Animator to show off his impressive skills a little better than just the gameplay animations. Anyhow, I was thinking that the Camera of said movies could be moved around too and get up close to the characters and when they are talking. Know I know that my engine doesn’t have a camera, but I also know that Maya does and like many things I can totally fake it. After all, the characters are 3D models anyway.
The issues I see with this are three fold. 1) Depending on the angle, the background may fail. I mean, it is flat. So with the right angle the background will look not as good as it should. Then again, depending on how the thing is shot, this may not be a problem at all.
2) The closeups would require new rigs to be built. Now with fingers, faces and other little pieces. Plus, new character models. I mean, the ones we have are great, but at 1600X1200 and taking up much of the screen, much higher detail would suddenly be needed.
3) …and all of this keeping in the same style of the game itself. The look we’ve got is a painted woodcut (at least in theory – I’m getting some more art soon and I’ll see what the artists have come up with in the meantime.). So the look of the game suddenly has to also be very scalable.
So other than these, and the giant amount of extra work that this would require, I think that would be awesome and people may call the game 2D/3D, when it’s really not.