There's something I didn't really anticipate when I started working on the dedicated server for HAND IN HAND.

People actually started creating a whole bunch of games!

Which is great.

That's exactly what I wanted.

But after a couple of weeks of testing, and inviting more and more friends and other people to try the game, I started running into a new problem.

The region lobby was getting completely out of hand.

And this time, it wasn't a bug.

It was just too many games.

A Victim of Our Own Success

When I first developed the multiplayer lobby, things were pretty simple.

You connected to the server, found your region, and joined it.

There weren't that many regions to choose from, so it worked well enough.

But once the headless server was running and people could create their own regions, things changed pretty quickly.

I've been creating regions to test all sorts of different systems.

One for trying out city growth.

Another for testing multiplayer mergers.

Another for traffic.

Another for testing a particular bug.

And then there are the regions other people have been creating while helping me test the game.

Before long, I had ten or twelve different regions on the server just from my own experiments.

Sometimes fourteen!

And that doesn't include everything other people were doing.

So the lobby was starting to become a long list of region names, and finding the one you wanted wasn't always easy.

You'd scroll through the list, looking for a game you started a few days ago, or trying to remember which region you were playing with a particular group of friends.

Clearly, we needed a better way to organize things.

Four Ways to Find a Region

I've now redesigned the lobby around four different filters.

My Regions, Joinable, Private, and All Regions.

The idea is pretty straightforward.

Instead of forcing everybody to scroll through every game on the server, you can immediately narrow the list down to the kind of region you're looking for.

And after testing it for the last couple of days, I think this is a much better way to handle things.

My Regions — Where Did I Leave My City?

This is probably the button I'm going to use the most.

My Regions shows every region you've already created or joined.

So if you were playing in a region yesterday and want to jump back in today, there's no need to scroll through everything on the server.

Just click My Regions.

There it is.

And it doesn't matter if the region already has all four mayor slots filled.

If you're one of those mayors, you still need to be able to find your game and rejoin it.

That sounds pretty obvious, but it's an important distinction when you're building a region browser.

A full region isn't necessarily unavailable to somebody who already belongs to it.

The lobby now handles that properly.

Joinable — Find Somewhere New to Build

The next filter is Joinable.

This one shows public regions that have an available slot for another mayor.

Remember, each HAND IN HAND region supports up to four mayors.

But some regions are already full, and others might not have room for another municipality even if there are fewer than four mayors playing.

So I wanted this filter to show games where a new player can actually join.

If you're looking for a new region to start building in, this should be the easiest way to find one.

No sorting through full games.

No private regions mixed into the list.

Just the public regions that have room.

Private — Just You and Your Friends

This is another addition that came directly from feedback during testing.

Some people wanted to be able to create a region just for themselves or a small group of friends.

They didn't necessarily want somebody else coming along and joining their game.

And I think that's perfectly reasonable.

So I've added private, password-protected regions.

When you create a private region, you can give the password to the people you want to invite.

They select the Private filter, find your region by name, and enter the password to join.

And here's the nice part.

You only need to enter the password the first time.

Once you've successfully joined that private region, the game remembers your membership, so you can return later without having to enter it again.

That's particularly useful for the kind of cooperative game HAND IN HAND is becoming.

Maybe two friends want to build a region together.

Maybe three people want to work toward the Capital City goal.

Or maybe somebody just wants a private region to experiment in without anyone else joining.

Now they can.

And if a private region doesn't have room for another mayor, the lobby makes that clear too.

All Regions — Show Me Everything

And finally, All Regions.

This is the complete server list.

Every region.

Public regions.

Private regions.

Regions with available slots.

Full regions.

Regions you've already joined.

Everything.

It's useful if you just want to see what games are on the server, or if you're looking for a particular region and aren't sure which category it falls into.

The important thing is that All Regions really means all regions.

No extra filtering.

More Information, Less Guesswork

While redesigning the lobby, I also spent some time improving the information displayed for each region.

Now the listings give you a much better idea of what's happening.

You can see how many mayors belong to a region, whether it has room for another player, and the current population of the region.

There's also an indication of whether the region is running or stopped.

And the available buttons depend on what you're actually able to do.

If you're joining a new region, there's a Join button.

If you're already a mayor in that region, you can Rejoin.

If there's no room for another town, the lobby tells you.

No Room.

Pretty straightforward.

I also added a clear server status indicator at the top of the lobby so players can see that they're connected to the HAND IN HAND server.

It doesn't sound like a particularly exciting feature, but the more people I have testing the game, the more I appreciate interfaces that simply tell you what's going on.

Just Search for It!

The other obvious addition was a search box.

Once you've got ten or fifteen regions in a list, even the filters aren't always enough.

Sometimes you know exactly which region you're looking for.

You just don't want to scroll around trying to find it.

So now you can type the region's name into the search field and the list narrows down to matching regions.

That's it.

Nothing elaborate.

The search is for region names, and it does exactly what it needs to do.

I've also added sorting options, including recently active regions.

These are small changes, but they make a big difference when you've got several games on the server.

Cleaning Up After Ourselves

There's one other problem I ran into while testing the dedicated server.

What do you do with all those old test regions when you're finished with them?

I've created plenty of regions that I don't need anymore.

Sometimes I'm testing a particular game mechanic, and once I've finished, there's no reason to keep that region around.

Other times, we've played through a region and decided we're done with it.

Previously, getting rid of those old regions meant going onto the server myself and cleaning things up.

Not exactly a great system if I'm hoping to have other people playing the game.

I don't want to be the person who has to manually clean up everybody's old games.

So I've added a Manage option for people who create regions.

Region creators can now manage their regions and delete the ones they no longer want.

That should make keeping the server organized a lot easier.

And it means people don't have to contact me every time they want to get rid of an old game.

Which is definitely a good thing.

Making Multiplayer Easier to Use

What's interesting about this whole process is that the underlying multiplayer system hasn't really been the problem.

The dedicated server is doing what I wanted it to do.

People can create regions, join them, leave, and return whenever they have time.

But as more people start using it, I'm realizing how important the interface around those systems really is.

When it was just Kevin and me playing, we could get away with a lot.

We knew which game we were playing.

We knew who was hosting.

And if something wasn't working, we could just get on Discord and figure it out.

But now that I'm inviting more people to test the game, those little inconveniences start adding up.

If I'm serious about eventually releasing HAND IN HAND, people need to be able to find their games and understand what they're doing without me explaining everything.

That's what I've been trying to accomplish with this redesign.

Back to Testing

So that's where the lobby is at right now.

We've got four filters, region-name searching, better region information, private password-protected games, and a way for region creators to clean up old regions.

I've been testing the new version for a couple of days now, and so far it seems to be working pretty well.

I'm sure there'll be more things to adjust as more people start playing.

There always are.

But at least I can finally find the region I'm looking for without scrolling through fourteen different test games!

Now I just need to get back to building some cities.