Pokemon is a childhood favourite for the 90s kids.

What better way to walk down memory lane (and possibly procrasinate on whatever obligations you have) by looking up your all-time favourite pokemon? This virtual pokedex includes its pokemon type, its base statistics, its attack abilities, an accompanying picture and much more.

Gotta catch'em all!
## Inspiration

Our Inspiration for this project was discord bots as we always wanted to make one that anyone have fun using. We also wanted to implement our knowledge of API calls which we learned from our courses to get a real understanding of API calls. We also loved Pokemon and decided creating a discord bot that allows people to engage themselves in pokemon adventures would be something we would love to create.

## What it does

The PokemonBot allows one to start a pokemon adventure. By choosing a stater Pokemon (Charmander, Squirtle, or Bulbasaur), the player starts their adventure. The pokemon and stats are saved to a particular player id, and everyone of that particular server is saved to a particular guild id. With the player's starter pokemon, they can hunt in 8 different habitats for new pokemon. They can fight or capture wild rare pokemon and add it to their collection. The Pokemon Bot also gives details on the stats on pokemon hp and opponent hp when battling. Overall, the bot allows discord users to engage themselves in a pokemon game that all members of a server can play.

## How we built it

We built it using python on visual studio code. We also utilized a couple of libraries such as openpyxl, pokebase and discord.py to make this project.

## Challenges we ran into

We ran into a couple of challenges when it came to designing the battle feature as there were many errors and difficult parts to it that we didn't really understand. After collaborative work, we were able to understand the flaws in our code and fix the bugs the battle feature was going through to make it work. The overall project was relatively complex, as it had us experience a whole new field of programming and work with API calls heavily. It was a new experience for us which made it super challenging, but this taught us so much about APIs and working with discord bots.

## Accomplishments that we're proud of

We are proud of the overall product we have developed as the bot works as we intended it to, which is our biggest achievement. We are also proud of how well the bot works on discord and how simple it is for anyone to play with the PokemonBot.

## What we learned

We learned how to work with new libraries like the openpyxl, pokebase and discord.py as this was a new experience for us. Mainly, we learned to work with a lot of API calls as the project data was dependent on the Pokemon API. We also learned important collaboration tacts to effectively work together, and test and debug problems in the code.

## What's next for Pokemon Discord Bot

The next step is to add tournaments and the feature for players to be able to battle each other. We hope to implement multiplayer, as playing solo is fun, but we want people to engage with other people in a discord server. We hope to implement various forms of multiplayer like tournaments, pokemon gyms, battles, etc, where discord users can challenge other discord users and have fun.

Join our bot
<https://discord.gg/BeFWgp9w>
# Relive and Relearn

*Step foot into a **living photo album** – a window into your memories of your time spent in Paris.*

## Inspiration

Did you know that 70% of people worldwide are interested in learning a foreign language? However, the most effective learning method, immersion and practice, is often challenging for those hesitant to speak with locals or unable to find the right environment. We sought out to try and solve this problem by – even for experiences you yourself may not have lived; While practicing your language skills and getting personalized feedback, enjoy the ability to interact and immerse yourself in a new world!

## What it does

Vitre allows you to interact with a photo album containing someone else’s memories of their life! We allow you to communicate and interact with characters around you in those memories as if they were your own. At the end, we provide tailored feedback and an AI backed DELF (Diplôme d'Études en Langue Française) assessment to quantify your French capabilities. Finally, it allows for the user to make learning languages fun and effective; where users are encouraged to learn through nostalgia.

## How we built it

We built all of it on Unity, using C#. We leveraged external API’s to make the project happen.
When the user starts speaking, we used ChatGPT’s Whisper API to transform speech into text.
Then, we fed that text into co:here, with custom prompts so that it could role play and respond in character.
Meanwhile, we are checking the responses by using co:here rerank to check on the progress of the conversation, so we knew when to move on from the memory.
We store all of the conversation so that we can later use co:here classify to give the player feedback on their grammar, and give them a level on their french.
Then, using Eleven Labs, we converted co:here’s text to speech and played it for the player to simulate a real conversation.

## Challenges we ran into

VR IS TOUGH – but incredibly rewarding! None of our team knew how to use Unity VR and the learning curve sure was steep. C# was also a tricky language to get our heads around but we pulled through! Given that our game is multilingual, we ran into challenges when it came to using LLMs but we were able to use and prompt engineering to generate suitable responses in our target language.

## Accomplishments that we're proud of

Figuring out how to build and deploy on Oculus Quest 2 from Unity
Getting over that steep VR learning curve – our first time ever developing in three dimensions
Designing a pipeline between several APIs to achieve desired functionality
Developing functional environments and UI for VR

## What we learned

* 👾 An unfathomable amount of **Unity & C#** game development fundamentals – from nothing!
* 🧠 Implementing and working with **Cohere** models – rerank, chat & classify
* ☎️ C# HTTP requests in a **Unity VR** environment
* 🗣️ **OpenAI Whisper** for multilingual speech-to-text, and **ElevenLabs** for text-to-speech
* 🇫🇷🇨🇦 A lot of **French**. Our accents got noticeably better over the hours of testing.

## What's next for Vitre

* More language support
* More scenes for the existing language
* Real time grammar correction
* Pronunciation ranking and rating
* Change memories to different voices

## Credits

We took inspiration from the indie game “Before Your Eyes”, we are big fans!