Java Capabilities? - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Java Capabilities?

DaedroDaedro Posts: 3Member
Hey, I've got a lot of free time and wanted to know more about Java.

The topic is MMORPG's. 2.5D and browser based (applet).

I'm having some doubts about security and graphics.

By the looks of RuneScape, a lot can be accomplished. But what about cheaters? Can hacks be prevented in an MMO programmed in Java? Assuming the best: almost everything significant is server-side. In Flash there is an MMO called Dofus, which has a lot of holes because the files are easily decrypted and changed. Does the same go for Java? Can you implement a security feature in the game to check for changed files? Basically, are you limited in any way from preventing hacks in your game if you use Java?

I'm thinking it might be hard to pull off decent graphics. A huge download would need to occur at the start of the game, or many loading screens (pauses) would have to exist. It would just be 2D graphics, but those are still extremely huge, even at a lower quality. Am I right? What do you think. Keep it mind most of the graphics used in the game would have to be downloaded before starting the game (including the client). At least character models/items models/local area have to be, which could be one huge download. I wonder if it could download character models on demand, as they enter the area. I'm thinking 2002 graphics (eg. Sacred, Diablo).

Any information would be appreciated. Any.

Thanks!

Comments

  • zibadianzibadian Posts: 6,349Member
    : Hey, I've got a lot of free time and wanted to know more about Java.
    :
    : The topic is MMORPG's. 2.5D and browser based (applet).
    :
    : I'm having some doubts about security and graphics.
    :
    : By the looks of RuneScape, a lot can be accomplished. But what about
    : cheaters? Can hacks be prevented in an MMO programmed in Java?
    : Assuming the best: almost everything significant is server-side. In
    : Flash there is an MMO called Dofus, which has a lot of holes because
    : the files are easily decrypted and changed. Does the same go for
    : Java? Can you implement a security feature in the game to check for
    : changed files? Basically, are you limited in any way from preventing
    : hacks in your game if you use Java?
    :
    : I'm thinking it might be hard to pull off decent graphics. A huge
    : download would need to occur at the start of the game, or many
    : loading screens (pauses) would have to exist. It would just be 2D
    : graphics, but those are still extremely huge, even at a lower
    : quality. Am I right? What do you think. Keep it mind most of the
    : graphics used in the game would have to be downloaded before
    : starting the game (including the client). At least character
    : models/items models/local area have to be, which could be one huge
    : download. I wonder if it could download character models on demand,
    : as they enter the area. I'm thinking 2002 graphics (eg. Sacred,
    : Diablo).
    :
    : Any information would be appreciated. Any.
    :
    : Thanks!
    :
    All MMO games I know of utilize a specialize client to handle the rendering and graphics. All other data (game object locations/states) are transmitted from the server. This is much less data.
    A applet based MMO is nearly impossible, unless you create something like NetHack. Since an applet has at most a few 100 MB at its disposal, a 3D engine would be either very small or slightly better than wire-frames. Unless you're willing to invest in a huge server system, you cannot render the images on the server.
    Java class files can easily be decrypted and read and possibly changed. You could compile them into native code, but that would completely change the nature of your game (no more applets). Any experienced Java coder could change the applet code to send false information to the server. This won't compromise the member records (if designed properly), but it could allow players to gain advantages in the game. This can be stopped by designing the applet in such a way that it just shows the current screen and sends the user input to the server, but doesn't have any bearing on the outcome of that input.
  • DaedroDaedro Posts: 3Member
    Thanks for your response! That's some good information.

    : This can be stopped by designing the applet
    : in such a way that it just shows the current screen and sends the
    : user input to the server, but doesn't have any bearing on the
    : outcome of that input.

    This is exactly the way it would be designed.

    So you're saying a java applet would only be capable of a MUD style game. How does RuneScape accomplish it then? It's a 3D java applet MMO.

    Well that's too bad, I would hope there was a way to prevent tampering with the files. In most MMOs they verify the file sizes. Which forces hackers to read memory or send packets. You'd think sending packets would be out of the question for a hacker being a java applet. Memory reading would be a problem though, and unpreventable, but they would have to find an exploit in the client (avoidable if programmed well).
  • DaedroDaedro Posts: 3Member
    You really threw me off zibadian. You're a Java Analyst so I'm sure you know what you're talking about. It's just theres plenty of great Java based MMOGs out there. Theres even one that managed to run on a Java applet. It's not good 3D, but it is much better than a wireframe. However, I said I wanted a 2.5D applet, which is 'fake' 3D, and still just 2D images.

    I've been looking into how RuneScape works. The server is programmed in Java and the client is a Java applet. The server is linux based. It's programmed well, so most game mechanics are done server-side. The client sends the server GUI commands and renders the outcome. Apparently this means any advantageous hacks (programs, etc) are nearly impossible, besides bots. Although the server could be literally hacked into - very skilled hackers can hack into any server - but they'd get sued if they aren't careful. They've got the perfect setup, as far web-based mmogs go. However theres one complicated part to what they've done, apparently they've got some very complex client code. Probably really advanced. Well that clears up security issues.

    Not that I liked RuneScape. I respect what the teams accomplished though. Just fell short of a game worth playing, unless it's your first MMO or you play MUDs.

    I'm still unsure if transferring that amount of graphics is viable. I've never seen it done before. I guess I'll find out, because Java applets are pretty much my only option. Flash isn't ready yet: full of holes, almost no native support, only runs with php/mysql I believe, and the no right click throws me off. If I were to use C++, C#, SDL, etc. people would just compare it with World of Warcraft or any of the hundreds of MMOGs out there. There's less standards for a multi-platform browser MMOG, and it would be interesting to see how far the limits can be pushed. Not to mention being incredibly difficult to learn due to being 3D. Although I could download game and graphics engines, but where's the fun in that. Too high level, I'd rather learn more. An applet MMOG might be difficult, but for different reasons. I'd rather learn 2D before moving onto 3D.
  • zibadianzibadian Posts: 6,349Member
    : You really threw me off zibadian. You're a Java Analyst so I'm sure
    : you know what you're talking about. It's just theres plenty of great
    : Java based MMOGs out there. Theres even one that managed to run on a
    : Java applet. It's not good 3D, but it is much better than a
    : wireframe. However, I said I wanted a 2.5D applet, which is 'fake'
    : 3D, and still just 2D images.
    :
    : I've been looking into how RuneScape works. The server is programmed
    : in Java and the client is a Java applet. The server is linux based.
    : It's programmed well, so most game mechanics are done server-side.
    : The client sends the server GUI commands and renders the outcome.
    : Apparently this means any advantageous hacks (programs, etc) are
    : nearly impossible, besides bots. Although the server could be
    : literally hacked into - very skilled hackers can hack into any
    : server - but they'd get sued if they aren't careful. They've got the
    : perfect setup, as far web-based mmogs go. However theres one
    : complicated part to what they've done, apparently they've got some
    : very complex client code. Probably really advanced. Well that clears
    : up security issues.
    :
    : Not that I liked RuneScape. I respect what the teams accomplished
    : though. Just fell short of a game worth playing, unless it's your
    : first MMO or you play MUDs.
    :
    : I'm still unsure if transferring that amount of graphics is viable.
    : I've never seen it done before. I guess I'll find out, because Java
    : applets are pretty much my only option. Flash isn't ready yet: full
    : of holes, almost no native support, only runs with php/mysql I
    : believe, and the no right click throws me off. If I were to use C++,
    : C#, SDL, etc. people would just compare it with World of Warcraft or
    : any of the hundreds of MMOGs out there. There's less standards for a
    : multi-platform browser MMOG, and it would be interesting to see how
    : far the limits can be pushed. Not to mention being incredibly
    : difficult to learn due to being 3D. Although I could download game
    : and graphics engines, but where's the fun in that. Too high level,
    : I'd rather learn more. An applet MMOG might be difficult, but for
    : different reasons. I'd rather learn 2D before moving onto 3D.
    :
    I stand corrected. I've looked into Runescape and was quite surprised about the detail. As for my work as a java analyst: my work involves mobile devices and the native capabilities of them in respect to certain frameworks. This skewed my knowledge of Java a bit to Java ME and its capabilities.
Sign In or Register to comment.