Deceth / Battle-City

Build a city, hire a team, drive a tank, orb the enemy! Multiplayer online game.
http://battlecity.org
GNU General Public License v3.0
48 stars 24 forks source link

Separate "Lobby" from client #38

Open Deceth opened 14 years ago

Deceth commented 14 years ago

The Lobby should be a separate application which acts as a chat room and list of servers.

Deceth commented 14 years ago

Any open source lobby solutions available?

Obviously it would need to be customized to work with Battle City, but it would be great if the lobby was light-weight and did not consume any resources so people could leave it open all the time when not in-game.

rileyw commented 11 years ago

Adding comments from #35

One day in the future, another project would be to build a light-weight lobby server. This would be a chat-room / metaserver. Battle City servers would connect to the lobby and the lobby would then always have a list of active servers. This is a much bigger under-taking, so I'm only writing this here as a side-note.

ndizazzo commented 11 years ago

I'm actually working on something similar - albeit very slowly. It doesn't need to do anything fancy like load balancing since, well, theres a whole 0 CCUs for the game at any given point, but as a general nice-to-have feature to make the game more accessible for users, this is definitely a right step.

rileyw commented 11 years ago

Great to see another face on the repository :+1:

Do you imagine your work requiring any hosted web services that would provide the game server listing and chat room services?

ndizazzo commented 11 years ago

I don't think any additional resources would be needed for it. The plan is just to provide a HTTP API that provides a route BattleCity can visit to get some HTTP data back in a format the game will understand. It could even just write the list of server names and IPs into the ini format mentioned previously, but adding support for this will need a bit of code written to manually parse the response body from the HTTP request; which, in fact, I don't believe anything facilitating that (other than raw tcp socket code) exists in the game currently either.

rileyw commented 11 years ago

We may need a separate repository to develop the HTTP web service that will respond to incoming requests for game server names and IP addresses. I imagine we may want to consult with @Deceth since the HTTP web service would be hosted on http://battlecity.org. This is definitely not a requirement; rather, a recommendation.

The INI format is great for simple property to value assignments; however, it becomes a hassle to store objects/attributes . We may be better to adopt JSON or XML, but this all up to preference and experience.