• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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
13
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
13
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