Memoji

Spring 2019

Highly inspired by the Jackbox(tm) Party Pack games, Jonathan Poholarz, Maxwell Jones, Manoj Polisetti, Andrew Ring, and Delun Shi make up the team that brings you Memoji.

A clever word mash up of 'Meme' and 'Emoji', in Memoji you face off against your friends (or enemies) to create the best answer to a series of comedic prompts. What counts as best? That's up to you as you vote for the best answers in each round. But here's the catch: all of your answers can only be represented using emojis!

Compatible with Windows, Mac, Linux, Android, and iOS, Memoji has been designed to work cross-platform with as little hassle as possible. Creating a game from a computer is simple and easy utilizing a short 4-letter code system. Simply connect to a lobby with your device and code and enjoy the Emojis!


Memoji has been our Senior Software Design Group Project as we graduate from Purdue University. We set out to build an engaging family game experience using the knowledge we have learned in our educations.

The system is divided into three intercommunicating parts: the Host, the Server, and the Players. Each game session is run by a Host instance on a user's computer. After registering the session with our Amazon Cloud hosted Server, Player instances can connect to the Host. Once enough Players have joined, the Host can begin a game session after which messages are passed back and forth from the Host to the Server to the Players and in reverse from Players to Server to Host.

Front-end and game logic were implemented in the up-and-coming Godot Game Engine 3.0.6 - the 3rd fastest growing open source project on Github at the time of writing this. Godot provided us with useful user interface components such as buttons and scrollbars which we used to build our game screens. It also takes care of the low level tasks such as memory management and window rendering which makes cross-platform execution easier for us. Our back-end Server ran on NodeJS code on an Amazon Web Services instance.

As the relative Godot expert in our team on this project, I was our Scrum Master throughout the semester and directed a lot of the tasks that needed to be completed as well as picked up stories where needed. In particular, I wrote our client-side networking code and created the prompt answering screens that generate dynamically based on the emojis in the configuration files.

Most of our project went well, but we ran into a few problems throughout the semester. For example, a bug in the Networking code for Godot 3.0.6 (fixed in 3.1) made some of our networking difficult. Although we worked around it, it would probably be smart to rewrite our networking before releasing the actual product. Similarly, the server code could use another pass or few to be cleaned up and made more reliable. In the same vein, the core gameplay logic became jumbled as the semester progressed due to miscommunications among team members implementing the same systems. This has left a lot of unused code that could definitely be deleted. And lastly, we were never really satisfied with the resulting user interface color scheme. It could definitely be overhauled to look better.

For those reasons, there are currently no plans to release the project as a purchasable product, but, if the stars align, maybe Memoji will make a return, newly designed and packed full of emojis.