conlang

End of June report

My best friend gains another year under his belt as do I in a few days time. I’m still dealing with physical therapy for my pelvic floor dysfunction as well as shoulder impingement. It feels like the world is on fire with the continuing protests and another surge of COVID-19. I’ll say it: black lives matter, and everyone should be wearing masks. Politics aside, black lives matter, and everyone should be wearing masks. Personal feelings aside, black lives do matter, and everyone really should be wearing masks. I hope that’s clear. I know the internet allows me to more easily see bad news, but it really does seem like humanity is in short supply of reason and empathy. I’m sure it’s always been that way, but, as I said, it’s just even easier to see on the internet.

Life has felt extra weird and out of my control for the past month—probably even before that, but I’ve really been feeling that way lately. Here’s to hoping for some good things ahead.

Still, I managed to get out quite a few blog posts in a short span of time, even if three of them were about coffee recipes. It makes me happy, and I think that counts for a lot.

Conlang stuff report

My conlang has continued to mostly be on the back burner. I did get some extra bits of inspiration from Toaq and Ceqli. And, when I say “extra bits”, I mean some loglang inspiration that might fundamentally change how a certain part of my conlang works. I’m not turning my current greyfolk language into a loglang, but, like I said, I have some really neat ideas.

Speaking of stealing borrowing ideas for my conlang, Globasa turns 1 on July 26th. I’ll do my best to make a blog post for its birthday, especially because that should mark the worldlang becoming much more stable as it goes into Phase III.

RPG stuff report

My GURPS/Fate Savage Worlds Deadlands mess has continued to go really well, which is nice. I’m planning on adopting even more of the Savage Worlds framework. I don’t think I have the Will to ever leave GURPS behind—I love it too much! But even GURPS likes to sand down its own rough edges to streamline play. Even outside of the post-apocalyptic genre, the Boldly Going Forth chapter of GURPS After the End 2: The New World is great for just that. I’ve already taken it much further by just leaning on Fate‘s aspects for so many things, but I ended up wanting a bit more crunch than what that provides. Savage Worlds, in a lot of ways, seems like a nice middle ground, and I think I can adapt a lot of its ideas to make GURPS better fit the play-style of my group.

Also, another GURPS Kickstarter will be launching soon. If there’s enough money put into the project, we’ll be able to grab 12 PDFs for $3. Not $3 each. I mean $3 for all 12 PDFs—again, assuming that the project reaches a high-enough funding level.

Writing stuff report

Well, I’m supposed to start Camp NaNo tomorrow. It’s gonna happen, but I think I’ll at least be off to a rough start. In April, I got 10,000 words (which was my goal) in only 20 days; so, I’m not too worried about taking some extra warm-up time.

End of May report

Oops! It’s already June 1st. My GURPS/Fate game was pushed back from Saturday to Sunday this weekend, so I ended up forgetting to write this post yesterday.

Of course, there are other things going on right now. Like, a lot. And I’m tired of people acting like this is a political issue too. You know what I’m talking about. Justice for George Floyd. Police brutality, racism, and murder are not political issues. And, if they are for someone, then that person’s politics are tainted. I feel fairly confident in saying that. I’ve also seen some of what’s going in first-hand in Columbus. It’s been really strange for me, coming from a smaller town. Big city protests are so different. Anyway, here’s a reminder that these things are not binary: I support the protesters and their message 110%; I have seen continuing police brutality during these protests about police brutality; I understand the rioting because people are frustrated that their voices aren’t being heard, so this is how they yell; and I think most of the looters are opportunistic idiots. I feel that so much nuance is being lost in the way that the internet (and people parroting the internet) talk about things. It’s rather unfortunate. Also, on that last part of my stance, I’ve heard what I believe to be a false equivalency about ‘a few bad cops’ giving all cops a bad name and ‘a few bad rioters’ giving all protesters a bad name. It’s not equal in my eyes. Law enforcement is an institution, they are expected to uphold the law (and should be held to higher standards), and they are expected to keep each other in line. Protesters are a sea of individuals with a largely common message, but they are not an institution in themselves.

I don’t even know how to transition after saying all of that. As I said in my fourth life update, my arm is just about back to its old self, and I am in physical therapy for pelvic floor dysfunction. A lot of other small things have happened (like getting my keyboard), but the details are in that post, so I’ll move on to my progress over the month. Well, first, let me say that, even though May was such a weak month in terms of blog content, it’s not a bad thing right now. This time, it’s a good sign. In spite of the craziness going on in the world, I’ve been enjoying my life as much as I can, and I have finally found my GMing spirit. As the honeymoon phase starts to die down (and I settle into things again), I’ll be talking way more about what’s going on right here on my blog.

Conlang stuff report

I took a look at how I want to handle adverbs and prepositions. I only worked on my conlang for a couple days this month. Right now, I’m actually waiting for Globasa to firm up a little more, so I can steal borrow some more ideas. I am trying a more cautious approach rather than just jumping into things only to radically change things again a short while later. Right now, I’m happy with that approach, but we’ll see if the conlang bug bites again.

