Stars, Stripes, & Second Chances

Learners of English as a Second Language (ESL) often have problems with motivation or finding engaging resources to use to learn and develop their English. By using an interactive graphic novel where user’s make their own decisions throughout the game, users can find independence in language learning which will increase and foster their motivation. The game’s three-week storyline follows a refugee who has just come to America which may also increase the rapport that a player might have since one of the targets for this game are refugees in America or those who are planning to be in America soon culminating in 1-3 hours of gameplay depending on the player’s level of English. Players targeted are also at an A2 level according to the Common European Framework. The game was designed using Ren’Py game engine to include a branching narrative system with five possible endings depending on the player’s choices and a point-based progression system as well as several mini-games (most developed with Python) which serve to reinforce the language aspects (e.g. reading, listening, vocabulary, and grammar) taught. It also includes the integration of various multimedia elements for players learning English including stock images and audio. Each character was created and rendered using DAZ 3D and edited using Pixelmator Pro. While this program was created using Ren’Py for MacOS 14.5, it is also possible to run on systems using Windows and Linux desktops.

Table of contents
  1. Stars, Stripes, & Second Chances
    1. Visual Presentation
    2. Introduction
    3. Literature Review
    4. Objectives
    5. Scope
    6. Methodology
      1. Ren’Py
      2. Narrative Structure
      3. English Points System
      4. Task Types
      5. Creating Visual Assets
      6. Refining Dialogue
      7. Journal
      8. Adaptive Challenges
      9. Persistent Memory of Player Choices
    7. Conclusion
    8. Recommendations
    9. Reference List

Visual Presentation

Introduction

Working with learners of English as a Second Language or English as a Foreign Language, there are so many resources available, but very few that can grasp a learners attention and help foster motivation. This project which has resulted in a graphic novel of a refugee coming to America learning English through various means intends to captivate learners who are struggling or who don’t have the ability to attend lessons in their location while also familiarizing them with different aspects of American culture and history.

By giving more independence and autonomy to the learner through the form of a game, the player will take more responsibility for their learning and increase the motivation that the student might have as a result, encouraging the player to be less intimidated by extensive reading in English outside of the classroom.

Literature Review

It has been reported that comic book reading has a direct correlation with an increase in pleasure reading and reading enjoyment and that those who read comic books are more likely to read more books (Ujiie & Krashen, 1996). In addition, can help bridge between the spoken and written language when learning a foreign language (Stephen Krashen: secrets of Second Language Acquisition. “Together for Ukraine” interview, n.d.).

In general, comics are considered to be more engaging than regular books and less intimidating for those who are beginning to read more extensively since the level of difficulty is often lower than something like classical literature. By starting with something like a graphic novel, this can potentially help reluctant readers or students who are struggling with reading.

Objectives

  • The main goals of creating this game for my own professional development encompass the following:
  • Create and implement a branching narrative system using Ren’Py and Python to create multiple storylines and endings
  • Design and develop interactive mini-games that reinforce language learning concepts related to grammar and vocabulary on a variety of topics while demonstrating proficiency in game logic programming
  • Create a dynamic point-based progression system (using English Points) to keep track of the player’s advancement throughout the game
  • Create and integrate multimedia elements (e.g. images and audio) effectively to enhance the learning experience
  • Develop a modular code structure that allows for easy addition or change of new content or features (e.g. additional languages) - an essential software design principle

Scope

Target Audience

The main scope of this project was to cater to beginner to intermediate ESL learners who are either located in the United States or soon will be. The age range can be any age, although most graphic novels tend to be aimed more towards teenagers and young adults.

Language Skills Covered

The project covers reading comprehension skills, listening comprehension skills, vocabulary acquisition, and English grammar structures, as well as some basic writing skills related to spelling and grammar in the journal activities.

Game Structure

The game encompasses a three week storyline with around 1-3 hours of playtime depending on the skill of the player with 5 possible endings: hospitalization, suspension, deportation, standing ovation, and naturalization.

Educational Content

Throughout the game, if all options are chosen, the player will get around 159 vocabulary words explicitly taught to the player in addition to other vocabulary that may be introduced along the way.

Grammar topics range from how to use pronouns (e.g. he, she, they, etc.) as well as demonstrative pronouns (e.g. this, that, these, those), in addition to grammatical constructions such as the present simple or past simple.

