Inspiration

As first year university students, we are currently in a stage of exploring a range of possible career paths, and noticed other students do the same. Although there are available resources and career exploration opportunities in universities and the internet, many of us students desire for a more practical and first-hand experience into what it’s like to take a role in a specific career. Hence, comes our idea of Chalant in Careers, an opportunity for individuals of all ages to explore different jobs in a fun and interactive setting. Through interacting with people virtually, our game also serves as a relaxed way to hone communication skills, a skill many of us students desire to improve upon. Additionally, we designed Chalant in Careers for us students who are always seeking to stay productive or struggle with a short attention span, where the game offers a refreshing way to keep our minds stimulated and focused in a relaxed and entertaining space.

What it does

Chalant in Careers is a single-player game that involves the player (you) to embody a role in four different jobs (doctor, psychologist, hotel front-desk, or a real estate sales agent). The player would be able to select a role per round. In every round, the player will be able to chat with a character (patient or client) virtually through a chatbox and act as the chosen role for that round. The player gets 7 responses before their performance gets evaluated. In the evaluation, the player will receive feedback on how they performed in their chosen role for that round and receive their pay in the form of coins (either 100, 250, or 500) in accordance to their performance.

The game tests the player's communication skills by allowing the player to engage in realistic, role-based conversations with AI-powered characters. Each interaction is designed to simulate real workplace scenarios, challenging the player to respond professionally and empathetically within the context of their chosen role. The quality of the player's responses directly influences their evaluation score and the coins they receive at the end of each round.

How we built it

The core programming language we utilised to build Chalant in Careers is Python 3. Pygame is used as a game engine for rendering the top-down world, character movement, and all UI scenes. Additionally, NumPy is used to generate the player sprites and handle movement physics like the character's moving speed. We imported the world map from Photoshop and the invisible entry zones mapped to each building.

For the AI layer, we integrated the OpenAI API across three distinct functions. Firstly, a character generation call that produces a completely unique NPC every run, with a different name, age, background, condition, and personality, so no two sessions are ever the same. Second, a live NPC conversation call that powers the dialogue across 7 messages, where the AI plays the character naturally and reacts authentically to how the player communicates, warming up when treated well, and becoming guarded when dismissed or rushed. Thirdly, a separate semantic grading call that reads the full conversation transcript after all 7 turns and evaluates the player's communication quality against a strict rubric, assessing emotional intelligence and professionalism, returning a score and specific written feedback.

This three-call architecture was a deliberate design decision. By keeping the NPC and the grader as completely separate AI calls, the NPC can stay fully in character without the pressure of simultaneously judging the player, while the grader can analyse the full transcript with consistency and honesty. The grading also runs at a lower temperature setting to keep scoring stable and fair across different runs. On top of that, all AI calls, including character generation, run on background threads so the game never freezes while waiting for a response.

Challenges we ran into

Bringing the code into life was one of the hardest challenges that we faced. Since we’re integrating APIs into the game, a lot of trials and errors were involved. During our last day, we spent the whole day debugging, for both big and small details. The challenge of integrating 3 AI roles into one game is definitely worth noting. When this arose, we ensured that the AI had clear roles that met our expectations in terms of how the code was running. Initially, the responses came across as too blunt and too straightforward, but after several rounds of prompt training, the AI could finally match our expectations.

Accomplishments that we're proud of

For our game as a whole, we are especially proud of our idea. We believe our game idea of embodying different careers is not only fun but also educational and useful for kids and young adults. We are also proud of our graphics and gameplay.

Additionally, our planning and allocation of tasks is something we are proud of. During the first day of the Hackiethon at Hub Day, we came together as a team to fully flesh out our plan for the game and its logic. This strong planning foundation enabled us to run a rough demo the same day, allowing us to visualise our project and to focus on the finer details and AI integration aspect the following day.

What we learned

As Walt Disney once said, β€œIf you can dream it, you can do it.” We learned that building things that could work and potentially impact someone else brings us a greater level of meaning and joy. Building things to life is possible as long as we have the courage to take the first steps, however fearful it may have seemed at the start, especially considering this is our first hackathon ever.

In the process of making this, we found joy in the company of others, in supporting each other's work, and in saying thanks for every contribution that each of us poured in to make this project come to life. We learned that it takes patience and endless iteration to bring a project to life, and that everything is learnable and doable.

Additionally, our hard skills in programming and computing fundamentals have definitely improved throughout the process of making this game.

What's next for Chalant in Careers

Our next step is finding ways to make our game more engaging and interesting for players. This includes adding additional features such as a knowledge quiz, having clearer graphics, and adding a wider selection of career roles. Also, adding practice/demo rounds at the start of our game would enhance it as well.

Built With

Share this project:

Updates