Chris Martens, Ph.D.

cmar...@cs.cmu.edu
CV as of December 2015

I got my Ph.D. with the Principles of Programming group in the Computer Science Department at Carnegie Mellon University, advised by Karl Crary and Frank Pfenning. I graduated in September 2015 with my thesis Programming Interactive Worlds with Linear Logic. As of December 2015, I'm doing a postdoc with the Expressive Intelligence Studio at UC Santa Cruz!

I am looking for tenure-track faculty positions to start Fall 2017. Please get in touch if your department is hiring in Programming Languages, Formal Methods, or Interactive Media!

Research

I investigate how to use mathematical tools, such as proof theory, to better understand and create interactive rule systems. I place an emphasis on games and computational creativity, but I am broadly interested in modeling computational and scientific systems by way of logical rules. My prior experience spans logical frameworks, dependent types, algebraic/categorical methods, functional programming, logic programming, generative methods, interactive fiction authoring, experimental game design, AI for social simulation, and emergent storytelling.

My thesis project is a programming language for the design of interactive narratives and game mechanics. The language is based on forward-chaining linear logic programming, a way of declaratively describing state change. This methodology makes it feasible to encode generative rules that create procedural content for interactive simulations that give rise to emergent narratives.

The language semantics' basis in proof theory enables a structural understanding of these narratives, making it possible to analyze them for concurrent behavior among multiple agents. On a larger timescale, I imagine growing the technology underlying this language into a high-level sketching tool for game designers, usable for rapid prototyping and iteration.

Thesis page | Project repo | Research blog | Patreon to support research blog

Peer-Reviewed Papers

Talks and Workshop Submissions

Unpublished drafts and projects

Teaching

Notes and Other Writing

Other Outputs


λx.x