Development Log Week 35

While Michi is working on the chat system Martin enjoys a week-long caffeine-high induced by his new coffee machine! Oh, and Juno reached Jupiter! Congratulations!


I was officially on vacation this week. But while other people lie on the beach or climb rocks when out of the office, I couldn’t help but read a bit more about deployment options for our server systems. Hosting Prosperous Universe is a complex problem and there are plenty of ways to tackle it, all with their own advantages and disadvantages. Since this will be our first distributed application at such a big scale, we still got a lot to learn and I’m using some of my spare time to do so.


I added two major chat features this week: group channels and conversations.

A group channel can be opened by any player and allows to chat with an arbitrary group of other players. Any player can add players to the group and everyone will be able to see all messages posted to this channel. I think we might add a few features to this at a later point in time like a restriction of the message history. The creator of the group can than chose whether or not recently joined players can see the channel's complete history or just up to the point they joined.

Right now I have a simple working prototype of the chat's user interface. Each channel has its own tab which contains the message history, a user list and a prompt where new messages are entered. If there are a lot of open channels this gets cluttered fast. So I added a button that let's you close the channel, but not leave it. Although you cannot see the channel directly you're still in it and receive updates. A special tab lists all these 'closed' channels and one can open them again with a click of a button. This still needs some work (especially UI wise) but it basically works. Next on the list is to add indicators that show if new messages are available.

We use cookies to personalize content and analyze access to our website. You can choose whether you only accept cookies that are necessary for the functioning of the website or whether you also want to allow tracking cookies. For more information, please refer to our privacy policy.