UnityLobby - Page 27

UnityLobby

Discuss everything related to running Spring on your chosen distribution of Linux.

Moderator: Moderators

Locked

What would u like to see implentent next (after next release should be tomorrow or day after at most)???

Poll ended at 20 Jul 2006, 01:04

Direct IP Multiplayer Games
7
54%
Chatroom (chat only for the moment)
1
8%
More Options for Configure Section
2
15%
More Options for Skirmish Section i.e colors teams spectators etc
3
23%
 
Total votes: 13

hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

To setup a battle is exact same approach online / offline for UnityLobby.

Right Click on DockApp to open up Battle Screen.
All that is an extra tab for Online Options. i.e description / playercount / password / locked.

Doesnt get much easier than that.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

But I agree it's hard to find. No point in duplicating something that, let's face it, isn't good. Another button with 'Host Game' on it would help a lot to lower the barrier of entry.
own3d
Posts: 129
Joined: 25 Aug 2006, 16:31

Post by own3d »

With the existing design a "Play Online" tab would be a good idea in my opinion, so regular folk can tell how to play online, its not obvious that you need to log into the lobby to play Online either.

A window which appears upon opening the program I think would be a good idea. This is what I propose:

Start Unity lobby, a window pops up with the following options:

Play spring
Which then moves to a different page where the following options are displayed:
Play single player
Play multiplayer on a Lan
Play Multiplayer on the Internet

If this is the user's first time in spring they will need to configure it, so when they click on any of these links tell them this and direct them to the guided tour and or options window.

Options
Ideally have a wizard which takes the user through the essential options like setting up an account etc, This would be easiest to do via a web page link

After the web page wizard has run its course the options should be familiar so the menu does not need changing significantly. However I would include the lobby network options in the spring options. After the wizard has completed it should inform the player that if he/she has followed this guide they are now ready to play spring. From there a link from the page should take them back to the Play spring page .

Image

For the guided tour page I propose the following design http://www.openwebdesign.org/viewdesign ... browse.php
Its opensource so is compatible with this project.
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

Time for a few things to be pointed out
  • Python is not truely multi-threaded
    http://www.python.org/doc/faq/library.h ... reter-lock

    Basicly Python Interperter can only make use of 1 cpu at a time. There are a few work around modules, but are either to new imo, or take to much a perforemence hit on single cpu machines.


    As it is gonna need to make a seperate python program deciated to unitsync & updating map / mod cache. And then communicate between the 2 python programs.
    So can update map / mod cache when user adds new map / mod while unitylobby is already running. Without locking up GUI or timing out of lobby server.

    As for mini-webserver its overkill imo & assuming it will display on diff webbrowsers & ups requirements / resources to run UnityLobby.

    Adding Host Button to Lobby Server, need decent icon for one ( still looking for one to display channel listings ), not to mention can only popup Battle Screen with new GUI layout. Doesnt really solve anything.
Now for ideas going to do
  • The Host Battle Button will be faded out & i will add tooltip reminding user to connect to lobby server first. If there not connected.

    Gonna add default lobby server to Setup Wizard is a nice idea. Also thinking of add option to auto-connect @ startup.

Basicly aiming for low-cpu usage were possible, since it need to be run in background. And simple design is normally best
own3d
Posts: 129
Joined: 25 Aug 2006, 16:31

Post by own3d »

As for mini-webserver its overkill imo & assuming it will display on diff webbrowsers & ups requirements / resources to run UnityLobby.
What I mean is a link to an external web browser so it adds nothing to bloat unity lobby. :) besides the page is standards compliment so it works everywhere.
Adding Host Button to Lobby Server, need decent icon for one ( still looking for one to display channel listings ), not to mention can only popup Battle Screen with new GUI layout. Doesnt really solve anything.
"go-home" icon on this page would suit "host" http://tango.freedesktop.org/Tango_Icon_Gallery
On the same page "applications-internet" or "system-software-update" would suit "display channel listings"
Now for ideas going to do


The Host Battle Button will be faded out & i will add tooltip reminding user to connect to lobby server first. If there not connected.

Gonna add default lobby server to Setup Wizard is a nice idea. Also thinking of add option to auto-connect @ startup.
I had forgotten about that wizard to set up the paths, since you will be adding accounts to it, it would make sense to add graphics and sound too :) that way the only time they would need to go through the options is if they want to change something afterwards.

After this wizard has finished it would make sense to have it show how to host and join games. Animations from *.gifs and or pictures would be able to achieve this effectively. I still think a web page displayed externally would be best for this part.
kaiserbert
Posts: 50
Joined: 21 Jul 2006, 22:11

Post by kaiserbert »

I have got Problems with lobby CLient.
He cant find the GUI_Skirmish Module.
But it is in the gui directory.
Therefor i changed the Permissions and the error changed to another one.

