Activity

schwenoldnoah

I improved the network logic. Host- and client-side events and handlers are now separate, which should make future development easier. I added backend functionality for player profile pictures, which are currently a hardcoded color. There is also now a lobby screen where players can join different teams before the game starts.

Attachment
0
schwenoldnoah

I added a personalization screen that allows you to change the seed color of the app’s theme, use your wallpaper’s color, turn on the AMOLED toggle to make the background pitch black, and switch between light and dark mode. I had parts of the UI from another project lying around (Flutter, not Compose, though), which I ported using GitHub Copilot. It took a while to perfect the animation of the pill-shaped Dark Mode toggle.

Attachment
0
schwenoldnoah

I created a local API that makes it much easier to add new subpages to the settings page. I then added Lyricist to the project to support different languages (currently German and English). All the hardcoded strings have been replaced with dynamic ones. I have also added an AppSettingsController that saves the app settings as persistent key-value data.

Attachment
0
schwenoldnoah

I enable Android predictive back gestures, which were a bit tricky to get working. They are still marked as experimental API in Decompose. I also added a navigation bar at the bottom of the page. This will allow you to access the settings and a page where you can edit the word cards later on.

0
schwenoldnoah

I implemented Decompose into the app, to make navigation work. The app now has two new pages: The home page, where the user can select whether he wants to play local, join or host a game. There is also a game settings page. This page and its design are not finished yet. Currently, it only contains a field for the player name and host IP address (if connecting to a host). I plan to add more features, such as a round time setting and a QR code for quick connection.
I have also updated the network logic to support players and enable direct messaging to specific players.

Attachment
0
schwenoldnoah

I have refined the Networking and separation of truth logic. I have implemented the timer with synchronization between the devices. Then I animate the circular-wav-progress-indicator according to the time passed. The problem was that the animation was stuttering: half a second animation, half a second pause. After over an hour of debugging I realized that I had changed the animation speed of my whole phone to 0.5x :^)

0
schwenoldnoah

First, i started working on gathering the terms for the game. I ended up using Perplexity, because this was the most easy and qualitative way. I initially started the project with flutter, but realized that Kotlin Multiplatform in combination with Jetpack Compose would be the better choice, because i wanted to use the ‘new’ Material 3 Expressive design in this app. Then I setup the database and seeded it with the around 1.8k English and 1.7k German terms. After that, I created the foundation for the planed local multiplayer using WebSocket. Then I spent a lot of time refining the UI, which I am very happy with now.
Now I’ll need to update the game-state to make the timer and points work.

Attachment
0
schwenoldnoah

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0