Game Features

  • Mini-games and their types (e.g., matching, quizzes, listening exercises)
  • Point system (English Points)
  • Branching narrative with player choices

Technical Specifications

The game can be run on most Windows, MacOS, and Linux desktop computers. At the moment, there are no mobile versions of the game.

Limitations

While the game provides lots of skills to practice with, more extensive writing as well as speaking practice are not included. There are also no multiplayer features, so the game must be run by a single user.

Methodology

Overall Ren’Py provided a lot of tools in order to ease the compilation process as well as setting up an initial project example that comes with the program intrinsically. This made it easier in terms of GUI design since almost everything was present when initially creating the project even before coding began. Important aspects like the menu, preferences pane, etc. are already included when creating the project.

Ren’Py

While my main experience in the past deals with Python, both using Python for designing various game mechanics and Ren’Py was new to me. As a result, it was necessary to consult a few different resources in order to be able to really use both with any great level of skill. It was decided to focus first on Ren’Py seeing as how this would be the main game engine. When it became impossible to use Ren’Py exclusively for any various activities, it became necessary to consult Python’s integration with Ren’Py. The author mainly worked with Game Development with Ren’Py in order to get my Ren’Py files set up - particularly the script.rpy file and the various commands needed in the file like ‘label’, ‘scene’, ‘show’, etc. (Ciesla, 2019).

When it was necessary to get more information about how to use Ren’Py, particularly when it came to using the Python integration that Ren’Py has built in, the documentation on the Ren’Py website was consulted. This was particularly necessary with more advanced Ren’Py features like Ren’Py’s screens which were used for creating nearly all of the vocabulary mini-games included (Ren’Py Documentation, n.d.). When it came to using more Python integration, the author also relied heavily on Making Games with Python & Pygame since it offers useful game mechanics in Python (Sweigart, 2012).

In addition, when dealing with the structure of mini-games as a coding and programming level, while the documentation was helpful, it was much more highly beneficial to orient oneself with the basic structure using things like vboxes to display information and questions for the player. As a result, the author enrolled in a massive online open course through Udemy which specialized in teaching mini-games in Ren’Py. (Zheng, n.d)

Narrative Structure

While initially exploring other options to use like Twine since it offered a more user-friendly interface for keeping track of decisions made by the user, it was ultimately decided to stay with Ren’Py (Ciesla, 2019). Instead, another program was used called SimpleMind in order to create the general storyline. In order to make things easier since this was my first game design, each week was kept separate from the others in terms of choices and their affect.

Taking inspiration from childhood experiences with reading “Choose Your Own Adventure” books, something similar was attempted to be created that the user could experience. This meant that there was a need to provide alternative endings for the player in an attempt to make the storyline more interactive and interesting for the user. As a result of this, it became necessary to begin keeping score of the different points that the user would receive. With more points, the ending for the user would become better. Ultimately, there became 5 possible endings ranging from hospitalization to a standing ovation to naturalization. The ending also culminated on a Thanksgiving project, where the user would give a speech to an auditorium with several different possible choices throughout.

The overview of the entire overview of the storyline with all details of choices and the story’s progression can be found in Appendix 1, although some minor changes occurred later on during the coding portion of development.

English Points System

Creating the English points system took some research since it was difficult to find any kind of documentation with how to add points into Ren’Py directly. In addition, while Python is able to be run within Ren’Py, there may not be a persistent memory of the number of points since the two are treated separately within the program. Therefore, if a mini-game running Python saves the points for that game, it would be necessary to call it at the end in order to determine the ending using Python rather than Ren’Py. Instead, it was necessary to use Python to keep track of points. After consulting Ren’Py’s extremely helpful and useful documentation, It was eventually found that using the search feature on their website which offered some examples for using ‘$’ in order to call a single Python line of code. Then it just became an issue of inserting the lines in the correct locations in order to increase or decrease the number of English points depending on the circumstance. (Python Statements, n.d.)

Task Types

When it came to creating the various mini-games, the focus became how to apply classroom activities that normally occur in the ESL and EFL classroom into something that the user might: 1) recognize, 2) be able to complete with limited instruction, 3) be challenging or new for the player. All of these culminated in repeating various tasks once the user was familiar with them.

