Hi there. (I apologize in advance for my bad english, i’m french)
I’ve recently decided to switch one of my game to Java.
Long story short, I was using GML (Game Maker Language) and… well, let’s just say that my project got too big over the last year.
First, I’m coding a 2D game (beat’em up), which is mainly based on sprites.
I’ve created my own engine, since I wanted to add “modern fighting-game mechanisms” into it (like parry feature/ defend/ combo cancel ect…)
The fact is, since I’ll be able to have a full OOP approach with Java, I had several ideas for managing my objects, but I just wonder if they’re good or bad.
Well anyway here are my questions :
Since i’ve got LOTS of sprites, I’ve started to create my own editor (to be able to create a sprite from a spritesheet & “attach” all the hitboxes I need). I planned to serialize a set of thoses objects (as a “Character” object) so I’ll just have to load or unload them from that external file whenever I want in the game.
Though this seems a logical approach for me, is it actually a good thing to do in Java? I wonder, for example, if my serialized objects will be properly loaded when running on a different OS?
Using Java now, I know that I’ll be able to apply colors/effects easily on my sprites (and everything else actually).
…still, I’m using lots of “photoshopped” effect (for example - alpha 25% on a sprite with a background containing a circle with a blue-orange gradiation, without covering the transparent pixels, blabla…)
… I wonder if such a thing is actually possible to do in Java itself when running? If that’s the case, is it bad, or REALLY bad for the FPS? (I guess but… it never hurt to ask)
Using additionnal images would be perfect, but I fear for the memory, since I’ve reached fast huge numbers with GM, even though I cropped everything to the max.
When it comes to sounds & musics, now we can use pretty much everything thanks to the librairies.
Still, what would be the wiser thing to do for a good overall compatibility? .wav, .ogg or .mp3?
Anyway, as you noticed I’m mainly trying to figure out what would be the best thing to do before coding, since I don’t want to have to rewrite the code X times because I did not consider the best option at the time… (which happened to me a lot in GM ;D)
Oh and last thing, but it’s more an opinion thing than everything else :
Lots of people STILL won’t even try a game because it’s written in Java (was told that much again 1 hour ago) - Is it running that bad on some OS or is it again an urban legend?