Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(3 edits)

That looks nice, very warm! It cheats a bit over the actual functional complexity we need to expose in the UI, but that's totally OK for a visual mockup. You might want to check out the functional mockups we did for the upcoming launcher redesign, since it will add more stuff like chat, server management, etc. https://trello.com/c/IVEnTXCe/701-redesign-launcher

Overall I don't know that we want to go that far into a game-like look for the UI, but it is thought-provoking, Pixel-boy, Bilou and I will definitely have an interesting discussion about it and we might come up with our own proposal somewhere in the middle. In any event, I really want to see what you'll come up with for the project editor window itself :)

(+1)

Sure thing. I was trying to do justice to the brand you've been building and match your current tone. Plus, I've been primarily looking at it as stand-alone application. This changes the appearance of the experience.

Do you think your users will have many server connections?

What's the most important thing you want someone to do on this screen — is it a frequent or infrequent action?

Is there an existing product with a launcher/connector that you like? Minecraft, Blizzards Game Launcher?


Functionally, it looks you aim to support quite a few things:

  • Welcome a new user to the product
  • Communicate essential news about the project, possible release notes
  • Provide links to community sources
  • Show that a local server is running on a given IP and Port
  • Provide statistics about the currently running server (number of users)
  • Start / stop a server manually
  • Adjust connection settings
  • Adjust account settings
  • Adjust plug-in settings
  • Add a new server
  • Edit a server (Rename, change port, delete)

We continue with the process of connecting to a server, handling network/auth errors:

  • Connect to a server, communicate timeouts or networking errors
  • Authenticate with the server, create an account on a public server, communicate auth errors
  • Display a list of projects on the server to join
  • Add a new project
  • Edit a project (Rename, backup, delete)
Next, you're looking into beefing up the interaction on the server side, so that a server owner gets a MotD and a local chat area out of the box:
  • Display server messages
  • Provide links to server resources (predominantly website links)
  • Join server discussion channel(s)

My first impression was that this was lightweight 'launcher' UI that I wanted out of my way so I could open my IDE and get working. It feels like it's getting heavy before it's time. However, I understand that your big selling feature is the collaboration. I just wonder if the discussion and project/server portal should be part of the launcher / local-server window.

I'm just catching up; I'll keep thinking about it.

(1 edit)

Do you intend on having a single identity / account? In your Trello board mockup you've placed your username in the corner. It think it makes a big difference in the experience overall - how and when you authenticate. Do you do it centrally or distributed.

Yes it is a big deal and we're not quite sure how to approach it yet.

One goal is to avoid running any centralized infrastructure whenever possible, to avoid single points of failure (and reduce costs!)

Another very clear goal is to never require that people sign up before they can use Superpowers. One should be able to click on an invite link and hop on as a guest right away.

Now, if we can somehow provide opt-in identity support, through OAuth or something similar, that'd be awesome. But we haven't figured out a technical solution yet, much less a workflow for it.

(+1)

I'd avoid OAuth.

Informal, per-server accounts seem fine. Why not start with a pragmatic solution - like a password to register with the server. If you know the passphrase you can join the server. The server can pass a private session key to the client — if the password changes, regenerate the key.

Then allow joining the server with a unique username / password. If you choose to manage your identity within the client - the client could do the account configuration for you — but that implies that the client has the password in the clear to submit to the server. Without central management it's hard to ensure folks have created a unique username – worst case, you'll have Alex as a user name and you'll join your friends server and you'll become Alex #2 when participating.