Inspiration

Finding specific behavioral biases in players solving by solving the trolley problem.

What it does

Generates a procedural chain of trolley problem decisions, while saving the player choices and the levels created. This data can be later mined to find conclusions about behavioral biases.

How we built it

We built a client-server architecture with Unity 3D as a multi-platform client and a python/PHP backend with MongoDB. The server generates a procedural track definition, which the client consumes and visualizes to the player.

The player choices are then uploaded to the server, where they can be interpreted afterwards.

Challenges we ran into

  • The idea itself, trying to prevent unnecessary controversy in its definition.
  • The procedural track generation itself.
  • The way to portray the victims, which is not completely clear right now, specially in small devices.
  • Setting up the backend, we ran into some minor problems.
  • Visually we had to simplify everything to submit within the deadline. Various elements can be improved.
  • Performance wise, there are a lot of things that can be optimized in the future.

Accomplishments that we're proud of

  • We started implementing the game on Saturday at 4pm and still managed to present.
  • Integration between client/server was very straightforward and well thought out.
  • Possibly scalable, since it runs over MongoDB.
  • Aesthetically cohesive and multi-platform.
  • Procedural generation of splines works smoothly.

What we learned

  • Coffee is king.
  • Sometimes it is best to wait for an idea than to start coding impulsively. Brainstorming is key.
  • MongoLab was not used before by any member.

What's next for TrolleyStory

  • Doing the data mining itself over the collected data.
  • Find if there are any statistically significant racial/gender biases, and expose all the data through a webpage or an API.
  • Build a WebGL version and test it over large groups.
  • Submit it to the app stores.
  • Some sleep for the team.
Share this project:
×

Updates