conlang

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.

Shouting out Globasa and Pandunia

I’ve been wanting to write a long post about Globasa and Pandunia for quite some time, but I haven’t gotten around to it yet because I’ve been so focused on writing about my work, but, if you were to look at my personal notes document, you’d see that each language is mentioned many times. It isn’t a secret to those that know me that I love those languages for being well-crafted worldlangs—I talk about them offline quite a lot. Both have given me huge inspiration in how I’ve shaped greyfolk language.

I mentioned Globasa in my review of 2019. At the time of posting, I didn’t even mention it by name (though, I just edited it in). So, it was a surprise to see that post pop up on the Globasa channel of the Auxlangs Discord.

So, it seems right to shout them out for shouting out my shout out.

I also gave Pandunia a brief mention in an old post where I mentioned that I was looking to it (and Lojban) for some inspiration for greyfolk language.

When I have the time (and my injured arm isn’t telling me to stop typing), I’ll talk about them a little bit more. It seems like both worldlangs are slated for a decent-sized update soon (Globasa’s creator is seemingly finishing up phase 2, and Pandunia’s creator is working toward version 2.0 in two months), so that seems like it would be a fun time to talk about both of them!

Late to 2020: Reviewing 2019

I’m not terribly proud of myself for falling behind in December, but I also worked much less on my writing and my conlang. For the first time in a long while, I had a huge boost in motivation to work on GURPS stuff. So, that’s what I did, but I didn’t post about anything because progress in GURPS is always really slow. As I was a few months ago, I spent most of the month working on mixing Knowing Your Own Strength with Conditional Injury, and I made some really good headway. That’s to say I feel a little bit more confident about understanding the underlying math. After not playing GURPS at all in 2019, I’m really trying to make this the year that I get it going again. So, even if I don’t finish all of the stuff I’m working on, I have to let myself be content with running vanilla GURPS/DRFPG (or, at least, more vanilla than I want to).

March

Looking back at March, I was diagnosed with cervical radiculopathy. Though I still sleep with a loose cervical collar, I sometimes forget about that whole ordeal and how I was taking steroids for a few weeks there. I was just starting this site and trying to get it all set up, so I didn’t make much progress in my conlang.

April

I started working on my first custom font. Looking back at those old posts, I realize now that the old font is broken in most of the earlier cases. Oops! I was also obsessed with the Hamilton soundtrack at the time, and I gave a presentation on conlanging to an introductory linguistics class. That was fun!

May

I worked on syntax and phrase structure rules for my conlang. I also made my first visit to Ohio with my girlfriend! While I know I’ve only been living here for about half a year, it still feels like that stuff happened such a long time ago.

June

I created the new alphabet for my conlang and had a lot of fun designing a glyph specifically for «h». While I didn’t write about it, I think that means I also saw Flor de Toloache that month too (because I was working on the «h» glyph up until the show started if I’m remembering correctly). If that’s the case, that means I also discovered that I can do a mean grito for a white person.

July

I published my paper on Laiholh psycho-collocations. That was this last year too? I’m proud that I got a fair amount done. I worked on the new new alphabet for my conlang, which I called the 7HR alphabet.

August

I settled into my new home in Ohio. For my conlang, I started working on the first words. I also changed the word class vowels to be head-initial—great idea, past me!

September

That was apparently another month in which I focused almost entirely on GURPS! Looking back, it’s weird to think that decapitation was a topic for one of my blog posts. If prospective employers ever see that, they might be a bit worried.

October

I finalized (mostly) the monosyllabic words and the numerals in my conlang, and I also made a new font for my new alphabet, complete with (some) punctuation! That particular font might just be my conlang highlight of the year.

November

I beat NaNoWriMo! Enough said!

My 2020 Vision

Hey, look! I used the same joke as everyone else! This year, I hope to nail down my powerlifting squat form so my knee stops bothering me so much. While I never talk about working out here, that’s really a huge priority for me.

For my conlang, I want to start working on more words. I’m considering allow «s» at the end of syllables too because there’s a new worldlang called Globasa that I really like that makes the case for allowing /s/ at the end of syllables. Of course, that would mean a few big things like having more options for monosyllabic words and having to redo my font to include those options for all syllables. Though, I am considering removing «n» or «m» as a syllable-final option and throwing in «s» as the replacement.

For my writing, I really want to finish the first draft of my story that I started working on with NaNoWriMo. I’m really excited to continue exploring the concepts in that story. Plus, it’s that story that really rekindled my drive to work on GURPS.

Speaking of GURPS, like I said, I plan to try to play some this year. At the very least, I’d like to prepare and run a one-shot just to get back into it. At the very-very least, I’d like to run a rules lite game like FATE or Powered by the Apocalypse or something.

That’s all for now! I’ll try to post more regularly this month.

End of October greyfolk language report

To be honest, I wrote my last post because I got caught up on whether I should capitalize ‘greyfolk’ or not in this post’s title.

During October, I had 15-ish strong days of work on my conlang, which isn’t too much more than last month, but, somehow, I put out six posts this month (not counting the belated end-of-month report for September which I actually wrote in October) compared to September’s two posts, and the two posts in September were about GURPS. So, six posts about my conlang is great work!

Because I was so diligent about posting, there is only one thing that I talked about in my conlang journal that I didn’t talk about here. I was working on disyllabic roots and Hamming distance for disyllabic roots before I decided to focus on my typeface, which I completed! I’d like to return to disyllabic roots so I can have at least a dozen or so meaningful sentences in my language before the end of 2019, but…

Next month, I will also be doing NaNoWriMo, so my conlang will take a back seat for a while. If I can make time to work out Hamming distance for disyllabic roots, I should be able to freely create new words on the fly, but the focus will still be on my writing. Right now, I think I’ll make blog posts about my NaNoWriMo project(s) as I hit word-count milestones. However, I don’t think I’ll share too much content (at least before NaNoWriMo is over)—it’d be posts about the process or just sharing my progress.

Right now, I can say that I feel like my NaNoWriMo work has greatly helped me reestablish my connection with my creative story-telling energy, which I’ve been lacking since I informally took a break from writing and even more so since my last GURPS campaign ended. It feels nice, and I hope it helps me rekindle my tabletop RPG flame too!

Oh, and Happy Halloween!