Inspiration
We came up with the idea a couple of days ago with halloween around the corner, thought it would be difficult with just 2 of us, but still decided to give it a go!
What it does
Simulates an evening in a Mansion with rooms, people and items. It then stores every event that happened and presents it to the user in the form of an interactive GUI where the user can investigate to try to determine who is lying and therefore who is the murderer. The user gets one shot when it comes to deciding who the murderer is.
How we built it
We programmed it in Python3 using Tkinter for the display. We split it down using OOP into 14 classes, creating 2 custom graph libraries for storing relationships and adjacent locations using dictionaries. We also used a nested dictionary to return events from a time and location, which then gets displayed to the GUI.
Challenges we ran into
We ran into several challenges but to name the main few:
Tkinters integration into MacOS/Windows was different, since we only had 24 hours we had to essentially 'sacrifice' windows compatibility in favour of Mac. This will be solved after the Hackathon by converting the front-end to Flutter and hosting the software as a web-application.
We had to store events against both a room and a time key, so they can be easily accessed by the GUI to be presented to the user. We accomplished this through the use of a nested dictionary.
The aspect of breaking down the project so that it can be developed by 2 people was also difficult. We opted to split this up into front-end and back-end development
There is still some bugs in the program, but this is mostly in the generation process, this means its easy just to restart, however we plan on fixing these (at some point!)
Accomplishments that we're proud of
We got it working! That was our only goal, and we accomplished it. You see an evening where somebody gets murdered, and you can see who was where and decipher from it: who murdered who.s
What we learned
We learned the value of focusing on the maintainability of aspects of software development. Looking back on the code was painful, and we realised that we should had commented things more, as I was unable to understand my teammates code, and they were unable to understand mine.
What's next for Murder Mystery
We generated a lot of data for the evening that we didn't use, such as relationships between people. We plan to further integrate this to make the evenings contain more story. We also plan to further develop this into a web app using the Flutter framework as we ran into issues with Tkinters compatibility with macOS and Windows, a problem that Flutter would solve.
We also want to make the murderer smarter, so that there is more challenge in finding the murderer as it is quite easy at the moment - this could also be moderated through difficulty levels.
Built With
- python
- tkinter

Log in or sign up for Devpost to join the conversation.