In addition, the level of vocabulary, reading comprehension, and listening comprehension exercises were adjusted in order to keep at a level no higher than A2 on the CEFR level. Based on the CEFR’s descriptions level by level, topics of vocabulary were chosen with regard to “family and other people, living conditions, my educational background and my present or most recent job.” In addition, some sports and free time activities were added in order to increase the functionality of the game’s topics. (Self-Assessment Grid - Table 2 (CEFR 3.3) : Common Reference Levels, n.d.)

When dealing with reading comprehension, topics were selected from English textbooks put out by the U.S. State Department on various topics related to American culture and history and then written and adapted for A2 level learners. According to the CEFR, players “…can read very short, simple texts. I can find specific, predictable information in simple everyday material such as advertisements, prospectuses, menus and timetables and I can understand short simple personal letters.” In coordination with these descriptors, it is the author’s firm belief that a graphic novel would be the best in getting lower level students of English involved since there is more of a dialogue exchange similar to what one might find in a letter as mentioned previously. In addition, one reading comprehension exercise about sports was also included but the user will only discover it if the user chooses the sports club at the beginning of week 2. (Self-Assessment Grid - Table 2 (CEFR 3.3) : Common Reference Levels, n.d.)

When dealing with listening comprehension, topics and questions were chosen and created also according to the CEFR’s description: “I can understand phrases and the highest frequency vocabulary related to areas of most immediate personal relevance (e.g. very basic personal and family information, shopping, local area, employment). I can catch the main point in short, clear, simple messages and announcements.” As a result, all listening tasks don’t take more than 1 minute so as to keep things simple and straightforward for the listener. (Self-Assessment Grid - Table 2 (CEFR 3.3) : Common Reference Levels, n.d.)

Creating Visual Assets