RPG stuff report

I’ve dumped using Fate Condensed on its own, and I have integrated the Fate framework into GURPS. Aspects are actually a really handy way to cover my ass for rules that I can’t remember or that would take too much time to look up. Really, it just helps me drive GURPS in a narrative manner, which is really nice because I love GURPS and its complexity, but it can bog me down a lot, which is a me thing. Some people can just gloss over rules or make things up on the fly, and I can too, but I always feel guilty for doing that, and I feel a lack of structure when I do things like that. My integrated system gives me the structure by using Fate‘s narrative framework—as I said. It’s not perfect, but I’ve cobbled together 6+ pages of rules, and I hope that I can eventually share them in some form without having to worry about infringing on any properties. (With the power of logarithms, I’ve even finally been able to incorporate “Knowing Your Own Strength” and “Conditional Injury”, but more on that later too!)

Hand in hand with finally having a solid system (for me, personally, of course), I am finally running a really solid setting: Deadlands. I absolutely love Weird West stuff. It’s one of my favorite genres right now, up there with New Old West. I have the third edition GURPS Classic: Deadlands book for a nice and easily convertible reference point, but there are so many great adventures for Deadlands Reloaded, and I have had a blast converting and running those. It has taken away a lot of the burden of being the (forever) GM, but, even more importantly, because it has done that, it’s given me a lot more space to actually be creative. If I don’t have to worry about setting up the quest, the location, and most of the characters, I can dedicate a bunch of my prep time to creating cool things on the side. Spoiler alert to my players, but, yes, I plan on having a Weird West version of Metroid’s own Samus Aran appear.

Have I forsaken Norðlond? Oh, no. No. Absolutely not. If the Native Americans in Deadlands are trying to get back to the Old Ways, then who says that’s not happening in other (perhaps colder) parts of the world? Norðlond is definitely up next after I take off my Deadlands training wheels. I’ve mentioned my own campaign world that I’ve called GURPS Project Sirocco, which was going to squeeze in Norðlond as part of that, but, as I said, it may just become part of Deadlands now. We’ll have to wait and see! Really, it would make sense either way as both approaches give Norðlond a (semi-)post-apocalyptic magic-comes-back kind of scenario.

Writing stuff report

I didn’t work on my story at all, unfortunately. All of the story-building parts of my brain have been hard at work on tabletop RPG stuff. Next month, however, is another Camp NaNo, and I plan on participating. I’ve got some ideas stewing in the back of my brain, though!

End of April report

COVID-19 is still here, but my new mechanical keyboard isn’t. What a way to start this report! Truly, I feel so grateful to be safe and healthy, but I have grown ever more frustrated and weary with the world, especially my country and the people within it. Don’t worry. I won’t get too political—well, not yet, at least. However, I think I can fairly argue that one person’s freedoms and rights end where another person’s freedoms and rights begin. My expectation to not get sick can be greater than another person’s freedom to not wear a mask. It’s not tyranny. My expectation of safety on the road is more important than another person’s freedom to go 20 over or another person’s freedom to drive while intoxicated. Furthermore, it goes beyond that too. A law requires a person to wear a seatbelt while driving, but that doesn’t affect other persons (very often, that is). Yet, that’s not tyranny either. A person has the right to be dumb and reckless. A person has the right to say racist things. However, actions also have consequences. I was so frustrated about protesters that I even made two whole tweets on an otherwise empty Twitter account.

I have good news too. My arms has been feeling much better after slowly starting to work it out at home more. My symptoms from my infection still come and go, though, which is a real bummer, but it’s never as bad as it used to be. I have another appointment in a couple of weeks to see what can be done. I finally started playing tabletop RPGs again, which is so nice. I’ve been keeping up with therapy, and I even get to virtually meet with my old Al-Anon group from Bloomington. I’ve also been writing a lot. Anyway, where’s my damn keyboard?

Conlang stuff report

Oops. I have barely half an entry in my project document for this month, which I wrote yesterday, and the previous entry is from March 9th. It’s actually been nice to take a break. My next step is to really focus on function words again. I want to make sure I have a robust set before I start adding a bunch of content words. I also think I need to renew my Language Creation Society membership, so there’s another oops. As I spend less energy on writing and gearing up to start playing tabletop RPGs again, I expect to have much more energy for conlanging. It’s really nice to be able to switch between a few really core hobbies.

RPG stuff report

Well, I created a flexible powers/magic system for GURPS called Modular Powers that I ended up reworking into my Wildcard Power Pool system. I’m still having some internal conflict about game design, but that’s really only because I’m trying to bridge GURPS and…

Fate. Yes, I’ve jump-started my tabletop RPG hobby with Fate. It’s a generic and modular system like GURPS, but it puts the narrative first. It’s also not as exceptionally detailed. However, the positive way to put that is that it’s very streamlined. Of course, the first thing I did was hack in a logarithmic system for damage. It actually works very well. It’s not a crazy assumption to say that Fate could work on a +6 = ×10 scale. (I don’t know math. Please be gentle.) That allowed me to squeeze in some ideas from Knowing Your Own Strength and Conditional Injury, and, because it establishes that bridge, it allows me to convert between damage in GURPS to damage in my Fate system along with being able to say how many characters points a stunt or a skill level is worth in Fate (which seems to be ~16.67 points). It’s easier to start small again. It’s easier to take off the pressure of wanting to be perfect at GURPS because I love it so much.

