BA installer, talkin' options

BA installer, talkin' options

Classic game design, maintained to please you...

Moderator: Content Developer

tzaeru
Posts: 283
Joined: 28 Oct 2007, 02:23

BA installer, talkin' options

Post by tzaeru »

As a part of a push to increase BA's appeal and making it easier for newbies to get into it, I've been planning on doing a simple one-click installer for the game.

I haven't yet decided on the lobby however. Basically there are three options:

1) SpringLobby. Make a simple installer with InnoInstaller or the like that bundles SpringLobby, newest BA and a pre-tuned settings file together. Pros: Trivial to do, least dev time required. Cons: SpringLobby is hard/impossible to customize far and can be confusing to newbies. Lots of potential for breakages.

2) WebLobby. Make a simple installer with InnoInstaller or the like that bundles WebLobby and a pre-tuned settings defaults together. Pros: Relatively easy to set up. Customization is standard web stuff, a lot of people can potentially help with it. Cons: Building the native wrapper requires a Qt dev environment (but it doesn't necessarily need to be built). The UI is a bit rough around the edges, some things are not clear. Not a power user experience.

3) Chobby, the ingame lobby. Used by ZK. Basically build a BA launcher in C#/Python/whatever that updates the engine and starts Chobby with BA customization. Pros: By far the nicest looking. Good customizability. Cons: The most work. Requires that BA maintains its own launcher. Requires restarts for engine updates. Lua and potentially Spring knowledge needed for some of the customization.

These are nicely in order from least work, least beauty to most work, most beauty.

What are you guys' experiences with the various lobbies? What are your thoughts in adding future dev burden in the form of launchers and the like?
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: BA installer, talkin' options

Post by dansan »

I was thinking that if BA comes pre-bundeled, it would be nice if it were not a SD7, but a pre-filled rapid directory. That way users will not have to download a complete BA again with the next BA-update, and if they happen to have an outdated installer, their BA will be updated very fast.

The pre-filling of the rapid directory could either happen scripted at install-time over the internet, or if possible - and much better - the files will already be inside the installer. I don't know about Windows paths, but I don't think it will be possible to pre-seed a rapid-structure for any other user than the one installing.

It should also contain the 10 most played maps. Optionally incl. 2 of each size: 1v1, 2v2, 4v4, 6v6, 8v8.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: BA installer, talkin' options

Post by gajop »

Let me extend on this:
3) Chobby, the ingame lobby. Used by ZK. Basically build a BA launcher in C#/Python/whatever that updates the engine and starts Chobby with BA customization. Pros: By far the nicest looking. Good customizability. Cons: The most work. Requires that BA maintains its own launcher. Requires restarts for engine updates. Lua and potentially Spring knowledge needed for some of the customization.
Building a launcher shouldn't be hard, and hopefully you can convince ZK devs to create a generic launcher that can be customized. Chobby was meant to be highly customizable by inception (and ZK devs have invested good effort to separate ZK stuff from generic Chobby stuff) so this is reasonable.

Requiring a restart for using a different engine is unfortunate, but not likely to go away. This is more of a problem if Chobby is used as multi-game lobby, but for a single game, like BA, you shouldn't be using multiple engines simultaneously in the first place.

I'd say that Lua + Spring knowledge is a *good* thing, as that's the one skill all game devs should have by default.

Additionally a few pros/cons you haven't mentioned:
1) Pro: Chobby supports matchmaking, i18n and a few other things most lobbies don't.
2) Cons: Chobby's uberserver interface is incomplete despite that being its initial version.
tzaeru
Posts: 283
Joined: 28 Oct 2007, 02:23

Re: BA installer, talkin' options

Post by tzaeru »

dansan wrote:I was thinking that if BA comes pre-bundeled, it would be nice if it were not a SD7, but a pre-filled rapid directory. That way users will not have to download a complete BA again with the next BA-update, and if they happen to have an outdated installer, their BA will be updated very fast.

