Inspiration

We were inspired by the sustainability concepts, the desire to create a social well being friend for college students, and by the ground breaking work of Joseph Weizenbaum.

What it does

It is an entertaining synthetic friend/doctor/mentor/educator that you can interact with through a text interface. We employ AI techniques in the user interface, statical weighting, short term and long term memories, and dynamic script changing. Because it is extremely low power it doesn't need the massive power systems of today's typical AI computers. Mathison offers a friend to talk with, a mentor to guid you, a doctor to work out difficult feelings, and an educator to help you develop.

How we built it

We developed the AI code in Swift, and deployed it in an animated audio enhanced interface within the Godot game engine. This allows for easy deployment across many platforms, and high quality graphics and sound. For the graphics we use AI algorithms to perform rectangle packing, and the Four Color Theory of map coloring.

Challenges we ran into

We found it exceedingly challenging to implement the SwiftGodot interfacing. Where was very little information on how to do it, and it took massive experimentation, and reverse engineering to figure it out. Still it was worth it to have access to the coding LISP like tools available in Swift.

Accomplishments that we're proud of

That we were able to get the Swift code deployed in Godot, that we were able to find a way to deploy a sustainable very low power AI, that we were able to enhance it with graphics and sound. That we were able to extend the work that Joe did in the 60s by adding statical weighting, dynamic script changing, short term and long term memories, and still stay true to Joe's original vision.

What we learned

Being a pioneer is very difficult. There were very few resources for the Swift Godot interface, and nothing that explicitly showed how to implement the Swift code in Godot. Having the technology available was great though, because it allowed us to develop our ideas with a very powerful programming environment.

What's next for Mathison

Currently it employs a text interface, but we think we should be able to add both audio playback, and voice recognition making it usable in mobile environments. Special thanks to David Draper who taught us how to be Baysian.

Built With

  • cat
  • codium
  • godot
  • iterm
  • procreate
  • roland-system-1
  • swift
Share this project:

Updates