Perplexus: Tears Of Hæl (PPX:ToH)

Yes I checked the name, and found that ball thing, but could not find a another word that would better describe the state of the world we created. So we chose a subtitle to make it different and most of the times we refer to it simply PPX.



Thanks, we’re looking for anyone, who can help us, in the hope that we can learn from each other :slight_smile: So, I’ll count on you as well :slight_smile:

anthyon said:
Thanks, we're looking for anyone, who can help us, in the hope that we can learn from each other :) So, I'll count on you as well :)

Great :)

Checked your Website unter Chrome ... everything works very well.
Just found one small bug: After subscription to your Newsletter I get the welcome-mail twice.

that’s strange, I’ll look into it :slight_smile:

update:



just created the facebook page: https://www.facebook.com/pages/Perplexus-Tears-of-Hael/210678468975003 and a twitter page: http://twitter.com/#!/PPXToH for the project.



Not much now, but some administrative tasks we had to do. :slight_smile:

Long wait no post… We had a hard time to find some workarounds to problems we were facing, also we had some summer holidays… :slight_smile: But now we’re back with the first screenshots about the planned ingame gui:



http://novyon.net/gameui/screenshots/PPXClient1.png

http://novyon.net/gameui/screenshots/PPXClient2.png



Yes… as you can see, there will be no registration required to use the game, one can login with facebook, google, twitter or live accounts. :wink:

sweet gui!!! do you make it with NiftyGui?

thanks… :slight_smile:



nope… as I’m not really a gui guru I spent almost two months trying to learn the ins and outs of nifty, and even though I had help with that, but I missed some features I liked in my web development jobs… so I built a java port of awesomium (http://awesomium.com/), which not only enables me to use the whole html+css+javascript power, but lets me put web content into the gui which is required for the above mentioned login services. :slight_smile:

1 Like

WOW!!! Would you like to contribute it into JME core or like addon? Man, you rock!!!

unfortunately it cannot be put into JME as awesomium is commercial software - with free license to non-profits and indie developers making less than 100K a year. There is another project called Berkelium, which will be BSD licensed, but that is not stable enough yet, and has some features missing.



But I’ll see if I’m allowed to publish the java wrapper package, and put it into my maven repo with a guide on how to use it in JME. My wrapper is still missing some functions that are browser specific and have no real meaning in a game GUI context.

smooth man, I really like it.

for those interested, I have published the java wrapper for awesomium c api in my maven repo:



repo url: http://novyon.net/maven

groupId: org.novyon

artifactId: awesomium-j

version: 0.0.2



has the windows dll inside (I’ll take them out later) shared libraries for other platforms should be downloaded directly from awesomium site. the code does not yet cover the whole api, and is built using the 1.6.2 api. for documentation see the awesomium site, the classes I built around the c functions are modelled after the original function signatures.



how to use it:



step 1: create a WebCore instance, and using that create a WebView instance. WebView constructor takes a browser window size as parameter. You can load any URL into the WebView calling webView.loadURL, or load a file: webView.loadFile, or simply provide html in string: webView.loadHTML. LoadFile requires baseDirectory to be set on the webCore instance, as this provides as the root for all resources.



step 2: in your simpleUpdate call webCore.update(), then chack is webView.isDirty() is true, if so you can get the rendered site as bytebuffer calling webView.render().getBuffer() which then can be applied to a texture. Remember that according to awesomium docs, this image you get uses BGRA coding which is not supported by JME :frowning: fortunately you have another method, that will convert to RGBA: webView.render().copy(this.render.getRowSpan(), 4, true, false);



you can send keyboard and mouse events to the webView instance using the inject methods, define callback object to be used in the site’s javascript using WebViewListener.addJsCallback, if you wish to use anything that requires plugins you have to install them by hand into the created {projectFolder}/Default/Plugins directory, and set the plugin path in the webCore constructor which requires a Config instance.



Huhh… this is it in a nutshell :slight_smile:

Does this mean your game will only run on windows? :frowning:

nope… :slight_smile: as I said:



“shared libraries for other platforms should be downloaded directly from awesomium site”



the code I used as a starting poitn was created with dlls included, I will remove the native libraries from the code, and will provide different download packages for different platforms, so not all shared libraries should be packaged for all platforms… awesomium is a bit heavy dependency for this… but I like to work with it :slight_smile:

Cool, too bad you can’t provide a working environment for jME SDK users from your research tho… Would make a nice plugin package.

Okay, for those willing to try it out, I have separated the code needed to run awesomium inside jme:



maven repo: http://novyon.net/maven

groupId: org.novyon

artifactId: awesomium-jme

version: 0.0.3



it’s a simple appstate that can be initialized like:



[java]

AwesomiumGUI gui = new AwesomiumGUI(assetManager, guiNode, inputManager, settings.getWidth(), settings.getHeight(), new WebViewListener(), “data/gui”);

gui.loadURL(“http://localhost:8080/ppx-gui/”);

//this.gui.loadFile(“main.html”);

this.stateManager.attach(this.gui);

[/java]



WebViewListener is an abstract class, should implement the callbacks as needed.

the last parameter is required when one is using local files as GUI not urls (calls loadFile instead of loadURL).

guiNode represents the parent node in the sceneGraph, on which the awesomium node will be attached to.



more updates coming soon…