Creative Coding

Tech Talk Banner

People often put creativity and logic at odds. This seems rather silly to me, an unnecessary and limiting binary. You have to be very creative to solve problems with logic, and creative efforts often demand a applied and determined logic. Creating a plot that keeps your reader engaged requires creating an internally consistent set of rules for your setting and applying them. I can’t tell you how many times people have told me that they found it odd that I loved both creative writing and mathematics, but honestly I love systems. When I started coding I found a wonderful blend of the creative creation of systems, and the analytic study of those systems. Plus, it makes me feel like a sorcerer.

I think that when you empower the player to experience and enjoy those systems and if you make powerful code you give designers the feeling of directly making the action. But there will always be a gap between design and code implementations. I cannot give a designer a tool that codes for them, and even the most detailed instructions are ultimately interpreted or else your map is as big as your world. And that is why as a new game designer I felt it was imperative to learn to code and to dive as deeply into that part of our field as I could. It’s wonderful to get to input values into a publicly available variable and change how high a character can jump, but I wanted to create how the character jumped. Does it use physics, or translate its motion across spaces? Is it pulled by an invisible game object, or are the motions one to one with animation? As a writer, I wanted to create stories to put in my games, but I wanted even more to lay the narrative in the foundations of the actions and logic that created meaning for the player moment to moment. I want to give the player the best tools to make their most meaningful stories within the worlds where they play.

One of the games that most inspired this desire before I even dreamed of coding, was Dwarf Fortress. With a freshly broken leg, the necessary pain medication, and ordered bed rest for more than a month, I decided to get back into dwarf fortress to help the time pass. I was in the middle of my Creative Writing Program, just barely starting the origins of my novel called Roots and Red Leaves, and writing a long paper on the interaction between the reader as author, the imagined author, and the living author for my class on the novel.

I played Dwarf Fortress and every day experienced stories that were uniquely mine and meaningful to me for their novelty because Tarn Adams and his brother had made a robust set of systems to interact with one another. Every play-through echoed the most ludicrous section of the experimental novels we read at the time.

This is from a game that arguably lacks art, or even much player communication and was one of forty games chosen in 2012 for the Museum of Modern Art.

 

dfturing.png

A picture of a “Computer” machine made in Dwarf Fortress. Who’s coding now?

 

The creative elements of code, of logic, of mechanic interaction are no less than any other discipline in game creation and I know that I find the problem of trying to give players moments of emergence through code an immensely challenging creative design problem.

Express yourself: Code : C++  Unity: Video Tutorials, Visual Tutorials

If you’re looking for a project to test something small and get going, why not make a game for your Mom on Mother’s Day, like my good friend and colleague Westley Bassett? If you do and want to share, I would love to see them.

I will leave you with this toy which I found during my time playing Dwarf Fortress and studying the novel, which led me to reading about Vladimir Propp and Narratology.

Have fun with this Fairytale Generator. If you like it, you might enjoy the game Once Upon A Time (which is available in resources).


Shad Miller is a Programming TA at VFS Game Design and Programming for Games, Web & Mobile