遊戲夜讀 | 怎麼做聯網五子棋?

五子棋是一個比較熟悉的遊戲了。它既能跟井字棋一樣,用紙和筆開始遊戲。也可以拿圍棋的一套裝備,煞有介事地來玩。還可以自由發揮,在原有的簡單規則上添油加醋。那怎麼做聯網的五子棋遊戲呢?

首先,要聯網,要建立端到端的通信。

這裏要考慮兩個問題,第一是“實現的手段是什麼?”第二是“準備幾個端之間的通信?”

第一個問題,實現的手段用socket通信技術,選一種叫UDP的連接——因爲這種連接實現起來比較省事。第二個問題,採用一個服務器端,一個客戶端,一共兩個端——因爲這樣實現起來比較省事。

其次,是要分析五子棋的遊戲機制。可以從下期的流程來看。

棋盤拿來!道具的準備,包括棋盤、棋子(黑色/白色)。

誰先開始?輪到誰了?下棋的秩序,包括雙方:我方+對方。輪流下棋,這也是玩家之間通信的主要內容。

對方下在了哪裏?我要怎麼下?也是玩家之間通信的主要內容。

下哪裏?落子的有效性。只能下在棋盤上空的位置上。

如何判斷勝負?誰贏誰輸?獲勝的條件:一方率先完成五子連珠。

不玩了!道具的回收。退出遊戲,關閉窗口。

經過一系列的設問,能更加熟悉五子棋的遊戲機制,逐步明確要實現的核心邏輯是哪幾個。

最後,還得進行交互設計要素察覺。

一方面,先確定交互內容,可以從以玩家爲中心的輸入輸出(IO)信息彙總。例如,玩家從遊戲系統諮詢獲取的信息可以有:現在輪到我了嗎?剛纔對方下在了哪個/哪些位置?剛纔我下在了哪個/哪些位置?現在我可以下在這個位置嗎?悔棋?現在我可以放棄/投降/直接退出遊戲嗎?現在誰勝誰負?再例如,玩家向遊戲輸入的信息有:我要開始玩了!我要落子在這個位置!我不玩了!我要退出/關閉遊戲!

另一方面,根據上述篩選出的交互內容,可以選擇出合適的交互方式。例如:鼠標左鍵,點擊操作。點擊棋盤進行落子的確認,點擊按鈕提交信息等。

接下來,是時候開始準備真正的排面了——各種素材!前面逐步確認的交互內容、交互方式,還只是邏輯框架,在具體的遊戲製作過程裏,這些都要被實實在在的“素材”填充起來!首要的,就是信息傳遞用途的素材,像交互主界面棋盤、交互主元素棋子、信息展示窗口、退出選項等。其次的,是影視聽等素材,像動畫、音樂等。

文/良宵聽雨。授權“遊戲夜讀”發表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章