The pre-filling of the rapid directory could either happen scripted at install-time over the internet, or if possible - and much better - the files will already be inside the installer. I don't know about Windows paths, but I don't think it will be possible to pre-seed a rapid-structure for any other user than the one installing.
Hmm, hadn't thought of that. I guess the specific implementation here might be a bit lobby dependant, but as long as it's as easy as shoving a prefilled rapid directory to a standard location, that shouldn't be a problem.
dansan wrote:It should also contain the 10 most played maps. Optionally incl. 2 of each size: 1v1, 2v2, 4v4, 6v6, 8v8.
Definitely!
gajop wrote:Building a launcher shouldn't be hard, and hopefully you can convince ZK devs to create a generic launcher that can be customized. Chobby was meant to be highly customizable by inception (and ZK devs have invested good effort to separate ZK stuff from generic Chobby stuff) so this is reasonable.
I don't foresee the basic launcher building to be very hard at all. A day's work to get a working launcher out. But given that BA already has its dev force spred very thin, I'm a bit scared about adding more maintenance requirements especially when they also introduce a new language (be it Python, C#, or whatever) and dev environment. For us programming generalists this might not be an issue, but experience has shown that everyone gets periods of inactivity.
gajop wrote:Additionally a few pros/cons you haven't mentioned:
1) Pro: Chobby supports matchmaking, i18n and a few other things most lobbies don't.
2) Cons: Chobby's uberserver interface is incomplete despite that being its initial version.
How incomplete? Anything major missing that we now have with SpringLobby?
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: BA installer, talkin' options

Post by gajop »

tzaeru wrote:How incomplete? Anything major missing that we now have with SpringLobby?
I think some basic things are missing or are incorrectly implemented. Would probably require a little bit of tinkering here.
UI wise I think we're missing the ability to change sides and colors, since ZK didn't need it, it was probably never implemented.
It's important to note that Chobby was never really tested for uberserver. No one is using it there.

Most of these things will be done *eventually*, when I or someone else has more free time :P
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: BA installer, talkin' options

Post by Forboding Angel »

The QT component of weblobby never has to be rebuilt. I already explained this to you at length.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: BA installer, talkin' options

Post by Silentwings »

What are you guys' experiences with the various lobbies? What are your thoughts in adding future dev burden in the form of launchers and the like?
Imo Chobby is the way to go for players, but for developers its not yet clear what the future will look like (e.g. devs frequently want multi-engine support, ability to isolate, etc). The dev burden of setting up & maintaining a Chili lobby is large.
tzaeru
Posts: 283
Joined: 28 Oct 2007, 02:23

Re: BA installer, talkin' options

Post by tzaeru »

gajop wrote:
tzaeru wrote:How incomplete? Anything major missing that we now have with SpringLobby?
I think some basic things are missing or are incorrectly implemented. Would probably require a little bit of tinkering here.
UI wise I think we're missing the ability to change sides and colors, since ZK didn't need it, it was probably never implemented.
It's important to note that Chobby was never really tested for uberserver. No one is using it there.

Most of these things will be done *eventually*, when I or someone else has more free time :P
Silentwings wrote:
What are you guys' experiences with the various lobbies? What are your thoughts in adding future dev burden in the form of launchers and the like?
Imo Chobby is the way to go for players, but for developers its not yet clear what the future will look like (e.g. devs frequently want multi-engine support, ability to isolate, etc). The dev burden of setting up & maintaining a Chili lobby is large.
In the light of this, I guess Chobby is out as a choice for now. Making sure ubserver support works, adding side changing and color changing and all that would need to be done first and while I'd really love to be part of that, too, I have to limit my plate. :)

It looks really great though and appears promising. Really good job there gajop and GoogleFrog and everyone else who have doing it!

And we can, of course, change in the future. No reason to get locked to a single decision for years.
Forboding Angel wrote:The QT component of weblobby never has to be rebuilt. I already explained this to you at length.
Yeah, but after all these years at software dev, I've just grown very wary of these kind of things. Eventually something unexpected will break or a high demand appears for some feature we can't do in JS only and then there needs to be someone around who is willing and able to do something about it. That's just how it tends to turn out time after time. Therefore I do continue to consider Qt and C++ as potential additions to the maintenance burden in choosing Weblobby.