Also, I virtually attended FnordCon. Here are my highlights:

  • Kromm said that coronavirus is not related to 5G, and I’m pretty sure he works for the Illuminati, so I think he would know. Conspiracy de-confirmed.
  • Kromm also said that he really likes Fate, so I feel like I have his indirect blessing.
  • They talked about doing a Space Opera line like DFRPG.
  • Douglas Cole mentioned doing some Secret Wars Mission X stuff after Norðlond. He mentioned it being inspired by X-Com games, so that’s interesting. Not my typical cup of tea, but I usually drink coffee anyway, so I’m happy to try new things and support his stuff.
  • In response to a question about what gives GURPS players the most grief, Kromm said something along the lines of when people ask a question on the forums only to receive 600 replies but zero actual answers. I can confirm.
  • Steve Jackson was asked about ways to make GURPS more narrative-first, but he said that GURPS isn’t really the best fit for that. He basically said that, if you want to play Powered by the Apocalypse, then play Powered by the Apocalypse. Though, Douglas Cole added that it is still very possible to sand off all the splinters (paraphrasing his actual words) to make GURPS a bit faster, lighter, and narrative-forward if not first.
  • I also was allowed to record Steve Jackson telling my best friend’s dad to clean up his house, which is the highlight of highlights.

Now that I really think about it, I guess I should’ve made a post-FnordCon post, but oh well! This is good enough for me.

Writing stuff report

I participated in the April Camp NaNo, I set my goal for 10,000 words in a month, and I hit my goal on April 20th. So, yeah, I’m pretty content with that. I worked on a continuation of the story I wrote last November, and it’s still coming along quite nicely. This is a small report for what was a good amount of story, but I think I’ll talk more about it when the first draft is actually finished.

End of March report

Well, COVID-19 is here, and it looks like it’s going to be staying a while. My arm is actually still recovering, but it’s definitely feeling better. As I’ve done more stretching, the symptoms from my infection have also started to go away, which is nice. There’s a new loveseat in the living room, I have a new mechanical keyboard on the way, and Animal Crossing: New Horizons has been a fantastic way to pass the time while trying to shrug off politics- and pandemic-related dread.

Conlang stuff report

I created a way to say hello, reworked the monosyllabic roots, reworked the numerals, and talked about my process for creating disyllabic roots for the greyfolk language I’m working on. Oh, and I took a deeper look at natural semantic metalanguage. That’s about it. Everything is in place, and, when I’m ready, I can start deriving a bunch more words.

RPG stuff report

I figured out some more math for the flexible magic system I was creating for GURPS, which I only briefly touched on in my last end of the month report. More on that to come too. Also, I just about figured out how to finally resolve Conditional Injury with Knowing Your Own Strength (as I have attempted previously). And, when I say that I figured it out, I mean that I asked for someone to help me figure it out. I’ll make a post about that soon too, I hope.

Oh, right, and I posted seven reviews of DFRPG products in a single day.

Writing stuff report

April is the first month of Camp NaNo, and I’ll be revisiting (I already have) the story that I wrote for NaNoWriMo 2019. I finally went to start working on it again the other day, and I actually just happened to notice that Camp NaNo was to start in a couple of days, so I guess I’m doing it.

Disyllabic roots in greyfolk language, 3: the roots so far

After explaining how I planned the roots and how I created a database for them, I am ready to and happy to share the results!

The 4-phoneme disyllabic roots: «kaka, kana, lapa, mama, masa, naka, nana, pala, papa, saha, sama, sasa, tata, taya, yata».

The 5-phoneme disyllabic roots: «hahan, hakam, halan, halma, halta, hamam, hamla, hanal, hanpa, hanya, hapal, hapya, hasam, hatla, hayal, kalpa, kalsa, kalya, kampa, kamsa, kanta, kapan, kapla, kasan, kasla, katal, katam, katya, kayan, klata, kyapa, kyasa, kyaya, lalma, lalsa, laman, lamsa, lanam, lanta, lanya, lasan, lasla, latal, layal, layam, mahal1, maham, malal, malam, malna, malpa, malya, mamna, mampa, manan, manla, mapan, mapla, matya, mayan, mlaha, mlala, myana, myapa, myaya, nahan, nalan, nalta, namal, namam, namta, namya, nanma, nansa, nasal2, nasam, nasya, natla, nlama, nlasa, nlaya, nyaha, pakal, pakya, pamal, pamta, pamya, panam, panka, panma, pansa, pasal, pasya, patan, payam, plaka, plama, plasa, pyaha, sakal, sakam, sakya, salal, salam3, salna, salpa, salya, samna, sampa, sanan, sanka, sanla, sapan, sapla, sayan, slaka, slala, syana, syapa, syaya, tahal, taham, takan, takla, talka, tamka, tlaha, tlana, tyaka, tyala, tyama, yahan, yakal, yakam, yakya, yalan, yalna, yamal, yamam, yamna, yamya, yanka, yanma4, yansa, yasal, yasam, yasya».

