Saturday, January 10, 2009

Network 遊戲的學習進展

上週末努力試過使用 network library,成功地將兩部 PC 連上了 ( 只是以 LAN 形式 ),這幾天用了點時間,繼續在嘗試。

這一次我在一部 PC 上,運行兩個單一 Program 來完成連線 ( 這個太普通了吧 ... )。然後便嘗試在一個遊戲軟件中,實現 P2P 的連線遊玩,其實我的目標是,先製作一個簡單的「一對一」連線遊戲。

流程大致完成了,現在的情況會是:
● 進入 Splash Screen 及 Main Menu 畫面
● 選擇 Connect to ( Client ) 或 Start Host ( Server )
● 進入 Game Room 畫面:
 ○ Client 需要玩家輸入 Host 的 IP 或名字
 ○ Server 只需等待另一玩家連線
● 成功連線後,Server 回傳訊息確認連線
● 確認後,Server / Client 同時進入 Game Play

在 Game Play 中的資料傳送方面,使用了一個 Timer 加入 Callback 控制,定時傳送 / 接收資料,因為都是以 Local Host / LAN 作為試驗,所以更新資料次數可以來得比較多 ( 每秒十次或以上,packet size 為 29 byte )。Game Play 方面可說是最麻煩的,所以還未完成,現時只是成功進入 Game Play ,及傳送接收資料而已。

2 comments:

Anonymous said...

你說的network library是指什麼啊?
TNL嗎?
我最近從winsock2開始學起
看到你這篇文就好奇問一下了

Ngan Lo ( 顏佬 ) said...

我沒有直接學 socket, 因為我比較喜歡 high-level 一點的工具, 我用的是 ENet. (http://enet.bespin.org/)