Update Documentation App Development authored by Schmidt Raphael's avatar Schmidt Raphael
**App Concepting**<br>
We wanted to create a mobile game for the CCL. After brainstorming some ideas, we decided on a "word builder game", inspired by the classic board game "Scrabble" and the mobile game "Wordle".
<br>
<img src="uploads/aec339337390a011abb391ef3008e01f/CCL3_screens.png" alt="img" height="400">
**Initial Setup**<br>
Starting out, we created the screens with some placeholder components and the navigation functionality.
After that we mainly focused on the game:
base game logic (grid, emptyCells, letterCells, methods for generating random letters)
initial scoring system (+1 score per completed word)
**Working On The Game**<br>
- mutableStates
- logic for pseudo-randomly spawning letters (more common letters spawn more frequently) + timers based on letterScore
- logic for only allowing viable letters to be clicked
- logic for pseudo-randomly increasing word length (the further you progress, the higher the chance for longer words)
- updating the score system (points based on letters used, word length, successes in row)
- gameOverScreen
- unlockFonts functionality
**Design Of The Database**<br>
After creating the gameOverScreen and implementing the first steps for data handling, we implemented the database.
<br>
In hindsight, we definitely should have thought about how the data should be handled and how the database should be structured before working so much on the game and increasing its complexity.
<br>
![db_relations](uploads/f63604c3c4bb1af8ea13fb39d439f490/db_relations.png)
This image is not entirely correct since some of the data handling is not done through the database but through other files: a viewmodel, the letterManager, the fontOptions class and the fontRepository.
<br>
Because of this, debugging and refactoring data related functionality was a bit tedious and confusing. In order to structure the code better and make it easier to read and understand, a big refactor would have been necessary. However, we did not have the time for that during the last week.
<br>
**Code Source**<br>
https://git.nwt.fhstp.ac.at/cc231040/ccl3-scrabbling
<br>
**APK File**<br>
LINK
<br>
**Final Reflections**<br>
(challenges, contributions, does the app meet the concept, further improvements)
\ No newline at end of file