Don’t mind my stupid jokes.

The 6-phoneme disyllabic roots: «hatyam, haklan, hasyal, hamyan».

As I mentioned, I expected to have a minimum total of 165 4-phoneme and 5-phoneme disyllabic roots, and I ended up with 166 after deciding to merge certain similar-sounding roots, but, in the end, I only scraped by with 162 because fitting in the numerals broke so many patterns. Furthermore, the breaking of those patterns will also ripple into what 6-phoneme disyllabic roots I’ll be able to use.

However, I’m not dismayed. I’ll use as many 6-phoneme disyllabic roots as I can. My new secret weapon is 6-phoneme trisyllabic roots! Why? Because I did find the source that I was looking for:

Pellegrino, F., Coupé, C., & Marsico, E. (2011). A cross-language perspective on speech information rate. Language, 539-558.

My takeaway is that information efficiency is fairly constant depending on the constituents (in my case, just phonemes) in a syllable. What that means is that the number of phonemes is more important than the number of syllables in terms of how quickly a word can be spoken to get information across. For example, Spanish and Japanese have simpler syllables but tend to have longer words, yet they are spoken a bit faster because they have simpler syllables, so the information rate stays about the same.

Previously, I had tried to put off using trisyllabic roots for as long as possible, but it seems like they might just be my secret weapon in terms of eking out efficient words in the wake of losing quite a few 5-phoneme roots.

For now, the plan is to take these roots and start creating words!

Disyllabic roots in greyfolk language, 2: creating the database

In my end of February report, I mentioned that I was able to create a database to help me create disyllabic roots while preserving Hamming distance. One big part of that was devising a macro for Excel that would do the following:

  • Range A is a bank of possible (according to the rules of my language) disyllabic roots. I generated this using Zompist’s Gen.
  • Range B is where I input the roots I have chosen.
  • Range C is a bank of roots that conflict with the roots in Range B. I also generated this using Gen with some really roundabout tricks.
  • Rule 1: If a cell appears in Range A and Range C, it is highlighted yellow.
  • Rule 2: If a cell appears in Range A and Range B, it is highlighted green.
  • Rule 3: If a cell appears in Range B more than twice, it is highlighted red.
  • Rule 4: If I a cell appears in Range B and Range C, it is highlighted red.
  • Rule 5: Otherwise, a cell should not be highlighted.

Thus, any white cells in Range A were roots that could still be used because they didn’t conflict with anything else. Even though the highlighting was all done by a macro, there was still a significant portion of manual work that took a few hours. Much more time went into figuring out how to get the most efficient set of disyllabic roots. By that, I mean that I had to figure out how to get as many roots as possible that didn’t conflict with each other from the total bank of possible roots. It always comes back to Hamming distance!

Macro for disyllabic roots database
Sub HighlightDuplicates()

    'Keyboard Shortcut: Ctrl+Shift+D

    Application.ScreenUpdating = False

    Dim ws As Worksheet, t0 As Single, t1 As Single
    Set ws = ThisWorkbook.Sheets("Database")
    t0 = Timer

    'Rule 5: Otherwise, a cell should not be highlighted.
    ws.cells.Interior.Color = xlNone

    Const RANGE_A As String = "B1:E2300"
    Const RANGE_B As String = "G1:G2300"
    Const RANGE_C As String = "I1:AH2300"

    Dim dictA As Object, dictB As Object, dictC As Object
    Set dictA = CreateObject("Scripting.Dictionary")
    Set dictB = CreateObject("Scripting.Dictionary")
    Set dictC = CreateObject("Scripting.Dictionary")

    Call buildDict(dictA, ws.range(RANGE_A))
    Call buildDict(dictB, ws.range(RANGE_B))
    Call buildDict(dictC, ws.range(RANGE_C))

    'Rule 1: If a cell appears in Range A and Range C,
    'I want them highlighted yellow.
    'Rule 2: Then, if a cell appears in Range A and Range B,
    'I want them highlighted green.
    
    Dim cell As range, key As String
    For Each cell In ws.range(RANGE_A)
        If Len(cell.Value) > 0 Then
            key = CStr(cell.Value)
            If dictC.exists(key) Then cell.Interior.Color = vbYellow
            If dictB.exists(key) Then cell.Interior.Color = vbGreen
        End If
    Next

    For Each cell In ws.range(RANGE_C)
        If Len(cell.Value) > 0 Then
            key = CStr(cell.Value)
            If dictA.exists(key) Then cell.Interior.Color = vbYellow
        End If
    Next

    For Each cell In ws.range(RANGE_B)
        If Len(cell.Value) > 0 Then
            key = CStr(cell.Value)
            If dictA.exists(key) Then cell.Interior.Color = vbGreen
        End If
    Next

    'Rule 3: Then, if a cell appears in Range B more than twice,
    'I want them highlighted red.
    'Rule 4: Then, if a cell appears in Range B and Range C,
    'I want them highlighted red.

    For Each cell In ws.range(RANGE_B)
        If Len(cell.Value) > 0 Then
            key = CStr(cell.Value)
            If dictB.exists(key) Then
                If dictB.Item(key) > 1 Then
                    cell.Interior.Color = vbRed
                End If
            End If
        End If
    Next

    For Each cell In ws.range(RANGE_B)
        If Len(cell.Value) > 0 Then
            key = CStr(cell.Value)
            If dictC.exists(key) Then
                If dictC.Item(key) > 0 Then
                    cell.Interior.Color = vbRed
                End If
            End If
        End If
    Next

    For Each cell In ws.range(RANGE_C)
        If Len(cell.Value) > 0 Then
            key = CStr(cell.Value)
            If dictB.exists(key) Then
                If dictC.Item(key) > 0 Then
                    cell.Interior.Color = vbRed
                End If
            End If
        End If
    Next
    
    t1 = Timer
    
    'MsgBox "Completed in " & Int(t1 - t0) & " seconds"

    Application.ScreenUpdating = True