That said, right now, Weblobby is seeming like the most promising choice. I tried customizing it some and it seems to work just fine. Trivial to wrap inside an installer that puts up shortcuts and all that.
tzaeru
Posts: 283
Joined: 28 Oct 2007, 02:23

Re: BA installer, talkin' options

Post by tzaeru »

Been doing an installer based on Weblobby. It seems to work pretty fine. I bundle a few maps, 103.0 engine and BA itself with the installer and put them to right places. Most of the lobby is really just basic web frontend stuff and will be hosted remotely, so any updates we make will be immediately visible to people when we update.

There are a few shortcomings with Weblobby. There's no self-hosting for one. I was just checking Chobby out again and noticed that when you self-host, you get to choose game type (Cooperative, Team, 1v1, FFA) and all that, which would of course be absolutely fantastic for newbies. Weblobby requires to join an autohost to have a game and frankly, managing the autohosts is a confusing experience to newbies. It's however equally confusing on Springlobby, but Springlobby would have self hosting.. Ah, well.

Maybe we can add this functionality to Weblobby ourselves later on. Will remain to be seen. Overall I still find it a clearer and more understandable experience than Springlobby, even if less powerful an experience. Chobby would be the best tho.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: BA installer, talkin' options

Post by gajop »

I'm pretty sure (GoogleFrog would have to confirm) that Chobby still uses dedicated hosts when self-hosting, just that they're not displayed. All commands are sent as hidden messages to the host, and only then do changes actually happen. There's nothing wrong with dedicated hosts mind you, they're usually superior due to simplified hosting as they usually don't produce any networking issues.
Essentially if you were to use the Chobby approach, you would need to have an authosting (system) in the background, which a game like BA should probably do anyway.
Personally I think autohosts are a thing of the past, and only small games, with no infra or playerbase, should be using that.
tzaeru
Posts: 283
Joined: 28 Oct 2007, 02:23

Re: BA installer, talkin' options

Post by tzaeru »

gajop wrote:There's nothing wrong with dedicated hosts mind you, they're usually superior due to simplified hosting as they usually don't produce any networking issues.
Essentially if you were to use the Chobby approach, you would need to have an authosting (system) in the background, which a game like BA should probably do anyway.
Personally I think autohosts are a thing of the past, and only small games, with no infra or playerbase, should be using that.
In part I agree, but I still like the autohost concept. Players hosting permanent servers themselves is something I've usually found to be a good thing in a game. It just lets people do things their way, without game devs being the sole party to decide on things. You get stuff like per-server/host admins. Hosts can have their own themes and settings and eventually, hosts can form kind of small communities of their own inside the wider game community.

Of course you can also self-host via an autohost system like Chobby's, but then the host is a gonner when it's emptied out. For a game the size of BA - or ZeroK - I also find it a bit problematic to split people searching for games into two groups; those creating or joining self-hosted custom games and those only using the matchmaker. This could be alleviated with a bit of a UI redesign tho. Just show custom games and watchable "official" games in the same view with the "find 1v1/team/ffa game" buttons in the top or something.

In principle, I do find the way used with Springlobby and Ubserver autohosts to be pretty good for flexibility. It's just not a very aesthetically pleasing, easy to use or newbie friendly an experience as it is right now. And it would benefit from somekinda non-intrusive matchmaking/quick join integration.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: BA installer, talkin' options

Post by Forboding Angel »

gajop wrote: Personally I think autohosts are a thing of the past, and only small games, with no infra or playerbase, should be using that.
How could they be when we don't even have a good system for NAT traversal?
tzaeru
Posts: 283
Joined: 28 Oct 2007, 02:23

Re: BA installer, talkin' options

Post by tzaeru »

Forboding Angel wrote:
gajop wrote: Personally I think autohosts are a thing of the past, and only small games, with no infra or playerbase, should be using that.
How could they be when we don't even have a good system for NAT traversal?
I think gajop was referring to player-owned autohosts. ZeroK spawns "autohosts" for players as required. It's a simpler system for the casual player, but I am not entirely convinced that the advantages of the player-owned autohosts weren't large enough to keep them as an option.

