• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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

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.
 
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!
 
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.
 
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.
 
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.
 
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.
 
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:
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:
"image removed"

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:
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.
 
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.
 
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.
 
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.
 
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:
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?
 
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.
 
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.
 
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