One of the most important aspects of a visual novel has to do with the creation and integration of different visual assets like the characters and backgrounds. Throughout the story, these images will be the main feature that the user will see so it is important that a good impression is made in this aspect. Initially, placeholders were created using Stable Diffusion, but later as the project began taking more shape and form, the author was introduced to DAZ 3D Studio - a piece of software that allows for the creation of 3D models of both human and objects. In addition, some 3D model scenes were available for purchase through the DAZ 3D Store (User Guide, (n.d.). In order to become more familiar with the program since this was very new and was only used from the second week into the project, it was decided to begin an orientation course which would allow for understanding how to use the program better and more efficiently (Daz Studio Foundations and Essentials Course, n.d.). This proved to be especially useful since this program was needed repeatedly for every scene and character created.

In addition, when it came to making edits - and particularly when it came to creating the images for the vocabulary portions - Pixelmator Pro was used as well as various stock photos from Midjourney. The prompts and images used can be found in Appendix 2.

Refining Dialogue

When it came to refining the dialogue, various hashtags were added throughout the program as ‘#monologue’ in order to make editing easier in the future. These portions can have different languages added. For example, if a user is going to play the game in Ukrainian or Spanish, this tag throughout the document will allow for the location of where a translation could be. As a result, the monologues would be in the user’s own language while the dialogue and the games would be in the target language of English. This would allow for better comprehension - particularly for A1 or pre-A1 level learners since there would be less English to understand and the main character’s role would be more realistic as well since the main character wouldn’t necessarily be speaking in English to themselves when they were alone. This also allows for more complex aspects of the plots vocabulary to be repeated here so that if it was missed when reading in English, the player would receive this information later during a monologue, ensuring that the player doesn’t become lost or overwhelmed throughout gameplay.

Journal

When it came to determining different tasks for the user, it was decided to focus on each of the four main skills - reading, listening, speaking, and writing. However, speaking is less of a possibility since this is a visual novel and the only way that the player can interact with the NPCs is through reading and selecting different predetermined choices. However, a similar aspect of writing quickly became apparent since it would be difficult to implement a mini-game which would be able to check the user’s spelling, grammar, etc. without a massive amount of lists to do so. Instead, it was decided to take an approach similar to how the SAT assesses writing by focusing mainly on spelling and filling in the blank (Berkman, 2016). In order to integrate this with the story, it was decided to prompt the player to “write” in their journal at the end of almost every day. This also allows the player to check their knowledge of what they understood throughout the day. In addition, since this task focuses mainly on spelling with a few grammar questions, it was important to bring the attention of the player to these different types of spelling. This will allow for more awareness as it would eventually bring better writing skills in the long term.

Adaptive Challenges

In the beginning of the game, it was decided to focus mostly on orienting the player. Therefore, less educational content was used. However, as the story progresses, the player will find much more educational content with a focus especially on vocabulary development.

Persistent Memory of Player Choices

Similar to working with English points, it was difficult to find a way to save the choice that the user made for which club to join. The portion immediately after taught the player words related to the choice of which club to join, but when it came to later in the week where the main character would attend the club that they had previously selected, there was no visible way to allow this in the game mechanics. However, after some troubleshooting and research, it was possible by using an if-statement and variables within Ren’Py (In-Game Menus — Ren’Py Documentation, n.d.).

Conclusion

In conclusion, this project’s main objective was to help orient me as a programmer for software as well as to provide an educational ESL game which could prove a useful tool for students who are new or reluctant readers as well as those players who just enjoy playing interactive graphic novels. This has been done through the implementation of Ren’Py and Python which encourage students to practice and perfect their vocabulary, listening, reading, spelling, and grammar skills. In addition, it has helped build my skills as a designer, becoming acquainted with 3D rendering software like DAZ 3D. While the primary objectives of this project have been met with the current version of the game, there is certainly more room for continuing development or pivoting by adding multiple language support or providing templates which can be used in future ESL learning software.

Recommendations

With regard to what can be added, removed, or changed in the future, content, I would want to add the additional 3 weeks that was part of the original plan. This would allow for more storyline features and perhaps, more complicated choice tracking. In addition, I would add more listening and reading activities, with a more gradual progression on various grammar topics - particularly with present perfect. I would also want to add more dialogue in week 3 since one of the beta testers specifically mentioned that the mini-games in week 3 become quite cumbersome when compared with weeks one and two. I would also like to create a game using these templates that I have created for the mini-games in order to teach and revise students’ knowledge and skills on various grammar and vocabulary topics based on a curriculum’s course materials.

Reference List

  • Berkman, J. (2016). The 12 SAT Grammar Rules You Must Know. Prepscholar.com. https://blog.prepscholar.com/sat-grammar-rules-you-must-know
  • Ciesla, R. (2019). Game Development with Ren’Py : introduction to visual novel games using ren’py, tyranobuilder, and twine. APress.
  • Daz Studio Foundations and Essentials Course. (n.d.). Daz 3D. Retrieved June 28, 2024, from https://www.daz3d.com/daz-studio-foundations-and-essentials-course
  • In-Game Menus — Ren’Py Documentation. (n.d.). Www.renpy.org. Retrieved June 28, 2024, from https://www.renpy.org/doc/html/menus.html
  • Python Statements — Ren’Py Documentation. (n.d.). www.renpy.org. https://www.renpy.org/doc/html/python.html
  • Self-assessment grid - Table 2 (CEFR 3.3) : Common Reference levels. (n.d.). Common European Framework of Reference for Languages (CEFR). https://www.coe.int/en/web/common-european-framework-reference-languages/table-2-cefr-3.3-common-reference-levels-self-assessment-grid
  • Stephen Krashen: secrets of Second Language Acquisition. “Together for Ukraine” interview. (n.d.). www.youtube.com. https://www.youtube.com/watch?v=FA37gV2V-Zs
  • Sweigart, A. (2012). Making games with Python & Pygame. Al Sweigart, Cop.
  • Ujiie, J., & Krashen, S. (1996). Comic Book Reading, Reading Enjoyment, and Pleasure Reading among Middle Class and Chapter 1 Middle School Students. Reading Improvement, 33, 51-54.
  • User Guide. (n.d.). Docs.daz3d.com. Retrieved June 28, 2024, from http://docs.daz3d.com/doku.php/public/software/dazstudio/4/userguide/start
  • Ren’Py Documentation. (n.d.). www.renpy.org. https://www.renpy.org/doc/html/
  • Zheng, L. (n.d). Ren’Py Minigames 101 [MOOC]. Udemy. https://www.udemy.com/course/renpy-minigames/