Mark Mikunas is a professional musician and software engineer based in Chicago, Illinois. Musically influenced by artists such as Jeff Buckley, Bon Iver, Jack White, Trent Reznor, he has written and recorded music his entire life. His latest release, 2020’s Butterknife, was a throwback album reminiscent of late ’90s indie rock with a punk blues bent. Through the years he has played and hosted shows around various Chicago venues such as Elbo Room, Phyllis’ Musical Inn, & Little Prince Cafe.
As a software developer he has worked for many Chicago tech companies, taught online courses for universities in computer science, and run his own custom songwriting business, SerenadeMe. Currently he is working on launching an indie game studio that is developing a video game called Inspired.
Speaking about the correlation between music and programming Mark says, “Knowing how to write a song, multi-track it, deal with the mixing/mastering, all while trying to keep it creative and interesting, helped me prepare for dealing with a lot of the monotony and scale required in large coding projects.”
Currently he is developing a game called Take That Mainstage, “the wannabe rockstar simulator where you control the artistic, social, and romantic destiny of a musician circa 1992.”
Take That Mainstage is a game where you play as an aspiring musician. It is set in a city reminiscent of Seattle in 1992 where the world is on the edge of change. It has elements of being a life simulator in the way that you can create your character and choose your preferences and genre. You can get tattoos, style your bedroom, design your band flyers, and more. The real goal of the game, though, is to simulate the experience of being a songwriter and the way that your relationships with others inspire the way the art is created. The game focuses a lot on the believability of the artificial intelligence of the characters that you meet in the game. We want it to feel like you can get to know the characters, inhabit their world, predict their behavior, and influence their emotions.
The thoughts and secrets that they share with you can be crafted into your songs and enhance your live performances in an effort to achieve your goal of getting a record deal within a year. We want to make the game play deep and rewarding and each time you play it feel like you are creating melodies that are unique. As you talk to the players in the game and have conversations, the gameplay allows you to steer conversations to uncover thoughts that can be combined to craft a song, almost like creating a recipe. You are stirring all these things into the pot and the combinations of them generate an algorithmically unique song derived from the inputs you give it.
You don’t have to know anything about being a musician. It is more like the experience of how a songwriter finds his or her creativity and your personal experience colors your artwork, and we will tie that to game play that can make it fun and rewarding for anyone.
It’s going well but it’s a long road. I have been working on it since the beginning of the pandemic. Early on I realized to make this unique, I would have to really focus on the behind-the-scenes systems for the artificial intelligence of the game world, the conversation game play, and the song generation aspects. So that’s going really well. The main focus and what we are building now is called a vertical slice, which will showcase a minute or two of each different game play style in a five minute demo.
We are focusing on that right now, and once that’s done, we next need to recruit some artists to make the artistic vision come to life. This is the 3-5 month plan. Next, we can showcase the demo with the artwork at conferences and possibly investigate funding options if we want to go that route. Finally, we will hopefully release the full game about a year after that. Everything is on track and exciting, but there is still a ways to go.
This is an awesome question and I never actually thought about this. This is a yes and a no answer. I have always seen using different computer languages as more of using the right tool for the right job. For example, if you were building an operating system, you may use C or C++ since those are more suited to low level system management. If you are doing Mobile on Android you might use Kotlin or Java since those are the tools most commonly used for that platform. If you are doing web work you may use Ruby on Rails. To me, musical styles are way more expressions of the artist and the art. They are distinct and identifiable and the color palate that the audience experiences.
A programming language is more under the covers and not something the public experiences. I personally don’t feel like I am expressing myself through code or a language I use. It is more like trying to make the best software using the language. That is my own personal opinion. I see being multilingual in programming languages more akin to soloing in different keys. It is something that musicians can appreciate the way in the way that it is accomplished but the audience experiences it as part of a song. The user experiences your language choices as the final output of the software.
You could write the exact same website or software in two different programming languages but users would have no idea because the functionality and looks would be the same. Whereas if you were performing in two different musical styles, I feel the experience of using them and experiencing them is way different than syntactically using different languages.
She has been working on an album the last two years and it is coming along beautifully. She grew up singing in the Shanghai Choir and she performed in musicals in college. She never attempted songwriting until we started hanging out a few years ago. It all began when she started helping me with some harmonies on the album I was making in 2020 called Butterknife. She has this gift for doing lush rolling Beach Boys-style harmonies and I have no ability to write harmonies.
Out of nowhere while we were doing that, she started to go home at night and write her own songs. She just started teaching herself. I showed her GarageBand and Logic and the concepts of multitrack recording, effects, and basic production stuff. She is incredibly smart and was off and running. She’s a data scientist and has a computer science background as well. For her album, I play guitar on some of the songs and I have helped write some bits here and there. I help creatively and provide input, but for the most part it is all her. I think she is looking to have it out in about a year. She is recording two videos right now and she is working with a few directors, collaborating with dancers and choreographers. In the future we hope to play out though, find a drummer and a bassist and perform as a backing band for her. It’s going really well.
For daily work, I do mobile development on Android with some backend work with software that customizes smart hearing aids using Bluetooth for people with hearing loss. It is a really interesting and challenging technology stack. It is also helping people hear more fully, which is really rewarding. I’ve always been interested in software that can affect people’s well being. The initial reason I started programming as a kid was because of a piece of software on The Commodore 64 that I had growing up. It was called Eliza. It was a program that simulated a Rogerian psychologist. He would pretend to be analyzing and ask questions like, “How are you feeling today? Why do you feel that way?”
All it was really doing was parsing what you said and spitting it back out at you. As a kid, it blew my mind; talking to a computer and having it understand what you are saying. That’s the first memory I have of the magic and possibility of software. Part of the impetus for creating my game is to help people understand why people do what they do. It’s trying to find that connection with people.
The first thing that comes to mind is retaining passion through some of the tedious parts of developing software, and the ability to exercise patience while practicing and learning. Also, the ability to realize there is a bigger picture, see progress, and keep manifesting an abstract vision you have in your mind into concrete logic. Knowing how to write a song, multi-track it, deal with the mixing/mastering, all while trying to keep it creative and interesting, helped me prepare for dealing with a lot of the monotony and scale required in large coding projects. With this AI game, it can take a long time. It can take weeks to months to see anything really tangible sometimes. For example, one of the things I had to build for the game was a scheduling system.
One situation that could arise is that a character in the game world needs to decide when and how to schedule a meetup after work. It took me weeks. For an imaginary character, you have to start at the beginning, like, what does weekend mean to this character based off their work schedule, or what does after work mean for a night worker vs day worker? Or what part of their day is most valuable, and how do they schedule or classify their time based off their life needs? Their decision can change depending on that. It can even need to factor in the subject matter of the meeting, location, and who is involved.
As you break the problems down and down, all those little things you take for granted become so important. It reminds me of approaching a chord progression when writing a song. It may be the same chords you’ve used a million times before, but each time you have to focus and make it interesting. You can do something unique with it even though you have to get through mundane stuff. Being a musician has really helped me with those aspects of coding.
This is the toughest one because I’m older and things were quite different when I was coming up. I feel like it is really specific to the person. I was one of those people who picked up the guitar as a kid and just wanted to instantly write a Ramones type song. I was happy just knowing how to play a power chord for months. I would experiment. Little by little I would layer things in through discovery. I didn’t know what a scale was for years, I just played with what notes sounded good. That can take a lot of time and lead to bad habits. To me it made it exciting and adventurous. I got into programming the same way. I had my Commodore 64 and it was through fascination and wanting to make my own games. I got a book on the Basic computer language and I didn’t start on page zero. Whatever I wanted to do, I jumped to that section kind of like the way people use StackOverflow now.
This may not sound very helpful, but my best advice is to find what moves you. Music has that reward and magic to it. I would say coding can too. There is so much you can do. There are websites, mobile apps, software, data science, and machine learning. There are a million things out there. There is no barrier to entry in terms of finding ways to learn anymore. There are a million YouTube channels, bootcamps, and schools. The education is not hard to come by, it is more about a person having the drive and sticking to it. I would try and find what you can really stick with and be interested in. From there you can decide what languages to learn.
The biggest goal is to produce a game demo. It’s one step at a time; get the game to a playable state, build a small team with some artists, and then really launch the game studio and turn it into something really special. For the foreseeable future, this is goal number one. I think it will be unique where people can experience an alternate reality and spark expression, creativity, and possibly get interested in songwriting.
I would love for people who have never written a song to have an idea of what it feels like to have a melody uniquely generated that you crafted. I want to support my amazing wife and her music and her pursuits. I want to spend time with my son and focus on him and his art and growth. I want to launch the game company and get the game out there. In terms of music once the game is out there, I have been dying to get back into writing music and performing live.