I don't have a technical issue but when reading your description I thought to myself: Why only three parallax levels? Is a List of # parallax levels really any harder?
Actually, it does support more than triple-parallax, that's just the most that usually looks good in a game. The parallax class I have works by stacking maps, calculating which one is the largest, then normalizing the movement of all of them based on the coordinate system of the largest one. Works pretty well, and lets code can treat the whole shebang as one map.
Edit: I realize that saying I didn't consider anything graphical "hard" is inaccurate and may seem arrogant so I would like to append my post to say: I own. Thank you.
I agree. Graphics themselves are not all that hard. Trying to put together a system that handles the logic *behind* those graphics gets harder and harder as the size and scope of a game increase.
- The lack of hi res timer (you can work around it a little but throttling will always be an issue).
I've got a hires timer for windows, and all other systems (to my knowledge) have 1ms resolutions. My timer code only works off of the System timer if the Windows DLL is not available.
- javax.sound lags.
I'll make sure I add workarounds for this.
- No good support for input (sometimes input lags behind on some machines).
Do you know what the conditions are that cause this? To date, every machine I've seen has produced fairly responsive input.
- java2d lacks performant features like blending, rotating etc. If you want your game to look anything better than retro, you *have* to use a more dedicated api like openGL.
This is true. In this case, using LWJGL becomes a good option. I'm considering adding support for multiple renderers so that developers can choose various ways of handling rendering depending on their needs.
Thanks for your comments guys! Keep 'em coming.