Development Log Week 36

While developing the chat system old memories of long gone or not used anymore chat systems and clients arise, some good, some bad, some ugly :) ICQ, IRC, Skype, MSN, Usenet


Last week, I read up on deployment options for Prosperous Universe and this week I started to put my current favorite to the test. Therefore I did a bit more studying to familiarize myself with the technology and started setting up a local test cluster. It took somewhat longer than originally planned (as usual), but overall the results look promising. As is to be expected with any setup for a distributed system, there are plenty of edge cases that still need to be worked out, but given this was my first attempt, I’m rather happy.

Getting all of the components to run in an actual server environment is my number one priority right now. This includes making the development-to-production pipeline as robust and painless as possible so that we can iterate quickly once our first web-accessible server goes online.

Once all of this is done, I might write a separate blog post about my experiences.


The week started with some smaller features I implemented for the chat system. Now system messages like Michi joined or Martin left are properly displayed in each channel. I also implemented a typing indicator that shows if the other user is currently typing or not. This is currently only activated for one on one chats. Maybe we'll activate it for groups as well. Do you think that's a good idea?

I then started with the read status feature. It basically tells you which messages were written while you were away or hadn't opened the chat window. We decided to make this information persistent on the server so that it is stored even if you log out of the game and return later. Maybe that's even the biggest use case for that feature: knowing what happened since the last time you've been there. Since this is a bigger feature I fear I won't be able to complete it this week.

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.