UnityLobby
Moderator: Moderators
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
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 .

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.
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 .

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.
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
Time for a few things to be pointed out
Basicly aiming for low-cpu usage were possible, since it need to be run in background. And simple design is normally best
- 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.
- 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
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.As for mini-webserver its overkill imo & assuming it will display on diff webbrowsers & ups requirements / resources to run UnityLobby.
"go-home" icon on this page would suit "host" http://tango.freedesktop.org/Tango_Icon_GalleryAdding 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.
On the same page "applications-internet" or "system-software-update" would suit "display channel listings"
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.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.
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.
-
- Posts: 50
- Joined: 21 Jul 2006, 22:11
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
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 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
-
- Posts: 50
- Joined: 21 Jul 2006, 22:11
-
- Posts: 50
- Joined: 21 Jul 2006, 22:11
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
/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
Yes you can compile them yourself and assuming its standard autoconf stuff you can type the following commands:kaiserbert wrote: To get the right Version i have to download from Debian-experimental ?
Is there another solution?
Code: Select all
./configure
Code: Select all
make && make install
Code: Select all
make uninstall
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.
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
Another commit done. Will work on UPDATEBATTLEDETAILS later tonight..
Took awhile to make sure logic for Hosting Battle Button was ok
Higher gtk needed for Battle Player List / DockApp / Wizard / Lobby Color Button Preferences . Wont be dropping requirements for it in the future
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
Higher gtk needed for Battle Player List / DockApp / Wizard / Lobby Color Button Preferences . Wont be dropping requirements for it in the future
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
Another commit done
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.
- Added Support for UPDATEBATTLEDETAILS Lobby 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.
- clericvash
- Posts: 1394
- Joined: 05 Oct 2004, 01:05
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
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 :)
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.
Hopefully found a way to run a current version of unity on a 74b1 checkout, did
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.
Code: Select all
cd checkout/dir/UnityLobby
svn switch https://taspring.clan-sy.com/svn/spring/trunk/UnityLobby/
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.
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
@ 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.
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)
- Plan for work tomorrow, is to add code for missing map / mod . And code in showing spectators either.
think i go with A not 100% sure yet.
Code: Select all
a) in Current Player List & add a column for Spectators b) code in Spectator List & put under current Player List
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
Last edited by hollowsoul on 28 Dec 2006, 01:29, edited 2 times in total.
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
So something isn't working in the GUI.
However in script.txt I found this
Code: Select all
GhostedBuildings=0;
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
Must had them the wrong way around.
Basicly switch the following in client/GLOBAL.py.
Committed to svn & should solve the problem. Thx Own3d for checking
Anyway thats enough coding for today.
Basicly switch the following in client/GLOBAL.py.
Code: Select all
GHOSTED_BUILDINGS = ['On', 'Off']
GHOSTED_BUILDINGS = ['Off', 'On']
Anyway thats enough coding for today.
Ok, more useful bug reports and comments:
- lobby server list empty:
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.
- 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'
- 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.
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
@ 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]
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
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 ?
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