Concept:
Boredom is a state of mind that craves some type of change. I ask myself sometimes when was the last time I have gotten bored. My answer would be is that I do not remember. While discussing other’s people state or level of boredom, I can see a glimpse of the different life each one of us has. As well as the pace humans like to take for themselves.
In my game I’m Not/Too Bored I wanted to create a dialogue between characters that experince different life pace than others. Each holds a unique lifestyle that changes how they decide to go on with their way of living. While engaging in a conversation with three people, I want to gain data, that shouldn’t be too seriously taken, to showcase the level of boredom the player might experince in life. I could also add a little input that could help them as I myself never get bored.
Process:
I started with the type of questions I wanted to ask, but I also didn’t want to make them way too deep; mostly because the results are not serious.
I started by coming up with NPC designs both in a small miniture version and the speaking version.
Drawing the background was fun as it was the first time drawing in pixels.
Code:
Coding could be said as the most diffecult and least enjoyable part. However I did manege to add my images, sound, and font to my likings.
In the code below is how I made my characters clickable so they could answer the questions.
// Check if a character is clicked and handle interactions if ( mouseX > 50 && mouseX < 50 + hugo.width && mouseY > 135 && mouseY < 135 + hugo.height ) { // Handle interactions for Hugo character // Display questions for Hugo and handle answers } else if ( mouseX > 280 && mouseX < 280 + rene.width && mouseY > 162 && mouseY < 162 + rene.height ) { // Handle interactions for Rene character // Display questions for Rene and handle answers } else if ( mouseX > 0 && mouseX < fuLi.width && mouseY > 0 && mouseY < fuLi.height ) { // Handle interactions for Fuli character // Display questions for Fuli and handle answers } } }
This is the class where the questions were saved:
class Questions { constructor() { this.characterQuestions = { hugo: [ { question: "Is it easy for you to concentrate on your activities?", options: ["Yes", "No", "Maybe/Sometimes"] }, { question: "Frequently when you're working do you find yourself worrying about other things?", options: ["Yes", "No", "Maybe/Sometimes"] }, { question: "Does time always seem to be passing slowly?", options: ["Yes", "No", "Maybe/Sometimes"] }, ], rene: [ { question: "Do you often find yourself at 'loose ends,' not knowing what to do?", options: ["Yes", "No", "Maybe/Sometimes"] }, { question: "Do you often get trapped in situations where you find yourself doing meaningless things?", options: ["Yes", "No", "Maybe/Sometimes"] }, { question: "Does having to look at someone's home movies or travel pics bore you tremendously?", options: ["Yes", "No", "Maybe/Sometimes"] }, ], fuli: [ { question: "Do you find it easy to entertain yourself?", options: ["Yes", "No", "Maybe/Sometimes"] }, { question: "In any situation, you can usually find something to do or see to keep yourself interested.", options: ["Yes", "No", "Maybe/Sometimes"] }, { question: "Much of the time you just sit around doing nothing, and you are very good at being patient.", options: ["Yes", "No", "Maybe/Sometimes"] }, ], }; } getQuestion(character, questionIndex) { return this.characterQuestions[character][questionIndex]; } calculateResults(answers) { const counts = { Yes: 0, No: 0, 'Maybe/Sometimes': 0 }; answers.forEach(answer => { counts[answer]++; }); const maxCount = Math.max(...Object.values(counts)); const majorityAnswer = Object.keys(counts).find(key => counts[key] === maxCount); return majorityAnswer; } } // Export the Questions class for use in sketch.js module.exports = Questions;
Possible Improvement:
I wish I could go around the local server issues when it comes to displaying my images.
I want only for certain keys to play the sound not all of them.
I wanted to showcase the results in a different way.
Edit: https://editor.p5js.org/mariamalkhoori/sketches/L-i2O01PV