The Interactive Music Systems of Divinuet: Part 2

게임 오디오 / 사운드 디자인

Hi, it’s me again! I’m here to tell you more about the interactive music in my upcoming tarot music generating game, Divinuet. If you haven’t read part 1 yet, I’d recommend reading that first to get an idea of how the game works, and then coming back to this post. 

As I mentioned in part 1, the game has 2 main phases. Part 1 covered the reading phase, where you learn the definitions of the 3 cards you draw and hear each card’s individual theme. In this article, I’ll be covering the generative phase, which is where your specific combination and order of cards will create a unique musical and visual experience.

The Music

Your tarot reading will consist of 3 cards, the combination and order of which will determine the 4 layers that make up the music for the generative phase of Divinuet. For the sake of simplicity, I’ll be referring to these layers as bass (lowest), tenor (medium-low), alto (medium-high), and soprano (highest).

The bass layer is determined by which suit is most prevalent in the reading. There are 5 tarot suits: major arcana, swords, wands, cups, and pentacles. When you account for the possibility that each of the 3 cards could be a different suit, we end up with 6 different possible bass layers. Each suit has its own vibe, so I tried to reflect that in the bass. I’ve posted a few snippets below: Pentacles (earthy, simple), Swords (intelligence, action), and no majority (which I tried to keep as neutral as I could).

For the other layers, I separated the 78 cards into 26 different groups of 3 cards based on their meanings. Each group then has a tenor, alto, and soprano part. For example, I made the first card in your reading determines the tenor layer, then second determines the alto, and the third determines the soprano. Here is the very, very professional spreadsheet I’m using to keep track of the different groups.

Divinuet_Part2

Let’s take group 2, for example. These are all cards about feeling anguish of some kind. So I decided to go with dramatic, mournful strings for this group. The tenor part is a cello, alto is a viola, and soprano is violin. Here’s the three layers together (without a bass layer), although keep in mind that the only way you’d hear these layers together in game is if you happened to have a reading with all 3 cards from this group! It’s much more likely that you’d hear one of these layers combined with layers from other groups.

And now for another example, here’s the 3 layers of group 5, which is about resting and waiting.

If you’re a musician, you might be thinking something like, “but wait, Megan! Those are in different keys! How the heck are you going to combine them?!”  Well, I’m glad you asked!

The Rules

Since there are multiple layers that need to be able to fit together in more combinations than I’d ever be able to listen to, I made strict rules for myself about how to compose each one. The first and probably most obvious rule is that every layer has to be the same tempo and time signature. I chose 80bpm and 4/4.

So that solves the problem of things being in time, but what about the notes/chords? Since the cards cover such a vast multitude of emotions and meanings, I didn’t want to just choose one chord progression for them all to follow. 

The solution I landed on was dividing the piece into 4 measure phrases. The bass layer can only play one specific note during each phrase (it can be any rhythm, though). Whatever layer is taking the melody can play whatever notes I want as long as they don’t clash with the bass (unless I’m purposely going for dissonance, which is the case with a few of the groups). If the other layers are playing accompaniment, they’re only allowed to play the same note as the bass, but in their respective octaves. The result is that we never end up with clashing notes.

The rhythms of the accompaniments vary a lot. Some are doing very rhythmic things, some are small decorative flourishes, and others are drones. It depends on the vibe of whatever card group they’re in. 

Anyways, here’s another spreadsheet showing what layers are allowed to play what notes!

 

GenerativeSpreadsheet_divinuet2

 

You may also have noticed that I split phrases 5 and 9, and allow the layers to play both F and C during 5b and 9b. That’s because I wanted to end on just an open 5th chord so the piece isn’t leaning too heavily into any one mood.

I also noticed it was sometimes pretty jarring when a new layer would come in for the first time right on a downbeat, so I’ve often been adding pickup notes right before a new layer comes in. Of course, it still has to follow the rules. So for example, if I want the soprano to have a pickup to the melody in phrase 4, it’d technically happen during phrase 3, so the pickup note has to be a Bb.

This will all make much more sense when you get to listen to this happening, so let’s do that now! Here’s a demo of what the music would sound like if you got the following reading (with card art by Sarah Seekins):


DemoReading1_divinuet


Card 1 is the 4 of Swords, card 2 is the 5 of Cups, and card 3 is Queen of Swords. So we have the swords bass, group 5 (restful) tenor, group 2 (mournful) alto, and group 25 (ambitious) soprano.  

Now let’s switch things around a bit!

DemoReading2_Divinuet

For this one, I’ve kept card 1 the same. Card 2 is now the Ace of Pentacles, which is from group 26, the earthy/practical group. And I’ve moved the 5 of Cups to card 3 this time. So you’ll hear the bass for when there’s no suit majority, the same tenor layer as last time, the alto layer from a completely new group, and a mournful violin in the soprano layer instead of a mournful viola in the alto layer.

Hopefully that’s a good demonstration of how the music for readings that seem very similar can actually end up pretty different! And that’s just 2 examples-- the actual game will end up having thousands of possible combinations.

The Implementation

The implementation for this part is actually a lot more straightforward than the reading section. I just made a music segment containing four tracks that play at the same time, one track for each layer.

 GenerativeMusic_Divinuet

The layers are then set up with switch subtracks that are tied to states, which will be set by the game once it knows what your cards are. I only have the bass set up so far, but here’s what that looks like.

Audio_DivinuetGenerativeBass_Divinuet

I actually set this up on a Twitch stream I did with Damian from Audiokinetic - you can watch it here if you’re interested!

This is the point where I would show what everything would look like in the context of the game, except I don’t have any of the artwork that’ll come up during the generative part yet, and also I don’t have the tenor, alto, or soprano layers programmed in. So you’d just be looking at a blank screen listening to a lone bass part, which would maybe not be the most exciting thing to watch. But once it’s done, each reading will look and sound very unique. 

If you’re interested in following the progress of Divinuet, you can follow @divinuetgame on Twitter. I also do Twitch streams where I work on Divinuet’s music and programming. And if you’re interested in pre-ordering the game and maybe getting some extra perks as well, you can do so here.

Thanks for reading!


 

Megan Carnes

Composer & Game Developer

Megan Carnes

Composer & Game Developer

Megan Carnes is a Los Angeles based composer and game developer. She has a special interest in interactive and generative music and is the creator of the music based games "inter-view" and "Divinuet." She will also be scoring the upcoming indie 2D platformer "A Crooked Heart." She is a co-organizer of Game Audio LA.

megancarnesmusic.com/

megancarnes.itch.io/

 @megancomposer

댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

보이스 제어 방법- CPU에 최적화하기(제 1부)

프로젝트 개발 과정 동안 성능 문제가 일어나는 것은 꽤나 흔한 일입니다. 문제의 원인은 다양하지만 대부분의 경우 동시 재생되는 사운드의 수와 직접 관련된 경우가 많죠. 볼륨만...

12.5.2020 - 작성자: 마튜 장 (Mathieu Jean)

소규모 게임 프로젝트가 Wwise로부터 혜택을 받을 수 있는 5가지 이유

여러분이 게임 오디오 분야에 종사하고 있으며 이전에 소규모 게임 프로젝트를 수행한 적이 있는 경우. 다음과 같은 대화를 나눈 적이 있을 수 있습니다. "근데, 와이즈와 같은...

7.7.2020 - 작성자: 알렉스 메이 (ALEX MAY)

새로운 Impacter 플러그인 알아보기

개요 Impacter(임팩터)는 기존의 SoundSeed Impact 플러그인을 영감으로 하는 새로운 음원 플러그인입니다. 이 플러그인은 '타격음' 사운드 파일을 저작 도구로...

20.5.2021 - 작성자: 라이언 돈 (RYAN DONE)

Wwise에서 Audio Object를 저작하고 프로파일링하는 간단한 9 단계

Wwise에서 새롭게 제공되는 오브젝트 기반 오디오 파이프라인을 둘러보고 싶지만 어디서부터 시작해야 할지 모르시는 분들 계시나요? 그렇다면 Windows용 Wwise에서 Audio...

21.7.2021 - 작성자: 데미안 캐스트바우어 (Damian Kastbauer)

Wwise+GME 게임 음성 솔루션: 다양한 음성 플레이 대방출, 생생한 몰입감 선사

AppAnnie2021 모바일 게임 리포트는 강력한 소셜 인터랙션 속성을 가진 배틀 그라운드, 슈팅 및 온라인 MOBA가 플레이어들의 사랑을 많이 받았으며 게임 시간 증가를...

13.1.2022 - 작성자: Tencent Cloud

텔 미 와이(Tell Me Why) | 오디오 다이어리 제 4부: 믹싱과 마스터링

'텔 미 와이(Tell me Why)'는 Xbox와 PC에서 출시되었으며 5.1 서라운드 사운드를 완전히 지원합니다. 서사적 게임을 작업할 때에는 최종 믹스를 특정 방식으로...

26.7.2022 - 작성자: Mathieu Fiorentini

다른 글

보이스 제어 방법- CPU에 최적화하기(제 1부)

프로젝트 개발 과정 동안 성능 문제가 일어나는 것은 꽤나 흔한 일입니다. 문제의 원인은 다양하지만 대부분의 경우 동시 재생되는 사운드의 수와 직접 관련된 경우가 많죠. 볼륨만...

소규모 게임 프로젝트가 Wwise로부터 혜택을 받을 수 있는 5가지 이유

여러분이 게임 오디오 분야에 종사하고 있으며 이전에 소규모 게임 프로젝트를 수행한 적이 있는 경우. 다음과 같은 대화를 나눈 적이 있을 수 있습니다. "근데, 와이즈와 같은...

새로운 Impacter 플러그인 알아보기

개요 Impacter(임팩터)는 기존의 SoundSeed Impact 플러그인을 영감으로 하는 새로운 음원 플러그인입니다. 이 플러그인은 '타격음' 사운드 파일을 저작 도구로...