Building an Android App

During the Spring 2020 semester, I took CS 6300 - Software Development Process. This was a great introduction to how software gets developed in the real-world. I learned how to effectively use git as well as how to properly plan and document a larger project. To apply these skills, we were organized into teams of four to develop an Android application in four weeks.

Check out our repo: git clone https://github.com/marc-micatka/WordFind6300.git

Or here: Github Repo

Android App Development

The application was a clone of the Boggle game - a grid of letters randomly generated that the user could select to input words and score points. In addition, we had to have a statistics screen, settings screen, and some state persistence between app closures.

We started by planning our project with a UML design.

UML design for Boggle game.

We also wrote some application documentation:

  • Design Document
  • Project Plan
  • Test Plan
  • Use Case Model
  • User Manual

Included in these documents were some wireframe mockups of our final design:

App Development

After ensuring that we met our customer’s requirements, we started developing our application in Java using Android Studio.

App Use Instructions

Upon opening the app, you’ll see the main screen:

Main Screen

Main Screen You can play a new game, change settings, or view your game statistics. If you choose to play a new game, you’ll see the play game screen.

Game Play

To play a game, select “PLAY A NEW GAME” from the main screen.

Words can be entered by touching the a letter. After you select a letter, you can only select letters that are adjacent to the last letter and you cannot re-select the same letter.

If you want to clear your current selection, click the “CLEAR WORD” button in the bottom right. If you want to enter your current selection, click the “ADD WORD” button in the bottom left.

After clearing or adding a word, the board is reset back to a blank board.Although you are allowed to select the same word twice - it will not increase your score and you’ll see a popup message alerting you that the word has already been played. If you want a new randomly generated board, click “REROLL BOARD”. This will deduct 5 points from your game point total. The game is over either when the timer runs out or when the user selects, “QUIT GAME”. When that happens, a dialog will show your final score and allow you to return to the main screen.

Changing Setting

Play Game Screen To change the game settings, return to the main menu and select “VIEW GAME SETTINGS”.

The user is allowed to change the game length, board size, and letter weights.

  1. Game length can be changed from 1 to 5 minutes, defaulting to 3 minutes.
  2. Board size can be changed from 4x4 grid up to an 8x8 grid.
  3. Letter weights can be changed from 1 to 5. Consonant and vowel weights are calculated independently and vowel to consonant ratios are fixed. Click the “+” symbol to update the letter weights. To save your settings, click “SAVE AND EXIT” to return to the Main Screen. To return without saving, click “MAIN MENU”. To reset your settings to the default values (board size is 4x4, game length is 3 minutes, and letters weights all equal to 1), click “Reset Settings”. This will save the new settings as well.

View Statistics

To view the game statistics, return to the main menu and select “VIEW GAME STATISTICS”. The default view is word statistics. Click on any Game ID to get more details about the settings for that game. Click on “WORD STATISTICS” to view word statistics.