Can anybody from the Devs look whether the Permissions are right?
Is there still a working version of the gui?
The gui Package on side 1 of this Tread still have got Bugs.

bye Bert
own3d
Posts: 129
Joined: 25 Aug 2006, 16:31

Post by own3d »

kaiserbert wrote:I have got Problems with lobby CLient.
He cant find the GUI_Skirmish Module.
But it is in the gui directory.
Therefor i changed the Permissions and the error changed to another one.

Can anybody from the Devs look whether the Permissions are right?
Is there still a working version of the gui?
The gui Package on side 1 of this Tread still have got Bugs.

bye Bert
The latest versions are on svn you need to check out svn, install spring's dependencies and run unity lobby from there, the package at the begining of this thread is not recent.
kaiserbert
Posts: 50
Joined: 21 Jul 2006, 22:11

Post by kaiserbert »

own3d wrote: The latest versions are on svn you need to check out svn, install spring's dependencies and run unity lobby from there, the package at the begining of this thread is not recent.
Can you give mea Link to working Howto plz?

How can i get the SVN gui?
kaiserbert
Posts: 50
Joined: 21 Jul 2006, 22:11

Post by kaiserbert »

I tried to run Unity.py in the directory
/usr/local/games/spring/taspring_0.74b1/UnityLobby

But it comes some error,
Error: UnityLobby requires at least GTK v2.10.0 and PyGTK v2.10.0, your versions of GTK and PyGTK are (2, 8, 20) and (2, 8, 6)

I am using Debian Etch(testing).
To get the right Version i have to download from Debian-experimental ?
Is there another solution?

I hope the newer versions doesnt need such a new gtk Package.

bye Bert
own3d
Posts: 129
Joined: 25 Aug 2006, 16:31

Post by own3d »

kaiserbert wrote: To get the right Version i have to download from Debian-experimental ?
Is there another solution?
Yes you can compile them yourself and assuming its standard autoconf stuff you can type the following commands:

Code: Select all

./configure
and if by some miracle you have all the dependencies type:

Code: Select all

make && make install
to uninstall the software go into the directory you did all that in to compile it and type:

Code: Select all

make uninstall
assuming the people who made it bothered to make that part,

Its probably easier to specify a prefix location in /opt/ when running configure so most of the files are in /opt/ and are easy to track down.

Where ever possible I would recommend using a package even if its from unstable or testing. After all, the only thing you will use it for is to compile ta spring/unity and its a lot easier to get rid of.
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

Another commit done. Will work on UPDATEBATTLEDETAILS later tonight..
Took awhile to make sure logic for Hosting Battle Button was ok
  • Removed Popup for hosting. New tab in Battle Window for hosting.
    Closing Battle Window will exit outof online battle.
    Fixed Code for add AI Bots, was using correct value for ally number
    Fixed Bug were Warning Dialogs would freeze app (untested)
    Quiting outof lobby will exit online battles now
Requirements will prob hold at this for good while into future. Maybe lose needing PIL down the road, but got better things to work on.
Higher gtk needed for Battle Player List / DockApp / Wizard / Lobby Color Button Preferences . Wont be dropping requirements for it in the future
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

Another commit done
  • Added Support for UPDATEBATTLEDETAILS Lobby Protocol
In plain english u can now update the options (basicly all the options minus map / mod / players / ai different protocol)

Note for testers:- Ghosted Buildings is acting abit weird. If people can run tests Single Player versus bots. And see if i have it mixed around or not would help. since i got no working ai here.
Either its mixed around entirely or i just need to switch the 0/1 when sending it to lobby server.
Last edited by hollowsoul on 27 Dec 2006, 22:37, edited 1 time in total.
User avatar
clericvash
Posts: 1394
Joined: 05 Oct 2004, 01:05

Post by clericvash »

Great work hollowsoul, can't wait to try it out sometime.

Just need to find a decent linux distro to use on my laptop :).
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

Another fix committed to svn thx to a quick bug report.
Keep bug reports coming in if u encounter one . Dont assume i know of it :)
  • Shouldnt complain when tryinng to host a battle with AI already there. Not Lobby Support for AI yet. Just fixing the code that update Player Name / AI Owner Name when joining / leaving lobby server.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

Hopefully found a way to run a current version of unity on a 74b1 checkout, did

Code: Select all

cd checkout/dir/UnityLobby
svn switch https://taspring.clan-sy.com/svn/spring/trunk/UnityLobby/
and it updated itself, looks like a current version, but I can't really tell. It can host a game with an AI, so that's quite a lot, I guess.

Won't make big comments until I make sure that I have the current version - how to find out? Found several minor bugs already, color picker problem (invalid utf-8 string yadda yadda, Battle.py:128), unintuitive server configuration, connection hangs when no default server is selected, starting energy editbox is periodically reset, options ui can hang when an exception is thrown (that's normal in pygtk, had that in my programs, too) - that's my 10 minute test, but props for getting this far.
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