End Sub

You can click on the plus icon or the name to expand that section to see the macro. It’s a biggun, so I decided that it was better to default to it being collapsed and not immediately assaulting any eyeballs.

Now, to even generate Range A, as I said, I used Zompist’s Gen tool. Making rules to create all possible disyllabic roots in greyfolk language was easy.

Categories for all possible disyllabic roots
C=mnptksylh
S=yl
A=a
T=mnl

Rewrite rules for all possible disyllabic roots
hl|h
hy|h
lh|l
ll|l
yy|y
mh|m
mm|m
nh|n
nn|n

Syllable types for all possible disyllabic roots
CACA
CASA
SACA
SASA

CSACA
CSASA
CATCA
CATSA
SATCA
SATSA
CACSA
CACAT
CASAT
SACSA
SACAT
SASAT

CSATCA
CSATSA
CACSAT
SACSAT
CSACSA
CSACAT
CSASAT
CATCSA
CATCAT
CATSAT
SATCSA
SATCAT
SATSAT

CSACSAT
CATCSAT
SATCSAT
CSATCSA
CSATCAT
CSATSAT

Of course, the output type was for all possible syllables.

To generate Range C in Gen, I had to figure out some really roundabout tricks, and, even then, I still had to generate it one chunk at a time. Think of each disyllabic root as a STUVWXYZ map where each letter corresponds to a phoneme. S and W are the first position of their respective syllable and can be «m, n, p, t, k, s, y, l, h». T and X are the second position of their respective syllable and can be «y, l» or ‘-‘. U and Y are the third position of their respective syllable, but, when working with roots, both of them are always «a». Finally, V and Z are the fourth position of their respective syllable and can be «m, n, l» or ‘-‘. For example, the root «myaman» would be ‘mya-m-an’ because the fourth position of the first syllable and the second position of the second syllable are open. If you look at the above Gen rules, it should be clear that STUVWXYZ is essentially CSATCSAT.

Then, to figure out the roots that wouldn’t be compatible with other roots, which is what Range C is, I had to switch the process for ABCDEFGH. Each letter corresponds to the letter in the same position in STUVWXYZ, but each letter of ABCDEFGH take the values of phonemes that do not have enough Hamming distance from those in STUVWXYZ. So, if S=m, then A=mnp because «m, n, p» conflict with «m» according to my Hamming distance parameters. Oh, I also set a meaningless Q=xxxxxx so I could see the separation between ABCDEFGH and STUVWXYZ at a glance.

Categories for «myaman»
A=mnp
B=yl
C=a
D=mnl
E=mnp
F=yl
G=a
H=mnl
Q=xxxxxx
S=m
T=y
U=a
V=-
W=m
X=-
Y=a
Z=n

Syllable types for conflicting roots
ATUVWXYZ
SBUVWXYZ
STCVWXYZ
STUDWXYZ
STUVEXYZ
STUVWFYZ
STUVWXYH

Of course, the output type was for all possible syllables.

Output for «myaman»
mla-m-an
mya-m-al
mya-m-am
mya-m-an
mya-mlan
mya-myan
mya-n-an
mya-p-an
myalm-an
myamm-an
myanm-an
nya-m-an
pya-m-an

From there, it was a matter of removing the dashes. However, an interesting question popped back up. What is the Hamming distance between something like ‘mya-m-an’ and ‘myamm-an’? What about ‘myamh-an’? I went ahead and decided that they were all equivalent (which is actually why ‘myamh-an’ doesn’t generate as I had already taken that into consideration). Because it was a problem I had faced before, I knew how to deal with it. However, another question popped up. What is the Hamming distance between something like ‘myamy-a-‘ and ‘mya-mya-‘? Same thing, I ended up deciding that they were the same as well. Though, they do have enough Hamming distance between them. I just wanted to simplify things and continue to get rid of roots that sounded too alike.

