I'm writing a little online notifier tool for allegiance. It's a small personal project to learn some new tech but hopefully it might become useful for the community. I'd offering you to try it out, but it's in closed beta until I have proper authentication in place.
Here's the elevator pitch:
* The active playerbase is so small that only sunday SGT is a reliable time to get a game going.
* Current methods of setting up a game is posting in the gameplay forums thread and waiting around in the lobby until some people show up, which requires people to actively read the thread (i know i'm not).
My app is a better version of the thread, if you want to play a game:
1) you start it on your phone and use it to signal that you want to play by tapping a "let's play button".
2) A push notification pops up for everyone with the app installed saying that someone wants to play a game
3) people can respond that they want to play, want to play later etc
4) you see (in real time!) if there's enough people willing to get a game going
What works right now
* basic functionality (view online players, send some responses)
* shows currently online players
* basic infra (containerized backend, andorid app on google play store)
* push notification support (firebase)
* make app look less ugly
* show who's active with the app in the UI
* SSL for client-server communication
* google authentication
Backlog (off the top of my head)
* more robust reconnection logic
* structured logs
* find hosting for the backend
* build some kind of web-UI
* make it play the "need interceptors" sound when a game is forming!

What about an iphone version???
I'm not going to write one in the forseeable future, but if someone in the community would like to put one together let me know!
If the android app proves to be useful, I'll try write a web UI for iphone / desktop users. I'm not very good (or particularly interested) in web development though, so if someone wants to contribute, let me know!
How do I use it?
1) have an android phone
2) Go to https://play.google.com/store/apps/deta ... ko.allegni and install the app
3) Start app and type in your name (use your normal callsign) and log in with google
I'm a tech person, how does it work?
I've built a rudimentary message bus using gRPC & persitent bidirectional rpc endpoints:
Code: Select all
service StateService {
rpc TransferPlayerState(stream PlayerState) returns (stream PlayerState) {}
rpc TransferClientState(stream ClientState) returns (stream ClientState) {}
rpc TransferGameState(Empty) returns (GameState) {}
}
Push notifications will use googles firebase, backend will send out a notification when a someone wants to start a new game, when there's a critical mass of people online, etc. The clients can then pick which notifications to show (e.g. I'm only interested if one of my friends wants to play, I don't want to get notifications at all, only show when a forming game has >10 interested players etc).
Backend is written in java8 using the apollo framework (for some web endpoints) and grpc-java, containerized with docker. I wrote about half of it in golang first (to teach myself the language), but didn't really like the langauge (at least for this application) and rewrote everything in java in an afternoon

The android app is nothing special, it uses grpc for communication. I'm very much a beginner on android stuff...
Here's what it looks like right now (very much subject to change!):