@ imbaczek
Nope that should be the latest version u got now.
Can u pastebin any errors u get & steps to reproduce pm / paste here plz.
Be easier for me to figure out whats going wrong. Dont get much time to debug it, and unable to reproduce some of your errors here.
  • As for utf-8, pretty sure there from chat text from Lobby Server, pretty sure its harmless & not quiet sure how to solve them atm.
    But pretty sure there harmless, and highly doubt its from color chooser.

    As for hanging GUI with no default server selected, it should popup the Lobby Preferences -> Add Lobby Server Window. Tried it and still works
    Although if Lobby Preferences is already shown it would raise the window up. Guess i should add that into code

    Starting Energy periodly reset ??? Never seen it & to be honest find it extremely hard to believe it.

    Options as in right click on DockApp ??
    Or as in Lobby Window, Preferences Buttons ?? (Preferences Window modelled after x-chat but still needs work to be done)
@ Everyone else
  • Plan for work tomorrow, is to add code for missing map / mod . And code in showing spectators either.

    Code: Select all

    a) in Current Player List & add a column for Spectators
    b) code in Spectator List & put under current Player List
    think i go with A not 100% sure yet.

    Once there done, rest of Battle Code (minus unit restrictions / drawing / displaying starting areas on map preview) should only take a day at most to get done. Since most of background code is in place & needs above to be done first
updated:- best way of checking atm if recent version as in today. if your max energy / metal u can set to is 10,000 (and not 12,000). Then u got latest version
Last edited by hollowsoul on 28 Dec 2006, 01:29, edited 2 times in total.
own3d
Posts: 129
Joined: 25 Aug 2006, 16:31

Post by own3d »

I tested the building ghosting and it is not functioning buildings simply disappear when no longer in view and I verified it is checked in the options in the GUI.

However in script.txt I found this

Code: Select all

GhostedBuildings=0;
So something isn't working in the GUI.
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

Must had them the wrong way around.

Basicly switch the following in client/GLOBAL.py.

Code: Select all

GHOSTED_BUILDINGS = ['On', 'Off']
GHOSTED_BUILDINGS = ['Off', 'On']
Committed to svn & should solve the problem. Thx Own3d for checking
Anyway thats enough coding for today.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

Ok, more useful bug reports and comments:

- lobby server list empty:

Code: Select all

Traceback (most recent call last):
  File "/home/imbaczek/usr/taspring_0.74b1/UnityLobby/client/GUI_Lobby.py", line 2214, in Connection
    server, port, self.spring_udp_port, username, password = self.lobby_preferences.get_default_lobby_server()
  File "/home/imbaczek/usr/taspring_0.74b1/UnityLobby/client/GUI_Lobby.py", line 633, in get_default_lobby_server
    default = self.lobby_ini.get(server_list[i], 'Default', 'No')
  File "/usr/lib/python2.4/ConfigParser.py", line 520, in get
    raise NoOptionError(option, section)
ConfigParser.NoOptionError: No option 'Default' in section: 'COLORS'
The GUI doesn't hang, but the connect button does, i.e. keeps the gear icon and subsequent clicks don't do anything.

- options dialog really small. Give it a min height and a min width of, e.g., 600x400.

- periodic reset of energy in resources tab: change it with spin buttons and then try to change it with the keyboard. Remember to use the delete key. Generally avoid validating input while its being entered, haven't looked at the source but I guess that's the reason.

- starting resources set on 2k/2k, whereas 1k/1k is considered standard.

- game description/max players is not remembered across restarts (more like a missing feature than a bug :))

- I don't see a way to ready up without starting a game when playing with bots.

- when I return from a game with a bot, the green balls don't turn red.

- all buttons with icons only really need a label - they're cryptic and/or hard to spot right now.

- tooltips in the game list would help a lot with explaining what the icons mean. Lock is pretty obvoius, but that red ball isn't, especially that it's used in other contexts.
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

@ imbaczek
Nuke your ~/.unity-lobby plz & configure again.
Srry about that. Small change to lobby.ini, and dont have versioning check on that file.

Or edit ~/.unity-lobby/lobby.ini and remove the section [COLOR]
  • As for energy spinner thats pretty much default behaviour for pygtk signal == 'value changed'. I look into using some combination of signals down the road.

    As for remembering game setup. Techincally its nearly there, as values all stored in a Dictionaries Data Type. Just need to add code to save & load from a file, and GUI code for selecting them of course.

    I try & code in tooltips but they annoy hell outof. i.e how do u add tooltip to a gtk.ToggleButton for one ?
I will look into the rest later today as all valid complaints. Working on Spectators atm

note: as side note will add --version to UnityLobby later. So when update forum post can put version number there. So easier to check using latest version
Locked

Return to “Linux”