Starting to build out the game…
I used the opportunity of being in Game Design II to utilize the methods being taught for the design and implementation of the project. In that course for the summer quarter of 2023 at Drexel, ChatGPT is being used as a tool for game design and implementation.
I instructed to ChatGPT to take on certain roles such as “senior game designer and developer with great musical knowledge,” “game designer,” “musical instructor,” or “game developer” based on the purpose of the conversation. I provided the game concept in detail, using information from a conversation about tonic sol-fa information to aid with specificity, and ChatGPT provided a game design plan.
Prompt Design
Here are the basics game details of the prompt that resulted in the plan:
- Game purpose: skill acquisition for tonic sol-fa
- What the game is to built with: C# and Unity
- Objective: assess player ability to identify relationships of notes played
- Player role: interact with game objects representing syllables as a means to answer
- Logic: progression, chance management, win and lose conditions
- Factors affecting difficulty with example of scaling
Game Design Plan
And here is the plan ChatGPT gave me!
Step 1: Setting up the Game Environment
- Start by creating a new project in Unity using C# as the scripting language.
- Design the game scene where players will interact with the syllable objects representing the tonic sol-fa.
- Set up the UI elements to display the player’s score, chances remaining, and level progression.
Step 2: Implementing the Gameplay Mechanics
- Generate a random major key at the start of the game. You can create a list of major keys and randomly select one.
- Determine the scale notes for the selected major key. You can create a function to calculate the scale notes based on the chosen key.
- Generate the initial pitch sequence by randomly selecting a number of notes (e.g., 3) from the scale notes.
- Display the pitch sequence to the player using visual or auditory cues.
- Create the game objects representing the syllables “do,” “re,” “mi,” “fa,” “so,” “la,” and “ti” in the game scene.
- Implement the logic for player interaction with the syllable objects:
- Allow the player to click or interact with the syllables in the game scene.
- Store the player’s selected syllables in the order they are clicked.
- Compare the player’s selected syllables with the correct pitch sequence.
- Award points if the order is correct or deduct chances if the order is incorrect.
- Update the UI elements accordingly.
- Check the game conditions after each player interaction:
- If the player loses three chances, end the game.
- If the player correctly identifies 20 pitch sequences, the player wins.
- If the player wins or loses, display a victory or defeat screen accordingly.
Step 3: Implementing Difficulty Progression
- Create a variable to track the number of correct answers.
- After every five correct answers, increase the difficulty level by adjusting the factors you mentioned (number of notes, syllables assessed, octave range).
- Modify the pitch sequence generation logic to reflect the increased difficulty for each level.
- Update the UI to display the current level and any relevant difficulty indicators.
Step 4: Polishing and Additional Features
- Add visual and audio effects to enhance the game experience.
- Include a tutorial or instructions at the start of the game to familiarize the player with the gameplay mechanics.
- Implement sound cues for the pitch sequences to aid player understanding.
- Provide a reference screen where players can see the current major key and scale before starting a pitch sequence.
- Consider adding a high-score leaderboard or achievements to encourage replayability.
Simplifying Execution
I asked ChatGPT to provide the game mechanics in order to determine, which to focus on to begin with and it gave a simplified version of the game plan. I further clarified, and it listed out the mechanics like so:
Based on the game plan, here are the mechanics that would be present in the resulting game:
- Random Key Selection:
- At the start of the game, a random major key is selected.
- Pitch Sequence Generation:
- Based on the selected major key, a pitch sequence is generated.
- The pitch sequence consists of a series of notes from the major scale of the chosen key.
- Pitch Sequence Display:
- The generated pitch sequence is displayed to the player using visual or auditory cues.
- The player can observe the order of the notes represented by the syllables “do,” “re,” “mi,” “fa,” “so,” “la,” and “ti.”
- Syllable Object Interaction:
- The player can interact with game objects representing the syllables “do,” “re,” “mi,” “fa,” “so,” “la,” and “ti.”
- The player clicks or interacts with the syllable objects in the order they believe matches the displayed pitch sequence.
- Order Validation:
- The player’s selected syllables are compared with the correct order of the pitch sequence.
- If the selected syllables match the correct order, points are awarded.
- If the selected syllables are in the incorrect order, the player loses a chance.
- Scoring and Chances:
- The player’s score is updated based on correct answers.
- The player has a limited number of chances (lives).
- Incorrect answers deduct chances, and losing all chances results in game over.
- Difficulty Progression:
- After every five correct answers, the difficulty level increases.
- Difficulty factors include the number of notes, syllables assessed, and potentially the octave range of the notes.
- Win and Lose Conditions:
- The player wins the game by correctly identifying 20 pitch sequences.
- If the player loses all chances (lives), the game ends in defeat.
Out of this list, the mechanics I chose not to implement at all to start off with are mechanic 1 and mechanic 7. Instead, the game was set to play the notes in the key of C and to have no scaling in difficulty. I also chose to start with simplified versions of mechanics
- 2 (having only 3/7 notes of the scale and playing exactly 3),
- 4 (having only the syllables “do,” “mi,” and “so”),
- and 6 (just the chances with no scoring),
…the former two for the sake of implementing a version of the game for recognizing thirds. With that being said, pitch sequences are to be presented in audio (mechanic 3), the notes have to be identified in the proper order (mechanic 5), and the game is lost at 3 wrong answers and won at 20 correct ones (mechanic 8).
Game Blurb and Naming
I asked ChatGPT to give a simplified description of the game focusing on mechanics, input, output and win and loss conditions. I asked for ChatGPT’s opinion on the name of the game and chose from the provided list, Scale Savant. Then I modified the description with both the simplified mechanics and the name.
The description:
In “Scale Savant,” players engage in a musical skill-building game where they identify and arrange syllables representing pitches in piano note sequences using tonic sol-fa. The game presents pitch sequences of 3 notes in the key of C in audio form to the player, who will click on syllable objects to recreate the sequence in the correct order. Version 1.0 just focuses on recognizing thirds, so the syllables to choose from are “do,” “mi,” and “so.” Players win by correctly identifying 20 pitch sequences and lose once they have been incorrect 3 times. The game will be made using C# and the Unity Game Engine.
Educational Considerations
Having ChatGPT act as a game developer, I fed it the game design plan from the other conversation, and it developed a simple implementation without any of the details or complexities. Then having ChatGPT as a game analyst and instructional design expert, I asked it to consider the potential implementations of the game and their pedagogies and make suggestions for player interaction to optimize skill acquisition. It provided the following list:
1. Gradual Difficulty Scaling: Scale Savant already seems to implement a level of difficulty progression, which is excellent. Make sure to start with simple and common scales and fewer notes in the pitch sequence. As players progress, you can introduce less common scales, longer pitch sequences, and even introduce accidentals or minor keys. The key is to provide just enough challenge to keep the player engaged but not so much as to cause frustration.
2. Active Learning: Active learning, where the learner actively participates in the process, has been shown to improve learning outcomes. In Scale Savant, this is implemented through the player’s active engagement in identifying pitch sequences. Try to maintain this active learning process throughout the game and avoid long periods where the player is passively receiving information.
3. Feedback: Immediate feedback can improve learning outcomes by helping the player correct their mistakes and understand the concepts better. After the player attempts a pitch sequence, provide feedback on whether it was correct and why. If they were wrong, consider offering the correct sequence and explain the difference.
4. Practice and Repetition: It’s often said that “practice makes perfect,” and this is especially true in music. Encourage players to replay levels to perfect their skills. You might consider implementing a feature that allows them to practice specific scales or pitch sequences.
5. Breaks and Spaced Learning: Research has shown that learning can be improved by taking breaks and spreading learning over time. You could implement this in the game by encouraging the player to take short breaks after a certain amount of gameplay, or by structuring the game in a way that naturally encourages play over a longer period of time.
6. Goal-Setting: Having clear goals can motivate learners and provide a sense of achievement. The game already has some elements of goal-setting, such as progressing to the next level or achieving a high score. You could further this by allowing players to set their own goals or by providing additional challenges, such as completing a level within a certain timeframe.
7. Social Learning: Learning can be enhanced by interacting with others. Consider adding a multiplayer mode where players can compete or cooperate to complete pitch sequences. This would allow players to learn from each other and potentially improve their skills faster.
8. Variability of Practice: Introduce different modes of practice to enrich the learning process. For instance, having a ‘free play’ mode where players can create their own pitch sequences and listen to them can help deepen their understanding of the tonal relationships between syllables.
This prompted me to add display of the correct answer upon loss to my current implementation focus. Some other aspects of the plan that I’m not focusing on yet are noted to have significance to learning, so that is something to keep in mind as I progress. This list also provides insight on game modes to implement at a later time that I had not thought of.
Leave a comment