(August 2016) Monthly WIP screenshot thread

I never found a way to get the “screenDensity” for a PC. I think there is no way to get that information under Windows/Linux/MacOS. Maybe I just did not search hard enough. The name of the display seems to be no big problem since all OS seem to recognize display names. So in theory one could make a database for that by collecting or mining data from the internet.

As I understand it with Java on PC you do Toolkit.getDefaultToolkit().getScreenResolution() to get the screen density, but it is not reliable. The graphics card is responsible for reporting this figure to the OS, but apparently on PC they do a poor job of it. On PC the font calculation just assumes a 72 DPI screen. I’m going to add in an optional constructor to the AssetKey that allows one to specify a DPI with a default of 72.

Got some of the chat system done, space stations send you a warning if you crash into them (that’s how i tested the whole thing while making it, took a lot of smashing):

I was tired of Nifty’s shit and errors and decided to make it with quads and bitmaptexts. All messaging is done via guava’s eventbus which works well so far.

The text in the 4 reply boxes and the contacts also scales itself down if it goes over bounds, otherwise it’s limited to the RectangleTM.


Just going to leave this here:

It’s where a lot of Nifty refugees end up and it can be nicer than “quads and bitmap texts”… even though effectively that’s what it is. :slight_smile:


There’s something I want to share with you:

The .svg file for Inkscape is here: https://drive.google.com/file/d/0ByWKJMpxOBKFZUMzQkhYU0xwcEE/view?usp=sharing

The .pdf file printed with FreePDF is here: https://drive.google.com/file/d/0ByWKJMpxOBKFUF9jdkxjRFQ4eW8/view?usp=sharing

Please make a copy of those files - I can not guarantee that this google drive will be there for decades. :chimpanzee_smile:


Nicely done, someone should probably put that in the wiki for beginners. (if it’s not already?)

Why majority here chooses to use Lemur over Nifty?

It’s not that Nifty is bad, but for many it can become too complicated as the complexity of the project increases (specially on the styles) and the documentation leaves many loose ends that we have to tie up by ourselves through trial and error.

Lemur is more friendly and offers features that Nifty does not have yet. My only struggle with Lemur was the initial setup and it was a mistake on my end.

My question is when will Lemur replace Nifty in the official engine release? :stuck_out_tongue:


I know this isn’t the thread for it but I don’t want to make a thread just for this question: I know lemur deals with things like mouse over highlighting a button and what not, but can you set a button to use custom graphics from an image? Say if you had an image for pressed, pressed down, neutral, highlighted, and so on?

Sure… just add a button listener that swaps the background texture or whatever.

1 Like

That’s unclear. It currently enjoys the freedom to grow as it will without being tied to a 5 year release cycle. :stuck_out_tongue:

1 Like

Not being facetious… but wondering if you’ve tried them both or not.

Whether rightly so or not, I’ve seen Nifty drive many a developer to throw up their hands, scrap what they’ve done, and “I’ll just write it myself!” Lemur is me doing that for them ahead of time. And it’s written such that you can write your own UI layer with just the pieces you like if you want.

But mostly, I think it’s because Lemur is real Spatials and easy to get started.


I did the same for my relatively simple game editor. Probably going to lemur it up soon

That’s the main reason for me choosing Lemur over JavaFX.

1 Like

Why majority here chooses to use Lemur over Nifty?

Just the noisiest ones :slight_smile: I demand statistics before I can treat this as a fact. But yeah, great that there are choices and friendly competition.

I have to disagree with the bottom left slide.
It looks like you have set the center of the geometry and have it rotate “the right way”, but if you move the geometry the center will be off.

You want an intermediary Node instead. Since this is information for n00bs, these traps need to be pointed out before somebody falls inside and pulls the hair ahead of time :slight_smile:

Added some time-related debug graphs to the network example (I should probably roll them into SimEthereal itself actually):


Top spread out ticks show:
White = delayed frame time
Green = object state update times
Cyan = server message time stamps

The pink bar shows time relative to the ‘delay’ offset from which the UI visualizes.

The short green graph below it is showing the relative drift in client to server time. If the line if flat then that means that client and server consistently agree on the passage of time (ie: the calculated time delta between the two systems has remained constant). As ping times change or frames are dropped this calculated delta may drift more or less.

My most hard-core user occasionally sees object seem to shift slightly back in time. I have a theory that this is related to time indexing and not actually data syncing but it’s tough to track that. This graph will at least be a good foundation to show if anything else that’s potentially a co-symptom. (Time cannot go backwards and neither can object state… but maybe whatever glitch causes the others will cause blips on these graphs, too… if nothing else you can clearly see state and message drops though the graph moves pretty fast.)


Sooooo, whit all that debate on gui… am the only one still working whit ToneGod gui? x)

I use it

1 Like

Me 2.