However, I did get some conflicts that weren’t actually conflicts. On the surface, «katya» and «kalya» might seem like they conflict because «t» and «l» conflict in the same position. However, «katya» is «k-a-tya-» (pronounced /ka.tja/) and «kalya» is «k-aly-a-» (pronounced /kal.ja/). So, the «t» and the «l» aren’t actually in conflicting positions.

Anyway, I had to run every planned disyllabic root through Gen, put the output in the database, then format it and remove dashes. It took quite a bit of time to do that manually for over 166 roots—yes, it was more than 166 because I had to add other altered roots at the cost of others after having already processed roots that had to be removed. More than anything else, it was just really repetitive and boring, and I pushed myself so hard during this entire process that I ended up really fried, stressed, and anxious. Oops!

In the next part, I will finally reveal the disyllabic roots!

Disyllabic roots in greyfolk language, 1: planning the roots

In the process of creating the monosyllabic roots the first time (and, by extension, the second time), I had an idea of a few disyllabic roots that I wanted. As «me», «se», and «ke» are the singular personal pronouns, I wanted «mema», «sesa», and «keka» as the plural personal pronouns. That meant, for 4-phoneme disyllabic roots, there was an MM root (‘MaMa’), an SS root (‘SaSa’), and a KK root (‘KaKa’), so I figured that all phonemes would pair with themselves. Furthermore, «me», «se», and «ke» were chosen because MKS is one of the few trios of phonemes that doesn’t conflict with one another (in terms of my Hamming distance parameters). Extending that, I figured I could pair any phoneme with another non-conflicting phoneme and itself. There were a few options available, but the best one ended up being MS, NK, PL, TY with «h» left out. For example, MS worked as follows:

«m» «s»
«m» «mama» «masa»
«s» «sama» «sasa»

It’s basically a Punnett square. So, really, MS = MS, MM, SS, SM in terms of the roots that was created from the pair. There ended up being a few extra that worked, but most of them stopped working later one when I started creating the 5-phoneme disyllabic roots.

Actually making those 5-phoneme disyllabic roots was much trickier. A while back, I figured out that I had two special trios of initial consonants: MKS and NPY. Within each trio, the consonants do not conflict with one another. And no consonants are shared between the two trios. (However, «t» and «l» are left out, and I knew I would have to integrate them later somehow.) I couldn’t cross them with themselves because each phoneme was already paired with itself, and there was already MS, which would conflict in MKS. I figured that I could instead interpolate these special trios with each other to get a bunch of non-conflicting pairs to create 5-phoneme roots, and I was right!

  • MN, MP, MY, KN, KP, KY, SN, SP, SY
  • NM, NK, NS, PM, PK, PS, YM, YK, YS

So, that first set creates «m-a-n-a-», «m-a-p-a-», «m-a-y-a-», «k-a-n-a-», etc. Each root would need an extra phoneme in place of one of those dashes, obviously, to make it a 5-phoneme disyllabic root.

Right off the bat, I knew I couldn’t use KN and NK since I already had those for the 4-phoneme disyllabic roots. Furthermore, that list would create way too few options. Of course, that list also had plenty of holes in it that could be filled, and I spent such a long time trying to figure out what they were. I don’t even know how to explain that process, but I can happily share the results:

  • MN, MP, MY, NH, PH, TK, TL, KP, KS, KY, SN, SP, SY, YL, YH, LM, LS, HM, HT
  • ML, NM, NS, MH, PM, PK, PS, TH, KT, SK, SL, YM, YK, YS, LT, LY, HN, HP, HY

Then, I had to figure out the rest of the pattern to make as many 5-phoneme disyllabic roots as possible. It came to figuring out into which position each of the inserted fifth phoneme would go.

  • MN becomes «m-a-n-a», and one of those dashes has to be filled.
  • I focused on one syllable at a time.
  • For «m-a-», I chose «y» for the first dash, and both «m» and «l» for the second dash (because «m» and «l» don’t conflict).
    • That gives «mya», «mam», and «mal».
  • For «n-a-», I chose the opposite: «l» for the first dash and «n» for the second dash.
    • That gives «nla» and «nan».
  • Crossing those gives «myana», «mamna», «malna», «manla», and «manan».

Then, I did the opposite for NM since it is the inverse of MN. So, the syllables are just switched. «myana» becomes «namya», «mamna» becomes «namam», «malna» becomes «namal», etc. This creates a set of roots that do not conflict with one another. However, some issues did pop up later.

At the time of planning, it looked like I could have 166 disyllabic roots total compared to my expected minimum of 165. Unfortunately, that meager 166 shrunk to 162 when I had to rework the numerals—or, rather, rework the roots so the numerals could fit in the scheme I had created. However, I will share the roots a little bit further down the line.

In the next part, I will talk about the process of creating the root database!

Reworked numerals for greyfolk language

