Game Lobby Support

Discuss the future of Warzone 2100 with us.
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Re: Game Lobby Support

Post by AF-TNowell »

As I said out of game configuration is not necessry.

For example, to programatically host a glest game one would issue something similar to the following command:

Code: Select all

glest -h
Glest when started takes care of its battle screen, the lobby only provides the clients with the necessary information to connect to the host, and the means for them to come together.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Game Lobby Support

Post by Buginator »

AF-TNowell wrote: As I said out of game configuration is not necessry.

For example, to programatically host a glest game one would issue something similar to the following command:

Code: Select all

glest -h
Glest when started takes care of its battle screen, the lobby only provides the clients with the necessary information to connect to the host, and the means for them to come together.
Adding --host would be pretty easy to add to go to the host screen.  I'll fix that up when I get done with the current patch.
(I forgot to mention, that the command to join a ip/hostname is --join now)

I assume you have some kind of a delay when you launch the 'host', and then tell all the clients to join said 'host' ?
AF-TNowell wrote: Sorry for the double post, but regarding links to my client, at the moment I don't have anything I can post publicly as I'm in a development phase and my previous release isn't very pretty compared to my private build. If you could  add me on msn/yahoo xxxx  or email me at xxxxx I can sort something out.


I don't have msn/yahoo, but don't rush anything.
I was most or less just curious.
I forgot to ask, what will the client be licensed under, and will source be made available?

What kind of GUI are you using, QT?  And I assume it will work ok on windows/macs/linux ?
and it ends here.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Game Lobby Support

Post by Buginator »

Meh, I was staring at the files anyway, (and it was trivial) so I went ahead and did a patch for --host.

So to recap, as of right now we have this:
--host
Goes directly to the host setup screen.
-- join ip/hostname
If given a ip/hostname, it will then bring you to the 'join' screen.
and it ends here.
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Game Lobby Support

Post by DevUrandom »

Buginator wrote: -- join ip/hostname
If given a ip/hostname, it will then bring you to the 'join' screen.
Buginator: Can this be modified to actually join the game? Currently it just seems to take the player into the lobby of that server.
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Re: Game Lobby Support

Post by AF-TNowell »

My client uses java 6 and swing, and I've verified that it runs under windows XP/Vista/Ubuntu myself. I'm unclear what support Mac OS X has for java 6 since they make their own Runtime rather than using Suns and I lack a Mac OS X machine.

Regarding delays between hosting etc, when the host starts the game there's a delay with telling the server you've started and the message ending up at the other end, not very much though, but it always worked fine for spring. I can program in a delay if necessary, what would you suggest? 2-3 seconds?

I can make a push to finish support in my client and put out something to test with, luck would have t that the TA3D engine put out a lobby interface at the same time I started this thread, and their interface requires a little more thought as it requires mod and map names. Anything I do put out right now though wouldn't have the large UI changes I planned to do, and you'd be sharing with the spring engine, I can give you details on setting up your own server if you'd prefer not to see spring and warzone2100 side by side in the battle listings.
Chojun
Regular
Regular
Posts: 518
Joined: 25 Nov 2006, 17:49

Re: Game Lobby Support

Post by Chojun »

AF-TNowell wrote: My client uses java 6 and swing, and I've verified that it runs under windows XP/Vista/Ubuntu myself. I'm unclear what support Mac OS X has for java 6 since they make their own Runtime rather than using Suns and I lack a Mac OS X machine.
Any particular reason why you decided to go with Java/Swing?

Just curious.
The best thing to do when your philosophies don't stand up to debate is to lock the thread and claim victory.
EvilGuru
Regular
Regular
Posts: 615
Joined: 23 Jun 2007, 22:41

Re: Game Lobby Support

Post by EvilGuru »

Java support under OS X is a strange thing. Currently (well, to the best of my knowledge) Java 6 only runs under Leopard (10.5), with Tiger (10.4) being limited to Java 5.

The runtime OS X uses (ships with by default) is Suns. Apple just add a bit of functionality and pass it off as their own.

Since Java 6 is only API additions, you may want to try to avoid/make optional the Java 6-only APIs so that it may continue to run under Java 5.

Swing support under OS X is okay, but is nothing to write home about. SWT support, however, is much better.

One thing that would be worthwhile to implement would be a NAT/firewall tester before hosting begins. One client could attempt to 'host' a game (binding to a socket on port 9999 TCP) and the others could all try to connect to it. This would allow NAT/firewall problems to be dealt with before starting the game.

Regards, Freddie.
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Re: Game Lobby Support

Post by AF-TNowell »

I can try moving back towards Java 5, but it'll be quite some work, and Ill need to figure out how to sort out separating bits out into java 5 and java 6 versions, for example the spring battle window uses UI components that only support java 6.

I chose swing too because I knew very little about SWT and it seemed more like it was just an eclipse thing, and netbeans seemed so much easier, as well as being able to find much more info on swing than SWT.

And I chose Java because I found it easier to manage than a cross platform C++ project, or dealing with C#, and I didn't want to have to deal with learning python or some other language, especially when they seemed fiddly to set-up under windows and the majority of the user base used windows. That and the vast majority of what I wrote would work under all java runtimes with no porting effort required.

How large is the mac user base here?

btw my clients LGPL
EvilGuru
Regular
Regular
Posts: 615
Joined: 23 Jun 2007, 22:41

