| Drag's Post #356 | Oh god, where do I start...
90% of the flash games I've ever played are buggy. First off, actionscript just isn't good for games, in my opinion. I mean, sure it's easy to use (every single command possible is right there in a drop-down menu for your disposal), but the programmers tend to not program things very well. It *is* object oriented, but people don't use it right. They have each individual object running its own code asynchronously to the rest of the game, which is a very sloppy way to do things.
Think of it this way. With timed programming, the code has a heartbeat. When the heart beat occurs, the game is supposed to run each object's code sequentially. This way, there's some uniformity, and you at LEAST have some control over things. For instance, "scroll the screen, move all of the objects, THEN run the physics". Not "run everything's physics all together, and start moving everything to account for the scrolling as you do it". It leaves a LOT of holes for bugs to pop out of.
The worst thing is that LOTS of flash games are guilty of sloppy programming structures like this, which leads to buggy games. This is all because the actionscripting allows programmers to be lazy and sloppy like this. Not good. F-.
On the positive side to flash games, you have frames, so it's easy to create a game that has more than one stage. Each stage is just another frame. You just need to add some preventative measures to account for the fact that many plugins and even the right click menu allow you to go forward and back frames. But better is that flash is based on vector graphics, so you can make games that look really good, and you can play the game at any size, and it won't degrade to crap.
In my opinion, java is infinitely better suited/equipped for games than flash is. I mean, flash can run inside a web browser, fine and dandy, but so can java.
Now, true, I don't really like java (as a language) that much, but I'd prefer java over flash. Java also is object oriented, but only one line can run at a time (unless you use threading, but that's really overkill for something like this), so already, you can't be lazy with your structures. You can't just have every object running code simultaneously, so you have to direct the programming to the objects in a sequential manner. So already, the game engine will be more airtight.
The downside to java is that you can't easily do smooth vector graphics, so you need some good pixelart, which sometimes even looks better than vector graphics anyway. You can't rotate or scale that easily (at least not that I know of), so that's a drawback. Well, unless you feel like writing the code for that yourself, or using a library or something.
Either way, flash isn't bad if the programmer is aware of the quirks, and can resist the temptation of being lazy. However, since a vast majority of flash games tend to be buggy in some way, shape, or form, this seems to not happen often.
In summary, flash is extremely easy to create something with, so it tends to be popular. Flash games are only popular because of their number, and because you don't have to be a skilled programmer to make something with it. This is both good and bad. Bad because it means the programmer can be sloppy, lazy, and inefficient, and it won't matter.
Java is an actual programming language, but you need to be a somewhat competent programmer to use it successfully. It's harder to use, but generally much more powerful. Not to mention, the compilers usually are pretty strict, so you end up fixing smaller bugs, which usually leads to a better program.
____________________
|
|
|