As far as I can tell, I have fixed the numerals to work with my Hamming distance database (that I briefly mentioned in my end of February report), but I don’t want to say these are final. In order to get numerals to work in the way that I wanted them to work, I had to break some other patterns in my database, which is probably going to leave me with even fewer disyllabic roots in the future, but it felt like a necessary sacrifice. Numerals are important—having as many disyllabic roots as possible is also important, but it is less important*.

letter («syun-») number («hu-») name suffix
h 0 «-han»
m 1 «-mam»
n 2 «-nal»
p 3 «-pal»
t 4 «-tla»
k 5 «-kam»
s 6 «-sam»
y 7 «-yal»
l 8 «-lan»
9 «-mla»
A «-nya»
B «-pya»
C «-tyam»
D «-klan»
E «-syal»
F «-myan»
10 «-mamhan»
a «-ha»
e «-he»
i «-hi»
o «-ho»
u «-hu»

Greyfolk language usually uses a duodecimal system, which is 1–9, A–B, 10. However, the numbers are set up to also be compatible with a hexadecimal system, which is 1–9, A–F, 10. Of course, it can work with smaller systems like our typical decimal system, which is just 1–10. I may or may not later create specific words for ‘hundred’, ‘thousand’, ‘million’, etc.

*As I talked about before, what really matters is the number of phonemes in a given root/word in terms of how simple/quick it is to utter. (I still have not found or even looked for a source on that yet, and, even if that is somewhat true, it is obviously not the only factor.) This is a tangent, but I was previously very focused on using every disyllabic root I could, and that led me to using 7-phoneme disyllabic roots. However, if the number of phonemes is so important, then it would make just as much sense to start looking at trisyllabic roots. At a minimum, they will have six phonemes, which is still pretty low, which makes the roots «manasa» and «mansan» comparable thought the former is trisyllabic and the latter is disyllabic.

End of February report

My arm has recovered quite a bit! It’s functional, but it’s not quite back to the pain-free strength that it had before. My infection (or, perhaps, the symptoms left behind by the infection) hasn’t quite resolved yet, however. I went through another round of antibiotics and painkillers, and I am waiting to see if the discomfort and pain continue to go away or… if they don’t.

Also, the GURPS stuff report has changed to RPG stuff report because I foresee talking about other RPGs as well. I have a couple in mind, but I don’t want to jump the gun.

Conlang stuff report

Even as my arm was still not doing so hot, I was still working hard on my conlang. With help from the internet in creating a macro for Excel, I got a nice database of disyllabic roots running.

  • Range A is a bank of possible (according to the rules of my language) disyllabic roots. I generated this using Zompist’s Gen.
  • Range B is where I input the roots I have chosen.
  • Range C is a bank of roots that conflict with the roots in Range B. I also generated this using Gen with some really roundabout tricks.
  • Rule 1: If a cell appears in Range A and Range C, it is highlighted yellow.
  • Rule 2: If a cell appears in Range A and Range B, it is highlighted green.
  • Rule 3: If a cell appears in Range B more than twice, it is highlighted red.
  • Rule 4: If I a cell appears in Range B and Range C, it is highlighted red.
  • Rule 5: Otherwise, a cell should not be highlighted.

Thus, any white cells in Range A were roots that could still be used because they didn’t conflict with anything else. Even though the highlighting was all done by a macro, there was still a significant portion of manual work that took a few hours. Much more time went into figuring out how to get the most efficient set of disyllabic roots. By that, I mean that I had to figure out how to get as many roots as possible that didn’t conflict with each other from the total bank of possible roots. It always comes back to Hamming Distance!

I’ll share much more about this soon.

RPG stuff report

Over the past couple of weeks, I have started to work on a very loose and flexible magic system that I think is good enough. Ritual Path Magic is loose and flexible, but it is slow and uses a whole new system. Divine Favor has flexibility built in with its prayer system, but it’s way too expensive and it doesn’t focus on flexibility. Sorcery has the same advantages and disadvantages of Divine Favor, though I do like it a bunch more. I based my system off of Wildcard Powers from GURPS Supers, but I’ll talk about it in much more detail soon.

Two more things. First, I just want to say that GURPS Transhuman Space is really cool. Second, I’m a bit late, but I just discovered The Path of Cunning, which is a new (and free!) fan-zine for GURPS content that is doing a good job at slowly filling the void left behind by the discontinuation of Pyramid #3. I’d love to hop on that in its infancy and review the zines as they come out. And—who knows—maybe even try to submit something one of these days. In fact, maybe that flexible magic system is just the thing.

Writing stuff report

I wrote a couple of short vignettes for fun. I dove into some stuff about Gnosticism for inspiration. I also toyed around with some new ideas for my main stories. That’s about it.

End of January report

Infection or no infection, injury or no injury, I can type out a short update and I did make some progress before I injured my arm. Also, I moved away from specifying my reports as for the greyfolk language or writing or GURPS because I will hopefully be talking a bit more about each of them in each report.

It took me a long time to write out this update. I’ve been working on it for two days because it’s hard, uncomfortable, and sometimes painful to type for long periods of time. Between my injury and really focusing on maintaining better posture, it just takes a lot out of me. I’ll probably be like this for the next couple of weeks, but here’s to hoping! 🍻

Conlang stuff report

If I am remembering correctly (and I’m a bit too lazy to check), when I last talked about what was next for greyfolk language, I’m pretty sure that I mentioned disyllabic roots and words were next but also that I wanted to find a way to organize them so I got good efficiency out of my choices while avoiding roots that were within Hamming Distance of each other. For example, I don’t want «meta» and «peta» because the only difference is «m» and «p», which do not have enough Hamming Distance between them (in terms of how they sound). The Hamming Distance between «m» and «p» is 1 (they are both labial sounds, which is an HD of 0, but «m» is a nasal and «p» is a plosive, which is an HD of 1), but I need a Hamming Distance that’s greater than 1 for the sounds in each word to be far enough apart to contrast. So, «mena» and «peta» would work because «n» and «t» also have a Hamming Distance of 1 (they are both coronal sounds, which is an HD of 0, but «n» is a nasal and «t» is a plosive, which is an HD of 1). That brings the total Hamming Distance between those two words to 2, which means they are far enough apart in sound (according to my parameters, of course) that I can use both words.

Of course, that means, if I want to have a lot of disyllabic roots and words, I have to be efficient like I was for the monosyllabic roots and words. Each extra syllable, however, seems to add that much more work. I talked to a friend of mine about creating a program to help me, but it seems that would be more trouble than it’s worth, but I think I found a way to do what I need in Microsoft Excel. I’ll hopefully come back to that sooner rather than later after my arm has healed and after I fully figure that system out.

Also, because Globasa does it (and I just went over how much I like Globasa in my previous post), I’ve been considering allowing «s» at the end of syllables. I need to be careful not to over-complicate my conlang, so I might just put syllable-final «s» in one of the dialects.

GURPS stuff report

As I looked back through my notes, I realized that most of my work in January (as well as December) was done on GURPS. After NaNoWriMo 2019, I was really inspired to work on GURPS again, and it was going quite well! I have a better way to merge Conditional Injury and Knowing Your Own Strength than I did before. I was still figuring out how to do weapons and armor in the least complicated way, and I was getting pretty close to something that I felt was acceptable. Instead of having a damage modifier, a weapon would have a ST modifier. That modifier would be added to the wielder’s Basic Lift, and the total Basic Lift would be the new ST of using that weapon. DR would work similarly with a tricky caveat. Yes, this requires table look-ups, but… Well, I don’t think it’s frequent enough to be awful. I’ve struggled so long with balancing realism, fairness, and ease of play.

Continuing down the path of combat while trying to balance realism, fairness, and easy of play, I have been trying to figure out how to speed up combat for a long time. There are many approaches, and I tried to define each approach by its complexity and its (level of) abstraction. One could resolve an entire combat with nothing more than a Quick Contest—that would be Complexity 1 but Abstraction 10. However, that curve is not smooth. Some methods are only a small step up on the scale of complexity while being a larger step down on the scale of abstraction, which is pretty ideal. For example, I’ve been getting really into Mass Combat and Tactical Mass Combat because the combat isn’t very complex and there are some neat ways to deal with the abstraction. However, the big problem is that PCs remain quite abstract unless you use Heroes on the Mass Scale, but that breaks down really quick for any unit that’s anything less than heroic in scale. So, I could try to rework the entirety of Heroes on the Mass Scale or just assign Troop Strength, Classes, etc. as best as possible to PCs (and any other unit, really). That idea got pretty close to one of my original ideas, which was to run combat like a D&D Skill Challenge where the PCs need x skill successes before getting y skill failures. That’s quite abstract in that it doesn’t take into account the power of the enemies! So, using Mass Combat with guesstimated stats (based on existing units, of course) seems rather balanced between complexity and abstraction, especially by allowing PCs (and enemy bosses) to perform significant actions, which is like a Skill-Challenge-esque factor in Mass Combat. Then, when I want to get a bit more tactical, there’s Tactical Mass Combat. For non-mass-scale scenarios, I’ve been working on a way to modify each for the 1:10 scale so each ‘unit’ is just a character, which is a bit trickier (but oh so satisfying) to do for Tactical Mass Combat.

Last but not least, I worked on some worldbuilding for my very own Project Sirocco, which is really going to end up extremely similar to or part of the setting from my NaNoWriMo 2019 story. I really took a dive into religion and mythology to start working on some cultures for that world. That led to a discussion about how ‘barbarians’ are the same Tech Level with different beliefs and ‘savages’ are lower Tech Level with different beliefs. I learned a lot about comparative theology and the Bronze Age and the Iron Age and Sub-Saharan African history. I spent a good amount of time trying to find places on Earth with very varied climatic zones, and I think I landed on Tierra del Fuego and the Big Island of Hawaii. There are a few places in the (contiguous) United States with very diverse climatic zones in a small area too.

Writing stuff report

I did more work in December than I did in January, but I was working on some background worldbuilding as well as figuring out how I want the story to end to myself me a clear(er) goal.