Forum_account wrote:
To add to that - I'm not sure what you mean by "click 'Host'",

Referring to the 'Host' button in the default interface.

but with world.OpenPort() it can be part of the game that initiates a multiplayer game mode, not part of the BYOND software itself.

This is true. I've never seen, that I can recall, world.OpenPort() being used beyond blocking a game from being hosted and auto-hosting when a game is started.
A Miner Adventure lets you pick "singleplayer" or "multiplayer" at the main menu before picking a game mode. If you pick "multiplayer", it calls world.OpenPort() to make the game available for connections.

There's probably more it could do to facilitate inviting others without using the pager (ex: giving you a "byond://123.4.5.6:1123" kind of URL to send others via IM that'd make them connect to your game).

Several BYOND games also implement some method of finding what servers are available to connect to. It seems to take a lot of work.

Also, once you've connected to a remote server, I don't think there's a way to transition your DS instance back to running the game locally. For example, what you'd expect is to start a game, select "multiplayer", select "join game", then pick a server from the list. But, once you've used link() to connect to the server, when you disconnect your DS is just dead. I don't think you can make it revert back to the server selection menu that was run locally, but that's probably what you'd want to happen when you leave the game you had connected to.
Forum_account wrote:
But, once you've used link() to connect to the server, when you disconnect your DS is just dead. I don't think you can make it revert back to the server selection menu that was run locally, but that's probably what you'd want to happen when you leave the game you had connected to.

That might be an interesting idea for link()- right now, link("byond://author.game") will link to the given hub page. Perhaps an option to do link("byond://author.game#local") could transition back into local mode to supplement the current behavior. Just a thought.
Is there some way to pass parameters to the game too via link()? Ideally you'd not just get linked back to a local instance of the game, you'd want the local instance to be at the server selection page.
I'm also not sure if these capabilities are all possible when you're running the game as a packaged .exe and don't have BYOND installed.

This article appears to have some useful information.
AlexandraErin wrote:
Man, people really don't seem to have any understanding of human motivation here. It's not an on/off switch, and the vast majority of cost/effectiveness or risk/payoff decisions that people make aren't something that we sit down rationally and think about. [...]

While human motivation in general might not be so logical, motivation to work on a game is, for the most part, logical. What causes someone to lose motivation on working on a game? Lack of interest, lack of ability, lack of resources, lack of player interest. These are all logical aspects of the motivation behind making a game. By bringing in a new client and broadening the potential user-base, at most you're affecting lack of player interest, and that's in the best-case scenario where the new player-base is actually interested in the type of game you're developing.

That's actually not what I was talking about, but yes, that is in fact important. I was making a huge blog post on the very concept. Sturgeon's Law is that 90% of everything is crap. 90% of everything will always be crap. And the more open a platform is, the fewer barriers to entry (which include emotional ones as well as practical ones) the higher the actual percentage will be... but the fewer barriers to entry there are, the more gold there will be, too.

By removing one more barrier to entry, you're opening up BYOND to a potential larger volume of players, so of course you're going to have more 'crap' and you're going to have more 'gold' at the same time. I can agree to this.

The rest, I don't really have any reason to comment/disagree on/with.
You can pass parameters to the game via link() (GET-style) using the Topic parameter in client/New.

As for if this works with packaged .exe, I have no idea. It might be worth investigating.

And I hadn't realized before that the ##local syntax does work for link(). Nifty.
Page: 1 2