• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Pokemon Java Kit

1,748
Posts
14
Years
  • Ya know what I just realized?

    If this project were to be completed, implementing a Java game into a web page is easy. So you could thus make a fully web-capable Pokémon game that doesn't require a download.

    In the instance of Minecraft, they allow browser-based gaming and allow someone to download the .exe, which the same could be done here. It's purely amazing!

    Thanks, I do work on this little by little, but not enough these days, but I do plan on completing this, maybe switching graphics displays to open GL for possible 3D support.
     

    Dying Light

    Pegasus Knight
    344
    Posts
    12
    Years
  • Thanks, I do work on this little by little, but not enough these days, but I do plan on completing this, maybe switching graphics displays to open GL for possible 3D support.
    I definitely support and encourage this project. I also think switching to OpenGL would be a very nice feature, as even Minecraft uses it. Good luck on this!
     
    1,748
    Posts
    14
    Years
  • I definitely support and encourage this project. I also think switching to OpenGL would be a very nice feature, as even Minecraft uses it. Good luck on this!

    Alright, I've already done the switch to OpenGL, but I am re-writing my engine as of I didn't think the way this was originally written was most optimal at all.
     

    DaSpirit

    Mad Programmer
    240
    Posts
    16
    Years
  • When you switched to opengl, didn't it start using more CPU?
    I don't use Java, but I know about OpenGL. If this happens then it is because of your OpenGL implementation does not use hardware acceleration. Most beginners use the fixed pipeline which is bad and old but everyone's computer supports. A good OpenGL implementation (but which older computers do not support) relies on shaders (generally versions 3.x and up). Shaders are done on the GPU rather the CPU which makes it a whole lot faster and less CPU intensive like which you are seeing.

    Under research, I found that the default Java 2D library uses hardware accelerations based on what is supported. The code probably makes it so that it chooses whichever highest OpenGL version you support and uses it. Your implementation probably only uses a single version.
     

    Dying Light

    Pegasus Knight
    344
    Posts
    12
    Years
  • I don't use Java, but I know about OpenGL. If this happens then it is because of your OpenGL implementation does not use hardware acceleration. Most beginners use the fixed pipeline which is bad and old but everyone's computer supports. A good OpenGL implementation (but which older computers do not support) relies on shaders (generally versions 3.x and up). Shaders are done on the GPU rather the CPU which makes it a whole lot faster and less CPU intensive like which you are seeing.

    Under research, I found that the default Java 2D library uses hardware accelerations based on what is supported. The code probably makes it so that it chooses whichever highest OpenGL version you support and uses it. Your implementation probably only uses a single version.
    This is actually very true. For example, when I ran Minecraft on a brand new PC it had OpenGL errors because hardware acceleration wasn't allowing the main GPU to allocate shaders to the lighting system.
     
    50
    Posts
    12
    Years
    • Seen Jan 27, 2013
    I don't use Java, but I know about OpenGL. If this happens then it is because of your OpenGL implementation does not use hardware acceleration. Most beginners use the fixed pipeline which is bad and old but everyone's computer supports. A good OpenGL implementation (but which older computers do not support) relies on shaders (generally versions 3.x and up). Shaders are done on the GPU rather the CPU which makes it a whole lot faster and less CPU intensive like which you are seeing.

    Under research, I found that the default Java 2D library uses hardware accelerations based on what is supported. The code probably makes it so that it chooses whichever highest OpenGL version you support and uses it. Your implementation probably only uses a single version.

    I'm not talking about my implementation, because I dont have one. :P I was just asking because I've seen many java engines that use more CPU when using opengl compared with software rendering. One example is the well known mmorpg Runescape. And what I was going to say after his answer, was that since 2d pokemon games don't require an high fps value, he can put a cap on the fps and stay with java2d as it will use less CPU than the opengl implementation while having the same drawing performance.
     
    1,748
    Posts
    14
    Years
  • Yes, it started using slightly more CPU, but in exchange for 1000+ fps.

    Quick update here:

    I added tilesets instead of individual tile images, these can be any width/height as long as it's divisible by 32 (because each tile is 32x32 in size). (Tiles used in RMXP will work!) I also did the same for characters, meaning a character must be divisible by 4. (Again RMXP characters will work!)

    Edit:
    Larger maps which load EVERY LAST TILE at once (500x500x3) will get around 70-100 fps, but this does not include the anti-lag I will insert.
     
    Last edited:
    1,748
    Posts
    14
    Years
  • Alright, here's another update:

    I re-scratched the project (again I did not like the structure, but this time I do like the structure of my system)..
    Here are some things I added:
    Added a better image loader,
    Added some image functions (such as setting the alpha, color, rotation),
    Added 3D support, currently it's only a block, but it's getting there.
    Added A script parser for both Javascript and Ruby (Still finishing this up and yes this means that RMXP scripts MIGHT work),
    Added an HTML file such as what essentials used to have (I shall build this up along the way as I add more features).
    Added Scene Support (I don't know if I said this already, but it's like Scenes in essentials. Scene_Intro as an example)
    Classified my scripts (I added packages which contains the appropriate scripts inside)

    These are some of what I had completed from today and yesterday (which was when I scratched my system yet again)

    There is 1 bug currently (not much of a bug though) when loading images with a height or width greater than 1024 it brings the game crashes (the debug messages says it's because the image is too big)

    EDIT:
    Here's an image showing the current intro:
    View attachment 66399

    Also, I "stole" essentials title screen (I don't think it matters since I am giving Maruno credit for now until it's changed + it's in an open source kit.)
     
    Last edited:

    DaSpirit

    Mad Programmer
    240
    Posts
    16
    Years
  • Yes, it started using slightly more CPU, but in exchange for 1000+ fps.
    Wait, so the FPS is not capped? Wouldn't you be wasting CPU cycles then?

    Added A script parser for both Javascript and Ruby (Still finishing this up and yes this means that RMXP scripts MIGHT work),
    That sounds weird. An interpreter in something that is already interpreted. But if it will make it easier for your users, then that's good I suppose.
     
    1,748
    Posts
    14
    Years
  • Wait, so the FPS is not capped? Wouldn't you be wasting CPU cycles then?
    True, I'll cap the FPS around 100 FPS

    That sounds weird. An interpreter in something that is already interpreted. But if it will make it easier for your users, then that's good I suppose.

    I added a ruby interpreter so people could at least attempt to use some scripts from Essentials, and the JavaScript parser is built into Java, so I didn't really do much effort on the interpreters.
     
    42
    Posts
    14
    Years
    • Seen Dec 3, 2012
    Did you use JRuby?

    That should have the best support for Ruby on the JVM.

    Also, Java works by interpreting any language into an intermediate representation, or IR. It is then compiled at runtime. So it's not going to slow anything down to use Ruby or JS on the JVM.

    Also, I might actually use this, since I am in charge of programming a fan game in Java at the moment.
     
    1,748
    Posts
    14
    Years
  • I'll try out JRuby, I might be a better alternative than using the built in script engine. Anyways, I've been working c++ for a while. (so I can convince my dad to buy me visual studio instead of sitting with visual c++ express) Anyways, I'll get back to this soon, I do plan on working on this again in December.
     

    DaSpirit

    Mad Programmer
    240
    Posts
    16
    Years
  • What's wrong with Visual Studio C++ Express?

    Visual Studio in general just plain sucks. No constexpr, no initializer lists. It was disappointing.

    And in December? That's a long time.
     
    Last edited:
    42
    Posts
    14
    Years
    • Seen Dec 3, 2012
    Don't get that. NetBeans C++ is good.

    I personally just whip up a text editor and compile code. People tell me that I'm stupid and inefficient, but hey, works for me!

    Anyway...JRuby, as well as most other scripting languages for Java (including Java itself probably) use javax.script.

    I'm not even primarily a Java programmer (The fangame I'm working on at present, in fact, will be my first Java project.) and I know this stuff...hah.

    But yes, would you mind if I made my own engine based on this one?
     
    1,748
    Posts
    14
    Years
  • I don't mind, you may do what you want, this can be extended into anything you want to (For any purpose at all) as long as I am in the credits list.
     
    1,748
    Posts
    14
    Years
  • Alright, updates...

    I am busy adding a complete editor (like what XP has), it will go more alongside of GM's view.

    Alright here's a poll now:

    Who wants me to make this engine Pokemon Exclusive

    OR

    Should it be a full game engine for any type of game you want to make


    Anyways I'll have an update to the editor when I have it's layout completed.
     
    50
    Posts
    12
    Years
    • Seen Jan 27, 2013
    Alright, updates...

    I am busy adding a complete editor (like what XP has), it will go more alongside of GM's view.

    Alright here's a poll now:

    Who wants me to make this engine Pokemon Exclusive

    OR

    Should it be a full game engine for any type of game you want to make


    Anyways I'll have an update to the editor when I have it's layout completed.

    I think you should go with Pokemon Exclusive :p
     
    Back
    Top