Xbox One and PS4 games with JMonkey

Hello:

I’ll be developing support for Xbox One and PS4 game development for JMonkey. I already did the research and it should be easy.

I got to go to school now, but feel free to comment on this.

What do you think of it? Is it great news for you?

I’ll get back to this thread when I come back.

Bye!

1 Like

Well its of course great news, especially considering that both slowly start to open up to indies. Larger potential market is always good. (Also it would kinda proof the write once debu… erm run everywhere ^)

I’ll be thrilled to play a JME game on PS4!
Care to elaborate on the “should be easy” part though? What is the plan?

@nehon I don’t have a plan right now. I just realized today that I’m a mature enough coder that I can pull this off, and wanted to share the news.

Yes, I know what you mean by plan. I should have a plan within the next few weeks. I’ll ask around here, and then tell you when I have a plan.

But first let’s just enjoy the fact that Jmonkey will support XBoxOne and Ps4 natively. :slight_smile:

So what did you research? How to get JOGL or LWJGL to compile on PS4 or how to write a native JNI OpenGLES wrapper?

Hm, well, i bet it’s not an easy walk at all.

Some points:

  1. Maybe the hardest: Get a PS4 dev kit. :wink:
  2. Maybe the easiest: Get a XB1.
  3. Something between: Extend Jogls Newt kit, make a JVM running, make a headless openjdk running, depending on the gpu driver flexibility you might need to use some kind of opengl-> directx wrapper, or write a completely new renderer for each of the consoles.

If Sony and Microsoft don’t make a step towards adding java support i think this is going to be a huge task. Might be easier to write an MMO :wink:

2 Likes

I’d favor a native GLES renderer, that could also be used on iOS. Or gut out JOGL so much that we don’t depend on their build process.

@normen said: I'd favor a native GLES renderer, that could also be used on iOS. Or gut out JOGL so much that we don't depend on their build process.

This would be so awesome.

It was very disappointing to see that iPhone/Pad is sorta locked down to developing from Mac. From what I read anyways. I saw that people have made efforts towards support tools for Linux/PC… but it’s buggy at best.

Not sure how up-to-date this actually is, so I for one would LOVE iOS support through JME.

And I think everyone would love to be able to target PS4/XB1.

AFAIK currently it is not even proofed that the XB1 or the Ps4 supports any kind of openGL, so with the current informations all i just pure speculation.

@t0neg0d said: This would be so awesome.

It was very disappointing to see that iPhone/Pad is sorta locked down to developing from Mac. From what I read anyways. I saw that people have made efforts towards support tools for Linux/PC… but it’s buggy at best.

Not sure how up-to-date this actually is, so I for one would LOVE iOS support through JME.

And I think everyone would love to be able to target PS4/XB1.

Forget about independent development kits. Just get a Mac, it will only get more complicated else, XCode is the only way to make the whole thing work consistently as Apple often changes quite essential things (like now 64bit) and the switch is only easy when XCode is used for compiling. With other toolchains you can only distribute to jailbroken phones anyway which are about 1-2% of the whole iOS base.
(cue gouessej raging out about Apple and that there was a submission web page once)

As for GL support, with the XBOX I don’t know either but I am almost 100% certain the PS will support GL one way or the other.

@normen said: Forget about independent development kits. Just get a Mac, it will only get more complicated else, XCode is the only way to make the whole thing work consistently as Apple often changes quite essential things (like now 64bit) and the switch is only easy when XCode is used for compiling. With other toolchains you can only distribute to jailbroken phones anyway which are about 1-2% of the whole iOS base. (cue gouessej raging out about Apple and that there was a submission web page once)

As for GL support, with the XBOX I don’t know either but I am almost 100% certain the PS will support GL one way or the other.

I would love to get a Mac for dev… however, I are teh poor =(

@t0neg0d said: I would love to get a Mac for dev... however, I are teh poor =(

Then develop for android and go to a rich friend to compile and deploy for iOS :wink: …as soon as the SDK supports both that is ^^

@normen said: Then develop for android and go to a rich friend to compile and deploy for iOS ;) ...as soon as the SDK supports both that is ^^

=) Once there is support, I will “find a way” to get one for this purpose! No one who has money would want to associate with someone as lowly as me :wink:

Hey, thanks for paying attention to this thread!

So here is the general idea.

I will code in C++ (C# if necessary). Also I will code in OpenGL and Direct X respectively.

I will write Java wrapper classes (JNI) just like we do for JOGL and JLWGL. There is no complex concept here. I’m just applying the fact that I’ll write code in: Java, C++, C#, OpenGL and Direct X until everything works. If you guys/gals have an easier way to do this, let me know. But know that I’ll code in any fashion to make this thing work. Why? Because, I feel comfortable doing it.

If you see a critical flaw on this idea, please let me know. But as far as I’m concerned this is easily doable.

Edit: I have a Mac mini, and any other type of Desktop and Mobile device you need, so stop arguing. If you need it you just have to buy it dawg!

You should first get a headless java application running on the consoleros before writing the wrappers.
Also if the consoles support gl, you might should consider teaming up with the guys from jogl/lwjgl to add support for the consoles one layer deeper. The upside would be that not only jme would benefit.

2 Likes

One reason I say this should be easy is because JOGL and JLWGL exist so we could do the same for C++ and Direct X for XboxOne which is the hardest part.

Right now though, what I intend to do is exactly what you guys/gals did to get Jmonkey to run on iOS. This is my only hope really.

Let’s’ get real on this thread.

What is the approach I should take to support XboxOne on Jmonkey. I’m thinking of writing a translator that translates from Java&OpenGL to C++&DirectX. Is this an easy and or sensible idea?

If this is difficult to make and maintain then I wouldn’t want to support XboxOne. Please, any ideas on this (especially if you are a JOGL or JLWGL CORE maintainer)?

@Pixelapp said: Let's' get real on this thread.

What is the approach I should take to support XboxOne on Jmonkey. I’m thinking of writing a translator that translates from Java&OpenGL to C++&DirectX. Is this an easy and or sensible idea?

Where this would become difficult (not saying impossible), would be keeping the distinct split of JME and shaders. This would require everyone to create multiple versions of custom shaders with no easy/quick way of testing them for the port.

@Pixelapp said: If this is difficult to make and maintain then I wouldn't want to support XboxOne. Please, any ideas on this (especially if you are a JOGL or JLWGL CORE maintainer)?

I think your idea is cool… and would focus completely on the platform that will be the easiest to port to. Because of the difference between OpenGL and DirectX, many (or most) of the core classes for JME (which wrap wrapped OpenGL calls–two layers up from the source at this point) would need to be altered in fairly significant ways. This wouldn’t be an issue if the platform already supports OpenGL.

For the sake of research… have a look at DirectX4Java:

https://code.google.com/p/directx4java/

But how was the Jmonkey iOS support created? How is it different from what I’m trying to do? @normen didn’t seem to run into any complications or the slightest difficulties.

Edit: Man, you know what? This project is definitely going to happen. I can always ask the JOGL and JLWGL about their techniques. :slight_smile: