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.


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!




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):


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!


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.


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.


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.



댓글 달기

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

다른 글

라우드니스를 처리하는 최상의 방법, 제 2강: 라우드니스와 다이내믹 처리 방법

우리가 여기서 말하는 '라우드니스'는 우리가 예시로 측정하는 도시 소음이나 sound pressure level (SPL) 미터와는 다릅니다. SPL 미터는 소리 압력을 측정해요....

15.1.2020 - 작성자: 지에 양 (Jie Yang, 디지몽크)

AI를 활용한 Pagan Online의 다이얼로그(대화) 관리 개선

오디오 프로그래밍 / 게임 오디오 / 사운드 디자인 니콜라 루키치 (NIKOLA LUKIĆ) 우리는 인공지능의 연구개발이 상당한 추진력을 얻고 있는 시대에 살고 있습니다....

24.3.2020 - 작성자: 니콜라 루키치 (NIKOLA LUKIĆ)

머더러스 퍼수츠(Murderous Pursuits)의 대사와 대화 설계 - 제 2부

안녕하세요, 머더러스 퍼수츠의 대화와 대사 시스템의 제 2부로 다시 돌아온 제이미입니다. 제 1부를 아직 보지 않으셨다면 여기를 클릭하여 읽어주세요! 제 1부에서는 게임에서의...

20.5.2020 - 작성자: 제이미 크로스(JAIME CROSS)

Mystralia의 마법적이고 역동적인 음악 사운드스케이프 만들기

Mages of Mystralia는 주인공 지아(Zia)가 마법의 기술을 배우는 매력적이고 다채로운 액션 어드벤처 게임입니다. Borealys Games의 작곡자이자 사운드...

23.6.2020 - 작성자: 안토이네 바숀(ANTOINE VACHON)

Wwise를 사용하여 UE 게임에 두 개의 오디오 장치 구현하기

먼저 제 소개를 해드릴게요. 저는 에드 카신스키(Ed Kashinsky)이며 러시아 상트페테르부르크 출신 사운드 디자이너 겸 음악가입니다. 현재 저는 아주 흥미롭고 독특한...

15.9.2020 - 작성자: 에드 카신스키(ED KASHINSKY)

동적 음악 설계에 관하여 - 제 1부: 설계 분류하기

설계 계기 저는 2015년에 오디오 게임 엔지니어로서 처음 일을 하게 되면서 그 당시 저의 아트 디렉터를 통해 Wwise를 접하게 되었습니다. 그전에 저는 게임 음악을 작곡하는...

7.10.2020 - 작성자: 천종 호(Chenzhong Hou)

다른 글

라우드니스를 처리하는 최상의 방법, 제 2강: 라우드니스와 다이내믹 처리 방법

우리가 여기서 말하는 '라우드니스'는 우리가 예시로 측정하는 도시 소음이나 sound pressure level (SPL) 미터와는 다릅니다. SPL 미터는 소리 압력을 측정해요....

AI를 활용한 Pagan Online의 다이얼로그(대화) 관리 개선

오디오 프로그래밍 / 게임 오디오 / 사운드 디자인 니콜라 루키치 (NIKOLA LUKIĆ) 우리는 인공지능의 연구개발이 상당한 추진력을 얻고 있는 시대에 살고 있습니다....

머더러스 퍼수츠(Murderous Pursuits)의 대사와 대화 설계 - 제 2부

안녕하세요, 머더러스 퍼수츠의 대화와 대사 시스템의 제 2부로 다시 돌아온 제이미입니다. 제 1부를 아직 보지 않으셨다면 여기를 클릭하여 읽어주세요! 제 1부에서는 게임에서의...