Menu

Graphical Interface Team: The Umbra Project

Developers
Daedius
2004-07-08
2004-07-13
  • Daedius

    Daedius - 2004-07-08

    Hi there everyone!  This is a thread for people who want to work on the interface graphics library of our chat.  This includes high performance graphics, font engines, costum graphical components, and much more.  I'd like to get a count of people who are working with me on this part of the engine. For people who want to see an example of what is capable right now, go to :  http://nwdo.sourceforge.net

     
    • Roman Rudenko

      Roman Rudenko - 2004-07-09

      Frankly speaking (as you all noticed), I don't really like daedius's idea of starting UI work from scratch (or rather, empty framebuffer). It's not like I have something about framebuffers. If he wrote a 2D arcade shoot-em-up game, his choice of starting from such a low abstraction level would be completely justified, and I would vote with my both hands for it. Unfortunately, this is not a 2D shoot-em-up game. Alpha-blended sprites and OpenGL-like interfaces are good things, but I *still*  do not understand how are they relevant to a chat + die roller + character data maintenance application. Something like OpenRPG is a lot more similar to NWDO application concept (as I percieve it, of course), then 1942. In my humble opinion, cool transparency effects should take the very back seat for a chat application.
      Chats are text-based, and what we need is *good handling of text*. First of all, this means *honouring system fonts settings* (sizes, font faces, colours, anti-aliasing). It would be very hard, bordering on impossible, to make framebuffer-based java applet follow those settings. As a result, many users are going to have problems with chat applet, ranging from discomfort (hi-res laptop LCD users) to being unable to use it at all (screenreader users). The other issue is supporting non-latin (Unicode) text. How about Cyryllic characters, or supporting right-to-left languages? Do we have time to devote to that? If we don't, folks that are using non-Latin-based languages are lost from your pool of potential users and developers.
      SWT (Standard Widget Toolkit) seems a lot more appealing to me from this point of view. No, it does not have transparent sprites, but SWT applications lokk familiar to user of any OS and use system settings (rather then single one-size-fits-all toolkit designer's choice) for deciding how should window components be displayed. SWT supports Unicode in widgets. SWT will let us start writing actual UI instead of fixing off-by-one errors in non-fixed width font rendering code. SWT apps look like they were designed specifically for user's platform - and users love that kind of attention. SWT won't cure herpes and scare away werewolves, but it is pretty close ;).
      I understand that you are probably sick of my ramblings. I am sick of typing all this, too ;). So, if I have not convinced daedius to abandon his route and you folks are still firmly set on continuing his current work, I will stop throwing around words and will sit down coding to produce you my "UI proof of concept" code/screenshots in a couple of days. If that does not convince anyone... maybe we'll be better off writing two different apps, because our differences in perception of "right thing" will make collaboration quite hard.

       
    • alankor

      alankor - 2004-07-09

      I don't think we will be having much trouble with cyrilic, korean or right-to-left. After all this is an international chat, so everyone will speak in english. I'm spanish speaker, and I'm used to not being able to type  in old-school chats after all.

      Anyways, what you are saying sounds right to me, the only trouble seems to be compatibility and such

       
      • Roman Rudenko

        Roman Rudenko - 2004-07-09

        All the Spanish and German folks have not much to lose from lack of Unicode support (just a couple of rare characters). A group that tries to use the client and server in standalone mode to play a game in Russian simply will not be able to do this without proper unicode support (as none of Russian letters are in Latin alphabet).

         
      • Roman Rudenko

        Roman Rudenko - 2004-07-09

        If by compability you mean "works with other OSes out there", we got it: http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-home/dev.html#ports . Unless we will have many AIX or HP-UX chatters, we aren't likely to run into trouble. ;)
        If by compability you mean "works the same on every OS", then you can just have a look at compability of Eclipse with different systems. Eclipse is built from SWT.
        If by compability you mean "works with old JVMs", then I have to say that it does not. However, from a completely unscientific stats page http://www.andrew-gray.com/dist/stats.shtml (that is the best I managed to find on JVM version stats), we see old buggy Miscrosoft JVM versions 1.1 on the top. Those are the users that haven't downloaded Java at all. Developing for this outdated, buggy and slow JVM is not what I'd spend my free time on (just google for what people think about this JVM).
        However, if we have a look at those who have more or less recent JVMs (starting from 1.2), we can see that 1.4.* is the most popular version. So if we decide to make all those MS JVM users download real Sun Java, then it might as well be 1.4.2 (since most non-MS JVM users got it already), and we can limit ourselves to suport of 1.4.

         
    • Roman Rudenko

      Roman Rudenko - 2004-07-10

      Here is a very first and very crappy UI draft. No die roller or character sheet in there so far, I just want to make sure everyone is fine about the default "mirc-like" chat interface.
      http://nwdo.sourceforge.net/crappy-draft-001.png

       
    • Daedius

      Daedius - 2004-07-11

      Hey there,  Daedius here.  I just wanted to toss in a post since you guys don't think i'm ignoring you.  I hope everyone knows that I do indeed want this chat to be great =)  So don't think i'm not open to ideas.  And honostly.. i've not started on an interface so much as I have started on a graphics engine which I feel has the capability to be incredibly useful (nothing more, nothing less).  In fact, i've been considering java Swing a bit more since our decision to go 1.4 for the back end support for the backend side of the interface.  Part of me feels, as long as I can have complete control over the interface, I will be happy.  I think this next week I will focus my abilities into a java 1.4 interface and see how I feel.  Thanks for your upload Roman.

      As always, my nwod applet up there is an "Experimentation of thought".  I do realize we are not making a 3D shooter.  We are making a chat interface.  All I want to do is create something that will make people look at it and say.. "WOW, these people are 1337".  Anyways, I will be working hard this week.  Keep posting.

      - Daedius

       
      • Roman Rudenko

        Roman Rudenko - 2004-07-12

        Could you please explain, *why* do you require complete control over the application look? You definitely can have it with any widget toolkit you use (by drawing everything on a Canvas-like component), but what is the point of grabbing it all? I subscribe to the belief that person that should be controlling the way in which application works and looks should be the user, and that user's freedom of choosing the way their copy of application works should not be limited without any major reasons to do so (such as significant technological roadblocks or lack of developer time). Honestly speaking, it seems to me that the degree of control you are striving for leaves too little control to the user. What level of interface customizability are you planning?

         
    • Daedius

      Daedius - 2004-07-13

      First of all.  I honostly do not like the Graphics object.  I feel it performs poorly and gives me no benefit oter than a clunky system.  To me, I feel this project is primarily focused around the rendering and manipulation of images. I do not need a g.drawLine(x,y,w,h) or any of the many other useless graphics functions Swing/AWT gives.  Second of all, I'm not limiting the control of the user in anyway.  Buttons will always be buttons, and textboxes will always be textboxes?  How am I limiting their control in any way?  When I say I want complete control, what I am saying is that I want to be able to have things look like and behave how I want them to.  I feel that the java Swing library is a really generic and very dull.  Yes, while it does have a lot of its functionality written, and is very easy to use, I do not feel it really gives me what I want.  I think we have a very different idea of the interface Roman.  I get the feeling that you forsee this as a windows application like mIRC rather than a graphical gaming chat room.  I'm really not sure what to say about your concerns except that we have different visions.  We can talk to other people in the group to see which side the group is leaning towards. PLEASE POST EVERYONE.

       
      • Roman Rudenko

        Roman Rudenko - 2004-07-13

        You are completely correct in outlining differences between our approaches, and we definitely need to reach a general decision on this. I'll start a new thread, and I would like to welcome everyone who haven't yet shared their opinions on this topic to do so and tell us what they think.

         

Log in to post a comment.

MongoDB Logo MongoDB