I'd like somekind of a combination, where player-owned autohosts mix in the same UI view with "official" spawned hosts, with the latter system being used for "quick play" functionality. It might be a bit challenging to get right UI and usability wise, but it'd be cool to have. :-)
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: BA installer, talkin' options

Post by gajop »

Out of curiosity, what kind of functionality would you need for BA/Chobby?
This is how it currently looks: http://i.imgur.com/gYCssGF.jpg

Do you need to:
1) Pick side (arm/core)
2) Pick color
3) Ready/unready

Anything else I'm missing?

PS: I would be personally OK if one couldn't ready/unready, and could only ready/spec, but if you can convince me that ready/unready is a important still, I'll consider adding it.
tzaeru
Posts: 283
Joined: 28 Oct 2007, 02:23

Re: BA installer, talkin' options

Post by tzaeru »

Coming in a bit late to reply - unfortunately my 6-week vacation ran out and I'm back in the hamster wheel. Wooyah.
gajop wrote:Out of curiosity, what kind of functionality would you need for BA/Chobby?
This is how it currently looks: http://i.imgur.com/gYCssGF.jpg

Do you need to:
1) Pick side (arm/core)
2) Pick color
3) Ready/unready

Anything else I'm missing?

PS: I would be personally OK if one couldn't ready/unready, and could only ready/spec, but if you can convince me that ready/unready is a important still, I'll consider adding it.
I think with BA the problem kind of is that the existing userbase has traditionally been pretty big on various custom configurations per autohost. People unready if someone changes something that they are not OK with or stuff like that.

Personally though I'd say that 'Ready/Spec' is enough.

Side at least is needed to be pickable, but more of a question to me as it is is how does Chobby end up interacting with SPADS and Uberserver. Far as I can tell, there's very low interest in the existing playerbase for migrating into a ZK-like automated system, where autohosts are not permanent and are created and removed as they come. Nor do I think it is realistic for BA to pursue hosting its own infra in lieu of using Uberserver.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: BA installer, talkin' options

Post by Forboding Angel »

tzaeru wrote:Far as I can tell, there's very low interest in the existing playerbase for migrating into a ZK-like automated system, where autohosts are not permanent and are created and removed as they come.
This is a far better system and resolves a lot of the issues that currently exist (namely, the continual overloading of a single host).
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: BA installer, talkin' options

Post by gajop »

tzaeru wrote:but more of a question to me as it is is how does Chobby end up interacting with SPADS and Uberserver.
It runs on Uberserver, and you can join battlerooms. What kind of an interaction do you want to have with autohosts? I thought people are just typing the commands in chat (which is possible with Chobby).
tzaeru wrote:Far as I can tell, there's very low interest in the existing playerbase for migrating into a ZK-like automated system, where autohosts are not permanent and are created and removed as they come. Nor do I think it is realistic for BA to pursue hosting its own infra in lieu of using Uberserver.
Chobby doesn't imply a change in the infrastructure. Users should be able to use autohosts normally.
I might introduce matchmaking on uber (when I have the time!) but that would be available to all lobby clients that implement the Spring server protocol.

PS: What kind of manual hosting support is expected on uber? Do users ever create their own rooms, and if so, how does this work (e.g. pure self-hosting with NAT punching, dedicated hosts, new-room creation, etc.)?
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: BA installer, talkin' options

Post by Silentwings »

As I understand it, an autohost is just a normal user (who happens to be a bot) that creates a battleroom and interacts with the Spring server in the normal way via the lobby protocol. The (human) users join the battleroom and give commands to the autohost in the form !xyz and the autohost reacts by telling the Spring server what to do.

In short, there isn't any special distinction in terms of the protocol between autohosts and human hosts, other than that autohosts typically have a high enough rate of server<->client traffic to require a botflag.
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: BA installer, talkin' options

Post by dansan »

Are "battlerooms" in any way special compared to simple IRC channels?
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: BA installer, talkin' options

Post by Silentwings »

Yes, battlerooms transmit a larger internal state (colours, teams, options, etc) via the server than that the plain chatting channels do. And iirc the commands that specify battleroom hosts versus channel owners/founders are different, muting is also done differently.
Post Reply

Return to “Balanced Annihilation”