創作內容

2 GP

11/20,《地水師》大原則,與試寫特殊事件程式(13:09暫時結束,程式簡例已誕生)

作者:李兒諳│2017-11-19 21:50:13│巴幣:4│人氣:93
11/21回台北並回診(精神病患)
而明天(11/20)先確立
目前11/20並開始嘗試了

簡單來說《地水師》有兩個世界
第一個是對我們2017年11/20日(其實遊戲哪天觀察、做好哪天才算)的仿似的現實世界
另一個是《地水師》的虛擬世界,可以玩很多遊戲(看我或大家能仿出多少)
若想學的人可玩《地水師》來變更自卦的命運與增添遊戲戲劇性與表現個人特色
不過《地水師》有可能會有人隨機到沒足夠快的網路的家庭或環境(像漁民出海捕撈)卦

0.(11/20 11:25補充)天命宿命與人定勝天
為什麼發生特殊事件不直接Random而要拐彎抹角的用因數分解法與洗牌法?
因為《地水師》想表達的是,強到一定程度
講話做事就不需要"應該","可能","有機會"
只要符合一定條件,事情就可以變成必然的(保證行或絕對不可能)

1.開放原始碼並盡可能的教學

2.遊戲內容不涉及孩童不宜、人性陰暗面(當然這很難迴避,盡我所能)
陰暗面指的不是負面情緒,而是實際動作或處心積慮的想害人的情節避免

3.是款會終止的遊戲,遊戲時間為?年
這點算是受《美少女夢工廠》一類養成遊戲影響
期間到了後可能會有回憶錄(這點是受到《三國志6》的影響)
突然想到,要不要集齊64卦的真實身份時就宣告遊戲結束
(而且是用坦承的方式,代表認可另外63人能當網友也能當朋友)
(↑受《夢幻遊戲》、《庫洛魔法使》、《七龍珠》的影響)

4.用到的音樂、圖片大多沒版權授權,因此我大概不會傳到Github上,檔案可以更換成自己想要的
(雖然是非營利,但不代表能不知會原作的情況下,把原作的精華挪為己用並大肆宣揚)
若我有傳,那大概就是我做的
可是也許有人比我更早做出來相同的東西,那被通知的話我就再改

5.《地水師》於現實世界層時,沒VIP,不充值,沒轉蛋,
於《地水師》的虛擬世界時,挪用的是《地水師》現實世界層時的錢
(↑這點受到 未完童話的 《東方口袋戰爭》影響)

6.玩家若膽識夠,所在地若治安好、野生動物少,推薦實地探勘
這樣街角的服飾店變成手搖杯飲料店時可能較有感觸些
這就是為何上篇有寫卦,或卦的轄區
以後在處理費米問題或編寫遊戲特殊事件時可能會用到
(像是鋪瀝青封道,車輛須改道,結果道路不熟逆向行駛被開了罰單這樣)

(11/20新增)7.《地水師》的設計
主要是想讓玩家們多學些東西,且較沒被限制住的感覺
就是說想讓玩家能自我突破
因此可能會有寫日記系統與夢境系統(64個玩家的隱約關聯)
然後開局是全員隨機,男女老少,紡織業者到體育選手、無業游民、管理階層都有可能
且每個後面可能會有家族與各類遺傳疾病或身體、精神狀況
也就是說,就算是64個認識的人一起玩
選項的差別可能大概幾乎肯定也超過64項
這在傳統遊戲開發叫做選項爆炸或腳本爆炸
(因為那樣開發遊戲的成本會過高)
但這世上還有許多很正經的事情遠超過腳本的量啊
因此《地水師》比較像是64個人穿越到現代地球的感覺
遊戲有殘缺的地方,由64人補齊
不過《地水師》還是以中文為主,不然我會忙不過來
但編碼會採用Unicode
會以中文為主的原因是
想把些中國傳統文化傳下去
「平時不做虧心事,半夜不怕鬼敲門」

8.(明天(11/20)繼續想吧,可能接著要想Server與聊天頻道問題
《地水師》於現實世界時可能沒世界頻
但電視有新聞,電台有廣播,網路有社群網站,學校有考試,白天有工作,晚上睡不著
而且上述可能同時間發生,例如有個卦,也就是玩家跑到美國加州去工作
嗯,先睡了)

9.(保留,以後想到再補,可能是卦是否會死亡,與是否要有輪迴系統還是死後自由視角)

-------------------------------------------------------------
接著大概就是程式碼對於《地水師》的特殊事件做些略微嘗試

