Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin
Mystery-o-matic.com random murder generator is open-source (github.com/mystery-o-matic)
98 points by galapago on Nov 26, 2023 | hide | past | favorite | 26 comments


I'm the main developer behind mystery-o-matic, happy to take questions and feedback regarding its engine here!


Really cool experience! :)

Having been cheerfully awarded the sleuth-o-matic rank of Barely Conscious (the murderer was was clear, the precise weapon+time wasn’t) I was wondering: is the mystery generator implemented in such a way that there’s enough “metagaming cues” in the clues to allow someone clever to get a good score on ALL generated mysteries?

For context: my partner correctly solved today’s mystery seven clues earlier than I did, and she explained that her answer was based on the fact that that 1. In literature certain weapons are predominantly associated with killers of particular genders, and 2. Killers will try to minimize their time spent at crime scenes to reduce the risk of detection, so if the murderer was found there, it’s probable that the murder was recent.

I was suitably impressed, but I’d be curious to know if human psychology and behavior patterns in literature are actually taken into account for the mysteries.


> Having been cheerfully awarded the sleuth-o-matic rank of Barely Conscious (the murderer was was clear, the precise weapon+time wasn’t) I was wondering: is the mystery generator implemented in such a way that there’s enough “metagaming cues” in the clues to allow someone clever to get a good score on ALL generated mysteries?

Well, the mystery generation is stochastic (where some of them will be more complex and difficult, while other ones are simpler) and the scoring is still under development (it usually very difficult to get a good score). Expect some changes in the near future to make the score more adaptative and fair.

> For context: my partner correctly solved today’s mystery seven clues earlier than I did, and she explained that her answer was based on the fact that that 1. In literature certain weapons are predominantly associated with killers of particular genders, and 2. Killers will try to minimize their time spent at crime scenes to reduce the risk of detection, so if the murderer was found there, it’s probable that the murder was recent.

> I was suitably impressed, but I’d be curious to know if human psychology and behavior patterns in literature are actually taken into account for the mysteries.

Assumption 1 is incorrect, all the weapons are randomly assigned so it was a lucky guess (however, it is an interesting one to make, so I will think about it to include it in the future..). Assumption 2 is .. actually correct. The mystery generation has a "minimization" procedure, where the actual input (the action from every agent) are reduced while keeping the murder mystery. This will indirectly, tend to make this assumption true.

Thanks for your feedback, it was really interesting.


I'm not sure exactly what happened, but there's definitely some sort of bug - I entered what I was certain was the correct info and got the "incorrect" phrase. Rechecked about 100% times using all clues and still the same. Switched to a different browser and entered the same answers and... it said correct.

Might be because I clicked through to either the sleuth-o-meter or the how to play and then hit back? I also filled in the example table on the how-to-play.

(Also, glad I'm not going crazy!)


I suspect there is a bug in the selector. I need to investigate. Thanks for the report!


Can you explain a bit more how Ethereum fits in “for obtaining a random mystery prompt and its solution”?


Ethereum as a platform is not really used, but Solidity smart contracts simulated inside a testing tool. Check my explanation here: https://hackernews.hn/item?id=38422232


Would it fairly easily port to a blockchain? And would you be interested in bringing it to Evmos?


Depends on what you want exactly, but I think it should be straightforward. Please use the contact form so we can continue this conversation: https://forms.gle/dvA4Wr8LiuHFmDZN7


This is cool. What was your motivation?


I wanted to create an alternative to murdle.com (which is very good, btw!) and learn a little bit of about web technology


While we're at it, what were the means and opportunity?


What do you mean exactly?


They’re joking. The cliché in criminal investigations is the suspect needs means, motive, and opportunity to commit the crime. You gave motive, so means and opportunity remain.


Thanks!, I know that cliché, but I tend to take comments too literal :)


A Solidity smart contract that doesn't involve cryptocurrency. I've never heard of such a thing. Very cool


It was used because of the nature of blockchain transactions as operations, but everything is simulated so no cryptocurrency is involved. Instead, every transaction represents a possible state change in the murder mystery (e.g. Alice walks from the Kitchen to the Bathroom). If the state change breaks any rule (e.g. let's say no more than two characters in the same room), then the transaction reverts and the fuzzing tool keeps exploring.

Edit: I guess an expanded version of this should be in the README


Fun fact about mystery-o-matic.com, and I suspect the HTML page generated with linked software : with JS disabled, you are able to see all clues "for free". When you don't know what the UI ought to look like, you just read them before realizing you're not supposed to.


This is correct, JS should be enabled to play :). The alternative is using a server to get clues which I want to avoid (the website is a single, static html). This enabled to play offline as well.


You can probably hide those with a `display: none` via CSS and remove it with Javascript. People with poor connections may fail to load the JS, or see the clues until JS finally loads.


Good catch, thanks a lot!


I have been running a murder mystery competition where you solve cyber security challenges for the past 7 years[1]. We come up with a story and then build an evidence graph for competitors to traverse. Challenges can be as simple as a Caesar cipher, or more involved like analyzing a clone of Twitter for clues. The challenge infrastructure is all defined with configs and gets deployed automatically to kubes. It is all open source too if you want to check it out[2].

[1] https://mcpshsf.com/ [2] https://github.com/xctf-io/chalgen


This is cool! I would like to a look and see if I can build something a little simpler for my kid that uses characters he likes. Some day… Thank you!


Anyone have a link to examples?



Yep, looks cool to me.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: