二十五小時從零創造一門自然語言(用於魔幻類遊戲)
導論
人造語言,英文:Constructed Language,中文簡稱造語,英文簡稱:Conlang;
相信本文讀者當中不乏喜歡魔幻類遊戲的玩家,對於上古卷軸系列肯定並不陌生
在上古卷軸系列當中,出現了龍語這一語種
可能很多玩家以為龍語的字元就是鬼畫符,美工亂寫的
實際上不然,這些龍語的字元都是有明確含義的
龍語的字母表
本文不講述龍語學習
有興趣的朋友可以在https://www.thuum.org/獲得全套龍語學習資料
學習一門造語可以極大地幫助你創造一門造語,但是並不強求(也不必學的多深)
這裡我還推薦大名鼎鼎的其他幾門造語:塔語、魔獸世界精靈語、魔戒精靈語、星語、克林貢語、多斯拉克語、阿凡達Na’vi語
此外再推薦一個著名的造語論壇:conlang.org
語言學導論
先來補補大學的公共選修課,語言學導論
如果你大學學過的話,跳過本部分,或者稍微複習一下就行了
沒學過的話,我會盡快簡述一下核心思想
遇到不懂的名詞請善用百度谷歌,限於篇幅,不會一一解釋所有專有名詞
同時,本文當中有些概念我會故意講得很不嚴謹
(為了方便各位理解。這會影響語言學考試,但是不影響我們實操)
(不嚴謹的地方一律會標出)
人類的語音系統由母音、子音、音調組成,下面我們來解釋一下核心部分
母音
IPA母音表(看不懂耶沒關係,只需要有個印象就行,後面會解釋。當然,能看懂更好)
母音,即氣流通過口腔,不受舌、牙、脣的阻礙而發出的音
通俗來說就是:啊,汙,衣 等發音(請各位自行念一下,感受氣流和舌頭、牙齒的關係)
這裡要注意一下,不受阻礙和受到調節是不一樣的
受到阻礙的例子有:噗 受到了脣的阻礙
但是 汙 是受到脣的調節,而非阻礙(不嚴謹)
要注意的一點是,有些語言當中的某些讀音完全符合母音定義,但是在這種語言的語法教學當中可能不被視作母音,而是有其他名字,對於這種情況,這裡我們統一稱之為母音
介於漢語、英語的發音習慣,我們可以只選用以下母音(便於後續工程進行)
挑選的幾個母音
當然你也可以挑選其他不同的母音,創造出與“冷羅語”完全不一樣的語言
子音
子音與母音的定義相反:氣流通過口腔,受到舌、牙或脣的阻礙而發出的音
我們來看看IPA子音表
IPA子音一覽
灰色部分意思是解剖學角度人類不可能發出的音
空白部分意思是解剖學角度人類可以發出的音,但是目前世界上沒有任何自然語言使用這個發音
(這些發音也可以考慮使用,富有神祕氣息)
介於漢語、英語的發音習慣,我們可以選用以下子音(便於後續工程進行)
選出的子音
現在我們選擇出了41個音素
為了便於輸入(音標不易輸入)我們總結一下,列一個單詞表
(暫時先使用拉丁字母,我們之後還要造字母)
字母表,大的是拉丁字母,小的是音標
懵逼了?小結Ⅰ
到這裡,大部分語言學零基礎/不紮實的同學要開始懵逼了
如何選擇這些母音、子音呢?
選擇標準如何確定呢?
選擇不同的音素會給語言風格造成什麼影響呢?
我們來一一解讀一下
首先我們必須學習/複習一下母音和諧律
母音和諧律
什麼是母音和諧律?通俗的來講就是男女有別
(以下內容不嚴謹)
語言學家出於一些我們不必深究的目的(感興趣的可以維基一下)(簡單來說就是可以讓語言聽起來更加和諧),將母音分為公的、母的、無性別的(陽性、陰性、中性)
在同一個單詞當中,要是出現了公的母音,就不能再出現母的母音,但是還可以出現無性別的母音
反之亦然
(以上內容不嚴謹)
比如:ulus(民族、國家)(土耳其語)
至於再外面造語這裡
我們可以這樣劃分:ü[y]、ö[ø]、ä [æ]為陽性母音;u、o[o]、a[a]為陰性母音;i、e[e]、ê[ə]為中性母音。
當然你也可以用其他方式進行劃分,只需要讓劃分出來的陽性母音都有某種共同特點,陰性母音都有另一種特點即可:
看圖可能會明白一些
但是我們並不需要把所有符合特點的母音都挑出來,所以i、e[e]被劃分至中性母音/陽性母音都是可以的
劃分的不同僅僅是影響後續構詞法的規則,屬於一種人為定義的概念,不必深究
若不劃分,造出來的詞彙往往難以發音,不自然,沒有代入感,很假
劃分之後,語言就很像是真實存在的自然語言
語言風格
不知道有多少讀者曾經聽說過類似於以下的論調:
母音豐富的語言更加悅耳
這在學術界還有一些主觀性問題,但是基本正確,因為雖然“悅耳”是比較主觀的,但是世人對於悅耳的價值觀基本是類似的
此外,以下論調與上述論調類似,基本正確,但還有一些主觀因素
(遇到不明白的專有名詞,請谷歌,或者是看一些語言學入門級書籍,評論區有書目,可以參考一下)
富含圓脣音和鼻化母音會帶來和平、鄉土氣息的感覺
複子音較少,韻律感更強,更適合用來寫詩、寫歌、寫短句(反之,適合寫涉及宗教的那種摸不著頭腦的文章)
富含擦音/硬顎化音的語言,給人一種軍國主義的野心感,也有可能讓人感到野蠻、未開化、異邦、奇異
捲舌音豐富給人一種部落文明、低等文明的感覺,還會讓人聯想到薩滿文化
以上論調,反之亦然
筆者總結了幾種比較常見的風格(筆者只知道這幾種),歡迎評論區語言學大佬補充
如果您有其他語言風格的需求,不妨在造語的相關論壇多逛逛(文章開頭說的那幾種造語還有印象嗎?)
鑄造詞庫
很明顯地,有的詞彙在所有語言當中都會出現
比如“我”、“吃”等等
根據詞頻造詞可以極大優化地我們的工作
這裡我推薦用斯瓦迪士核心詞彙表輔助我們的工作
斯瓦迪士核心詞彙表
維基百科的解釋
考慮到有的人並不是隨時隨地都能比較方便的科學上網(比如我)、百度上搜出來的內容或少都有點紕漏
因而在此列出斯瓦迪士核心詞彙表完整版:
PDF連結:https://盤.bai#du.com/s/1c41JJ9dVCX-AFWcnB7OVDA
提取碼:tzd2
在開始動手之前
在創造詞彙庫之前,我們要清楚語言一般而言分為四種形態類別
孤立語
不通過詞的內部變化來表達詞的語法作用,而是通過虛詞以及語序來顯示詞的語法作用
例子:中文
黏著語
詞內部擁有形態變化,語法關係通過詞的形態變化來表示。黏著語的詞的每個形態只表示一種語法意義,每種語法意義總是用同一個形態來表達。(一對一)
例子:日語
屈折語
詞內部擁有形態變化,每個形態可以同時表示幾個語法意義,每個語法意義又可以用幾個形態來表示。(多對多)
例子:法語、德語
複綜語
定義我就不說了,可以簡單理解為詞與詞之間沒有空格的英語:用一個特別長的、含有一堆詞根的單詞直接作為一個句子(一個句子只需要一個單詞)(不嚴謹)
例子:西格陵蘭語、上古卷軸龍語
小結Ⅱ
知道以上四大類語言之後,各位就可以考慮考慮,到底要創造什麼樣的語言了,並朝著這個方向造詞(先暫時使用拉丁字母代替音素,之後我們會造字的)
開始動手
各位可能看過類似於以下的說法:
xx造語是以法語為基礎演變而來
實際上,許多造語都是這樣的操作的,當然你也可以完全白手起家,不以任何語言為基礎
我們以英語為例來實操一下
比如,“想”的英文是think,我們可以以此為基礎造出dinq這一單詞
以某語言為基礎演變出造語的要點是:
1.演變方法基本相同(不能完全相同,不然依舊很假,因為世界上所有語言的構詞法都有或多或少的例外):比如尾音k-->q,那麼fuck這個單詞最好演變成一個q結尾的單詞
2.符合前文的母音和諧律
3.變化一定要足夠大,不能讓人看出原單詞:比如think可以轉化成dinq,但是轉化成thinq就不太合適了
4.你本人必須能正常、標準地發出這個詞彙的發音
5.符合常識:比如擬聲詞、緊急情況的警告詞等等必須要符合常識,比如:詞彙長度不能太長等等
6."靈機一動型"詞彙佔比最好要在20%左右(防止玩家看出你的造語是基於什麼語言,"靈機一動型"詞彙算是一種干擾手段):"靈機一動型"詞彙就是你不基於任何已有語言詞彙而造出來的詞彙;比如我靈機一動,想用lum表示“火炮”,那就用唄,畢竟是自己說的算
進一步地
現在我們有了常用200詞,我們可以進一步地進行造詞:
比如:遊戲當中的常見武器、生物、食物、藥物、技能、吟唱文段所需詞彙;等等。
然後是派生詞:比如“棍”派生出木棍、鐵棍、柵欄、籬笆、監獄;等等。
感嘆詞、抽象詞等等
這裡就不一一舉例了
秉持原則:用啥造啥
詞典
我建議使用Excel作為詞典的記錄軟體,Excel的使用教程請自行搜尋
當然,也可以使用Babylon等專業詞典編輯軟體
但是,實際上Excel就夠用了
創造語法規則
現在我們已經有了大多數需要的詞彙,於是我們可以開始寫劇情了
但是在寫劇情之前有一個很重要的問題:把單詞連成句子的前提是,有一套基本的語法規則
瞭解句式結構、確定正常語序
我們先來看看英語五大句式:
1.主語+謂語
2.主語+謂語+賓語
3.主語+謂語+賓語+賓補
4.主語+系動詞+表語
5.主語+謂語+賓語+間賓
這就規定了英語的一個句子必然是主語打頭,謂語中間,賓語(如果有的話)在後面
我們再來看看日語:
主語+賓語+謂語
與英語的句子相比,就有很大的不同
我們可以採用這兩種在世界範圍內比較常見的句式結構之一,也可以使用其他比較騷的句式結構,比如:
謂語+主語+賓語
謂語+賓語+主語
情感詞(感嘆詞)+主語+謂語+賓語(塔語的句式結構)
等等
構築語法大廈
首先要對你的造語確定幾個方面的語法問題:
1.有沒有人稱、數、性、格的變化?
2.如果有任意一項,是通過什麼來實現的?你的語言是黏著語還是屈折語?抑或是複綜語?
3.如果都沒有,你這個語言在表達這些變化時,如何避免歧義?引入什麼語法規則適合你這個語言?(舉兩個例子:比如漢語當中的“們”這個字,就是用於表達數的變化;英語的you雖然可以表達“你”也可以表達“你們”但是並不會造成歧義,因為99.99%的英語名詞都有嚴格的數的變化,幾個特例不會影響語義)
這裡可以舉一個比較完整、凝練的語法結構例子:
• 詞彙不區分語法性別;
• 名詞、代詞區別單數、雙數、複數;
• 格的概念通過格標誌和介詞等表示;
• 正常語序為賓語+謂語+主語;
• 疑問語序為賓語+謂語+主語+疑問詞;
• 限定成分置於被限定成分的後面;
• 詞的變化(派生等等)通過詞綴實現;
• 從句依賴提示詞來提示,提示詞後接正常語序的完整句子;
• 閱讀方向為從左到右,橫向書寫;
• 感嘆句不依賴感嘆詞提示,而是通過將正常語序變更:被感嘆部分提前,其餘部分保持正常語序;
• 強調句依賴強調詞提示,強調詞置於句子最開頭;
各位把黑體部分置換即可;然後捏造一些語法特例(最好別弄太多)(可以演變自其他語言的語法特例),再規定一下文體(書信、法律文書;等等)的格式,語法這部分就沒有框架性問題了
計數系統
計數系統可以講很多,這裡略微提一下,各位谷歌參考一下阿拉伯數字的發展史,然後把一些關鍵性東西修改一下就行了
比如:阿拉伯數字最右側一位是個位,我們可以最左側是個位
再比如西方每三位數字打一個逗號,中國每四位數字空一格空格,我們可以每兩位數字/五位數字加以標記;等等
造字
我們來解決一下之前的問題:字母表只是使用了41個拉丁字母,而沒有造出新的字母
軟體準備
https://www.fontlab.com/
這款字型開發軟體在網路上有很多教程,這裡不再贅述
開始
可以借鑑一下龍語、世界語等其他多種造語,設計出自己文字書寫風格
這部分教程不太好寫
主要是自己的想象力
結語
預祝各位遊戲開發成功!
作者:冷羅KS
來源:奶牛關
原地址:https://cowlevel.net/article/2098452
相關文章
- 分享一個自然語言漢語時間語義識別的工具類
- OpenAI Codex完全通過自然語言構建遊戲應用 – AndrewMayneOpenAI遊戲
- 自然語言處理入門 - olay自然語言處理
- 屹立於技術之巔的 4 門語言創造者 — Anders Hejlsberg
- Ohm:用 JavaScript 創造你的程式語言JavaScript
- 自然語言處理(NLP)系列(一)——自然語言理解(NLU)自然語言處理
- 《自然》證實:計算機語言更類似人類語言計算機
- 自然語言處理NLP快速入門自然語言處理
- 2023nlp影片教程大全 NLP自然語言處理教程 自然語言處理NLP從入門到專案實戰自然語言處理
- 從零開始:用REACT寫一個格鬥遊戲(一)React遊戲
- 讓玩家全程掌控遊戲:自然語言指令驅動的遊戲引擎到來了遊戲引擎
- 自然語言處理怎麼最快入門?自然語言處理
- 【自然語言處理篇】--聊天機器人從初始到應用自然語言處理機器人
- NLP漢語自然語言處理入門基礎知識自然語言處理
- 從零到一:用Go語言構建你的第一個Web服務GoWeb
- 用於自然語言處理的迴圈神經網路RNN自然語言處理神經網路RNN
- [譯]用javascript實現一門程式語言-語言構想JavaScript
- 從零開始:用REACT寫一個格鬥遊戲(二)React遊戲
- 探索自然語言處理:語言模型的發展與應用自然語言處理模型
- 《自然》:人工智慧在創造性思維方面超越人類人工智慧
- nodejs在自然語言處理中的一些小應用NodeJS自然語言處理
- DataGPT:一個用自然語言來分析資料的AI AgentGPTAI
- 用JavaScript實現一門程式語言 2 (λanguage語言簡介)JavaScript
- 基於圖深度學習的自然語言處理方法和應用深度學習自然語言處理
- 從零開始實現放置遊戲(一)遊戲
- 自然語言處理入門基礎之hanlp詳解自然語言處理HanLP
- 入門自然語言處理必看:圖解詞向量自然語言處理圖解
- 從零開始——GO語言基礎語法Go
- 從零開始學C語言pdfC語言
- NLP漢語自然語言處理入門基礎知識介紹自然語言處理
- 期末前端web大作業——用前端語言寫一個小遊戲前端Web遊戲
- 採用一門新程式語言,或不採用
- C語言魔塔遊戲C語言遊戲
- 利用LLVM實現JS的編譯器,創造屬於自己的語言LVMJS編譯
- 創造令人驚歎的遊戲關卡——從構圖開始遊戲
- 【自然語言處理】--視覺問答(Visual Question Answering,VQA)從初始到應用自然語言處理視覺
- 微軟亞洲研究院多模態模型NÜWA:以自然語言創造視覺內容微軟模型視覺
- 關於《自然語言處理入門》的反饋意見,作者何晗說明如下自然語言處理