Re: Game Lobby Support

Post by EvilGuru »

I would say it is < 10%. It is sizeable, but by no means the majority.

One thing you might want to look into is this: http://swingwt.sourceforge.net/

It is a Swing implementation built on-top of SWT. The advantage is that you get 100% native (i.e., no emulated) widgets while keeping the nicer programming style of Swing.

Regards, Freddie.
Chojun
Regular
Regular
Posts: 518
Joined: 25 Nov 2006, 17:49

Re: Game Lobby Support

Post by Chojun »

AF-TNowell wrote: And I chose Java because I found it easier to manage than a cross platform C++ project, or dealing with C#, and I didn't want to have to deal with learning python or some other language, especially when they seemed fiddly to set-up under windows and the majority of the user base used windows. That and the vast majority of what I wrote would work under all java runtimes with no porting effort required.
Seems reasonable.  To me the only viable advantage that Java has is that it is extremely easy to write a cross-platform program.  However, I'm curious to see where Mono is going, because C# (and more broadly, the .NET platform) is extremely powerful and quite impressive.

At work we maintain a Java Client for our product, and we do development in Eclipse.  I would highly recommend Eclipse...  It is my preferred IDE next to Visual Studio.  I used some very early versions of NetBeans and the experience was so bad that I have used Eclipse since.
The best thing to do when your philosophies don't stand up to debate is to lock the thread and claim victory.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Game Lobby Support

Post by Buginator »

DevUrandom wrote: Buginator: Can this be modified to actually join the game? Currently it just seems to take the player into the lobby of that server.
There is a two-fold reason for that, one is, we can't really tell for sure if the host is up, so you can hit the 'refresh' icon if you don't see the game.  The other reason is, that if we are connecting faster than the host can setup, then we have a big delay polling to find said server, and it will drop you back to that screen anyway.

We could add more code to fix this, but I am not sure it would be worth it.  It is only 1 click mind you.
AF-TNowell wrote: My client uses java 6 and swing, and I've verified that it runs under windows XP/Vista/Ubuntu myself. I'm unclear what support Mac OS X has for java 6 since they make their own Runtime rather than using Suns and I lack a Mac OS X machine.

Regarding delays between hosting etc, when the host starts the game there's a delay with telling the server you've started and the message ending up at the other end, not very much though, but it always worked fine for spring. I can program in a delay if necessary, what would you suggest? 2-3 seconds?

I can make a push to finish support in my client and put out something to test with, luck would have t that the TA3D engine put out a lobby interface at the same time I started this thread, and their interface requires a little more thought as it requires mod and map names. Anything I do put out right now though wouldn't have the large UI changes I planned to do, and you'd be sharing with the spring engine, I can give you details on setting up your own server if you'd prefer not to see spring and warzone2100 side by side in the battle listings.
2-3 secs is fine.  It just depends on the host's machine on how fast it can load warzone.
The main reason for the delay is because if they don't see a game, they would have to hit the refresh button, so I was trying to minimize them having to click on that.

For the server, next time I am on IRC, I will ask them what they wish to do, or they can answer in this thread.  :)
and it ends here.
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Re: Game Lobby Support

Post by AF-TNowell »

Ideally for GUI design and usability reason when the host 'hosts' they start hosting immediately with no in-between steps between wz2100 starting and the host screen showing up, and the same for joining the host, they should join immediately. If you cant manage this then Ill add a delay of 2-3 seconds on the client side, but if you could make it clear to the end user what needs to be done so there's as little confusion as possible then that would help greatly.

I hear netbeans was fugly in the early versions, but I started using version 5 and it seems to be improving very quickly since then.
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Game Lobby Support

Post by DevUrandom »

AF-TNowell wrote: Ideally for GUI design and usability reason when the host 'hosts' they start hosting immediately with no in-between steps between wz2100 starting and the host screen showing up, and the same for joining the host, they should join immediately. If you cant manage this then Ill add a delay of 2-3 seconds on the client side, but if you could make it clear to the end user what needs to be done so there's as little confusion as possible then that would help greatly.
On --join, they are currently taken directly to the game selection screen of the host. (Each host has an own "lobby".) So what needs to be done (click on the game you want to join) should be self-explanatory.
User avatar
Terminator
Regular
Regular
Posts: 1077
Joined: 05 Aug 2006, 13:46
Location: Ukraine

Re: Game Lobby Support

Post by Terminator »

Few weeks ago I checked how its works in gamespy, so When Host press "Launch" button (in GS ) it starts game for every client, next > host setting up game (in wz) each cleint see only GUI(no any text or buttons) seems like client wait for host readyness, when host press "Start Hosting" > every clent "refresh's" GUI immediatly, & everything uppears like it should be.
LoC_Machine
Greenhorn
Posts: 10
Joined: 05 Jun 2008, 23:19

Re: Game Lobby Support

Post by LoC_Machine »

hey just yesterday i thought of making an external program to launch warzone2100 to make it faster and easier to start and find games, i was wondering, do u need anyhelp with it on spring? if so, i dont mind helping, i have no school for 3 months so ill be able to do stuff from 12:00am to 12:00 pm each day. (my yahoo is [email protected] and my hotmail is [email protected]. perferably yahoo and im always on meesanger) thanks