我想在看我寫程式前,我們可以先去了解下錯誤檢查碼的手法

不過我個人還是先土法煉鋼(閉門造車,也就是獨立作業又不學他人成果)下好了

首先,至少要兩個javascript的array,我的話會用三個,第三個是備用的
因此程式可以這麼寫了
那三個陣列,分別叫 玩家陣列,事件陣列,備用陣列
然後為了以後的回憶錄,或者年表大事紀(三國志六),Replay功能
等我有伺服器後,我們會需要做上述功能
把發生過的操作寫入記錄檔(俗稱log,blog,部落格的log意思就是從記錄來的)

開始


<!DOCTYPE>
<html>
<head>
</head>
<body>
<div id="div_test"><div>
<script>
var player_array=[];
var event_array=[];
var hide_array=[];//hide有隱藏的意思
</script>
</body>
</html>

玩家陣列存的是數字[1..64](代表從1到64,有些程式語言支援這寫法)
而事件陣列也是數字
因此還要加上個陣列,名字叫腳本陣列(script array)
var script_array
腳本陣列存的內容是純文字檔的檔名(可能要採Unicode編碼以防萬一)或者是一串文字
但個人較傾向於用檔名
(但除了Firefox瀏覽器以外
用jQuery來操作自己電腦或說伺服器上時的檔案
得用http或https來開,不然會報錯
之前我們寫的網頁程式
若雙擊點開,是用file:///來開的
雖然不用Firefox
只用http://htmlpreview.github.io/?
再接Github網址也是有望解決)

那...
先來假設下
玩家陣列:[1,7,17,46]
全部相加是71
只加各個差是
7-1 = 6
17-7=10
46-17=29
6+10+29=45

假設event陣列,目前只有三個事件[暴雨,忘記帶鑰匙,網路故障]
(也就是伺服器或自己電腦上要有那三個腳本檔)
那...繼續思考

這邊會面臨到幾個問題
首先異常事件不用每天發生
但玩家的時間是在流逝的
因此可能要多個悠閒陣列
例如假設玩家正好休假是在星期六、日
存放著像[與友人去參加展覽,打電動打一整天,繼續專心於學業或事業,到外國兩天一夜旅行]
(若以養成遊戲來說,這可能是玩家可自由選擇的)
那event陣列可能是存那種比較《塞翁失馬》的意外事件
64卦(64個玩家)的排列是否要由小到大或由大到小,還是打散
然後當出來的值,沒直接配合到event_array長度時
挑選特殊事件時若用因數分解
"1","2"這兩個數字應該會蠻明顯不利的
唔,還是要繼續思考

不管那麼多了
先寫最簡單的因式分解
概念是
player_array的值全加起來再除以event_array的長度(length,也就是元素數量)直到2為止

因此
程式碼是

var sum;

for(i=0;i<player_array.length;i++)
{
  sum+=player_array[i];
}

for(i=event_array.length;i>1;i--)
{
  if(sum% i == 0)
{
    alert("事件" + event_array[i-1] + "只缺符合條件就能觸發了");
    //要是選到都正好不符合觸發條件
    //那天或時段或某個動作後就是沒異常的日子
}
}

alert("事件" + event_array[0] + "只缺符合條件就能觸發了");

最後的程式碼

<!DOCTYPE>
<html>
<head>
</head>
<body>
<div id="div_test"><div>
<script>
var player_array=[];
var event_array=[];
var hide_array=[];//hide有隱藏的意思
player_array=[1,7,17,47]; //可以改任意個整數,看結果是否不同
event_array = ["暴雨","忘記帶鑰匙","網路故障"];
var sum=0;
for(i=0;i<player_array.length;i++)
{
  sum+=player_array[i];
}
for(i=event_array.length;i>1;i--)
{
  if(sum% i == 0)
{
    alert("事件" + event_array[i-1] + "只缺符合條件就能觸發了");
    //要是選到都正好不符合觸發條件
    //那天或時段或某個動作後就是沒異常的日子
}
}
alert("事件 " + event_array[0] + " 只缺符合條件就能觸發了");
</script>
</body>
</html>


大概就這樣
至於是否還要弄得更複雜
個人還在考慮
但今天該研究些東西了!!
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3794475
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

2喜歡★y541258 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:11/19,今日主題,《... 後一篇:11/20起,寫音樂遊戲...

追蹤私訊切換新版閱覽

作品資料夾

lin881205大家
小屋不定期更新冷門西洋歌曲推廣與Reddit鬼故事翻譯唷!看更多我要大聲說5小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】