nm8 + NiftyGUI discussion

18 views
Skip to first unread message

NullNoname

unread,
Oct 23, 2011, 2:22:33 AM10/23/11
to nullpomino-dev
I added the (incomplete) NullpoMino Framework (NF) implementation of
NiftyGUI(http://nifty-gui.lessvoid.com/) to nm8's code repository.
NiftyGUI is a flexible GUI library that is used for games and
multimedia apps.
I decided to add the support of NiftyGUI because of the following
reasons:
1. It's almost independent of specific rendering system. As NF is also
rendering independent, it's a very good thing. We write
implementations of NiftyGUI's RenderDevice, InputSystem, SoundSystem,
and some others for NF, then it'll work with both Slick and Swing.
2. NiftyGUI' GUI is written with XML. So it's easy to edit and test
the GUI. Also our GUI initialization codes won't become huge.
3. We can create our custom controls so it's likely possible to
integrate NullpoMino's game screen to the GUI.
4. NiftyGUI has some cool built-in visual effects to enhance the
user's experience.
5. I thought it's easier to use existing GUI toolkits rather than
creating one from scratch.

Then, I want to hear your opinions and suggestions:
*Zircean is creating iOS style GUI toolkit NWT/NLT. Should we wait
until it comes or start creating GUI with NiftyGUI now?
*Should we use NiftyGUI to chat features too? If so, we'll have to
abandon IME support and lose a lot of players from Japan/China/Other
countries.
*Should we really integrate NullpoMino's game screen to the GUI? We
can turn off the NiftyGUI during the game sessions in order to improve
the performance.
If you have any other opinions, suggestions, and/or questions, please
don't hesitate to post!

Best Regards,
NullNoname

NullNoname

unread,
Oct 23, 2011, 3:45:43 AM10/23/11
to nullpomino-dev
Oops, I just find that NiftyGUI requires Java 1.6.
So... should we drop the support of Java 1.5, or drop NiftyGUI?
I heard the rumor that Java 1.5 is still used in somewhere, but this
is a old rumor, so it might not be true today.

Stavro Mueller-Beta

unread,
Oct 23, 2011, 5:17:06 AM10/23/11
to nullpom...@googlegroups.com
On Sun, Oct 23, 2011 at 9:45 AM, NullNoname <pbomql...@gmail.com> wrote:
Oops, I just find that NiftyGUI requires Java 1.6.
So... should we drop the support of Java 1.5, or drop NiftyGUI?
I heard the rumor that Java 1.5 is still used in somewhere, but this
is a old rumor, so it might not be true today.


The only reason for Nullpomino's compatibility to Java 1.5 had been old PowerPC based Macs. The last version of Mac OS X with PowerPC support is version 10.5 (Leopard) which should be beyond its end of life cycle by now. Since PowerPC OS X is dead, I do not see a reason to maintain this backwards compatibility anymore.

If someone still wishes to use an old PPC Mac, they can always install GNU/Linux and still play NullpoMino on it. Debian supports PPC to this day.

Alex Kerr

unread,
Oct 23, 2011, 5:26:08 AM10/23/11
to nullpom...@googlegroups.com
I feel that IME support is important. I would not want to prevent users in other regions from being able to fully enjoy this game.

Wojtek Kowaluk

unread,
Oct 23, 2011, 10:46:53 AM10/23/11
to nullpomino-dev
this is how situation looks with java 1.5 (may be not accurate because
i don't know much about macs and it's not easy to find good source on
this):

mac os x 10.4 (tiger) has 1.5 and there is no update to 1.6
mac os x 10.5 (leopard) comes with 1.5 but there is update to 1.6
mac os x 10.6 (snow leopard) and mac os 10.7 (lion) come with 1.6

at it what decided to keep with 1.5 there were quite few people using
tiger, but that may not be true anymore, again there is no good source
on popularity of particular versions.

i think it's ok to drop 1.5 support for nullpomino 8, mac os tiger is
very old already and will be even older on relase date of npm8. many
new mac os x programs require at least leopard version because of
various reasons, so tiger users have to accept that.

Zircean

unread,
Oct 23, 2011, 12:38:57 PM10/23/11
to nullpom...@googlegroups.com
*Zircean is creating iOS style GUI toolkit NWT/NLT. Should we wait
until it comes or start creating GUI with NiftyGUI now? 

Whenever I get around to working on this, that is... though probably not anymore, honestly! :P

In any case, if we have a GUI toolkit now, I won't have to create my own toolkit to do all the rendering. If NiftyGUI has all the controls and GUI event stuff built-in, which it appears to have, then we can throw out NWT and I'll just write the iOS-style business right into the program. It can be turned off when the overlay is not up, at the very least, though you would lose e.g. toaster popups. (I was playing with the idea of having a taskbar of sorts to store notifications as well, but that's not really a big issue).

*Should we use NiftyGUI to chat features too? If so, we'll have to
abandon IME support and lose a lot of players from Japan/China/Other
countries.

You're sure it doesn't allow IME? That could be an issue, I suppose I'll think about how to resolve that.

We could use a library to handle it, I just looked and found this: http://sourceforge.net/projects/jgim

*Should we really integrate NullpoMino's game screen to the GUI? We
can turn off the NiftyGUI during the game sessions in order to improve
the performance. 

This is why I wanted them to be pretty separate in the first place, with the distinction between the NEURO overlay and the game screen. We won't have to worry about there being two GUIs at any other time (during the menu we would only be using Nifty).

NullNoname

unread,
Oct 24, 2011, 12:59:25 PM10/24/11
to nullpomino-dev
Thanks everyone for opinions and suggestions ^_^
So we can safely drop JRE 1.5.

The IME is a big problem. We can use the IME engine of KMapIME
(Zircean found it: http://sourceforge.net/projects/jgim) to implement
a simple IME of our own, but I think we should also provide some
alternate ways to enter non-alphabet characters. (Such as spawning an
AWT window outside of the game screen)

I'm currently experimenting with the NiftyGUI. It seems the standard
controls library uses BMFont (the .fnt files) internally. So we'll
need to implement the support of BMFont for Swing. (Slick has built-in
support of it)

Zircean

unread,
Oct 24, 2011, 4:40:38 PM10/24/11
to nullpom...@googlegroups.com
That doesn't sound too bad.

I just got rid of the NWT business because it looks like we're not going to need it anymore. I'd still like to keep the screen stack feature, though. Will that be difficult with Nifty? (I've only looked at it a little bit, so I'll trudge through it more later.)
Reply all
Reply to author
Forward
0 new messages