pande
@pande1104
已經
Sat, Dec 29, 2018 8:41 PM
(LEGO) EV3創作專題
- Samuel【兩棲坦克】LDD快畫完
- art333w [Invader] 0_1_0版_優化測試,完成了~☆
pande
@pande1104
畫
Sat, Dec 29, 2018 9:17 PM
Sat, Dec 29, 2018 10:19 PM
【兩棲坦克】
剩下砲台和底下履帶的部分就完成了
一邊畫
都會有很多改進的點想跟學生分享
(很難有機會好好聊
pande
@pande1104
說
Sat, Dec 29, 2018 9:20 PM
Sun, Dec 30, 2018 5:25 AM
有神秘訪客
§機械與自然§
pande
@pande1104
說
Sat, Dec 29, 2018 9:29 PM
Sat, Dec 29, 2018 9:32 PM
【Invader】
修改(效能試驗)版本記錄
20181219
Invader_0_1_0_pande_1
減少主要副程式
- Game_Control
- Object_Collision
- Draw_Objects
的執行緒
pande
@pande1104
說
Sat, Dec 29, 2018 9:32 PM
Sat, Dec 29, 2018 9:34 PM
20181219
Invader_0_1_0_pande_2
減少工具副程式
- Draw_Player
- Draw_Invader1
的執行緒 (修改後明顯延遲加劇)
20181219
Invader_0_1_0_pande_3
置換wait block
減除Object_Collision的分支執行緒
pande
@pande1104
說
Sat, Dec 29, 2018 9:34 PM
Sat, Dec 29, 2018 9:35 PM
20181219
Invader_0_1_0_pande_4
合併Object_Collision進入Game_Control之中
20181219
Invader_0_1_0_pande_5
繪圖更新時機判斷
- Draw_Player: 遊戲啟動時 & Player移動時 & 每秒刷新畫面時
- Draw_Invander1: 遊戲啟動時 & 子彈碰撞invander時 & 每秒刷新畫面時 - bullet: bullet移動時 & 每秒刷新畫面時
(修改後顯示延遲狀況減少)(★明顯優化步驟-顯示效能方面)
(bullet與player延遲&跳格的現象還在)
pande
@pande1104
說
Sat, Dec 29, 2018 9:37 PM
20181227
Invader_0_1_0_pande_6
改製兩個繪圖副程式(MyBlock)
- Draw_Invander2: 省略3個變數
- Draw_Player2: 省略3個變數
並製作元件包
pande
@pande1104
說
Sat, Dec 29, 2018 9:38 PM
Sat, Dec 29, 2018 9:41 PM
20181227
Invader_0_1_0_pande_7
- Draw_Invander繪前判斷:
有-再畫,沒有-不塗擦,僅於碰撞時執行塗擦動作
(已死之invader覆蓋player的情況消失)
- 整理Object_Collision內容: 簡化排版
- 每0.2秒接收玩家操作一次改成每0.17秒: 遊戲性
- Game_Control_Bullet:
簡化排版。把發射音效拉出來與按鈕判斷同一頁。
pande
@pande1104
說
Sat, Dec 29, 2018 9:38 PM
Sat, Dec 29, 2018 9:41 PM
- 製作Draw_Bullet MyBlock並匯出
- 整理Draw_Object: 簡化排版
- Object_Collision改動: x_bullet的值小於70再做碰撞檢查
(★明顯優化步驟-效能方面)
- 子彈獨立每0.3秒更新一次: 遊戲性
(★明顯優化步驟-遊戲性方面)
- 關閉燈示
PS. 此版本不僅只改動程式設計,遊戲設計的部分(細部)也有涉及
pande
@pande1104
說
Sat, Dec 29, 2018 9:38 PM
Sat, Dec 29, 2018 9:44 PM
20181227
Invader_0_1_0_pande_8
全面解構Draw_Objects併入Game_Control
- 廢除3個標旗變數: player_move_ON, bullet_move_ON, Object_Collision_ON
- Draw_Player2時機: player每次移動前後
- Draw_Bullet時機:
發射子彈時、子彈每次移動前後、子彈消失時、碰撞時
- 主程式前置繪圖
- 用時間間隔大的switch包裹時間間隔小的switch
- 將射擊更新頻率與移動更新頻率分開來 [Timer:2;3;4]
(★明顯優化:效能與遊戲性方面)
pande
@pande1104
說
Sat, Dec 29, 2018 9:39 PM
Sat, Dec 29, 2018 9:45 PM
20181229
Invader_0_1_0_pande_9
- 棄用Game_Control,併入主程式(main)中
- 將Timer:2;3;4所控制的動作分開,新增Timer:1
- 標註4個功能區塊
[Player_Move];[Bullet_Activate];[Bullet_Move];[Object_Collision]
- 測試: 4個功能區塊分成4個執行緒 (效果不佳)(不採用)
- 遊戲性測試: 調整各區塊時間間隔
- 將[Bullet_Move]與[Object_Collision]合併
- [Bullet_Activate]加入Draw_Bullet (解決最後一個小bug)
(★完成度↑)
pande
@pande1104
說
Sat, Dec 29, 2018 9:39 PM
20181230
若要繼續優化,應朝改變繪圖邏輯架構的方向嘗試。
(完)
pande
@pande1104
玩
Sat, Dec 29, 2018 9:58 PM
修到這邊做個錄影記錄
這個版本玩起來有嗨嗨的(?)感覺
2018年12月30日art333w【Invader】0_1_0版(pande嘗試程式優化試玩版)
體內的電玩靈魂(?)覺得滿意
- 有完成度~☆
載入新的回覆
- Samuel【兩棲坦克】LDD快畫完
- art333w [Invader] 0_1_0版_優化測試,完成了~☆
剩下砲台和底下履帶的部分就完成了
一邊畫
都會有很多改進的點想跟學生分享 (很難有機會好好聊
§機械與自然§
修改(效能試驗)版本記錄
20181219
Invader_0_1_0_pande_1
減少主要副程式
- Game_Control
- Object_Collision
- Draw_Objects
的執行緒
Invader_0_1_0_pande_2
減少工具副程式
- Draw_Player
- Draw_Invader1
的執行緒 (修改後明顯延遲加劇)
20181219
Invader_0_1_0_pande_3
置換wait block
減除Object_Collision的分支執行緒
Invader_0_1_0_pande_4
合併Object_Collision進入Game_Control之中
20181219
Invader_0_1_0_pande_5
繪圖更新時機判斷
- Draw_Player: 遊戲啟動時 & Player移動時 & 每秒刷新畫面時
- Draw_Invander1: 遊戲啟動時 & 子彈碰撞invander時 & 每秒刷新畫面時 - bullet: bullet移動時 & 每秒刷新畫面時
(修改後顯示延遲狀況減少)(★明顯優化步驟-顯示效能方面)
(bullet與player延遲&跳格的現象還在)
Invader_0_1_0_pande_6
改製兩個繪圖副程式(MyBlock)
- Draw_Invander2: 省略3個變數
- Draw_Player2: 省略3個變數
並製作元件包
Invader_0_1_0_pande_7
- Draw_Invander繪前判斷:
有-再畫,沒有-不塗擦,僅於碰撞時執行塗擦動作
(已死之invader覆蓋player的情況消失)
- 整理Object_Collision內容: 簡化排版
- 每0.2秒接收玩家操作一次改成每0.17秒: 遊戲性
- Game_Control_Bullet:
簡化排版。把發射音效拉出來與按鈕判斷同一頁。
- 整理Draw_Object: 簡化排版
- Object_Collision改動: x_bullet的值小於70再做碰撞檢查
(★明顯優化步驟-效能方面)
- 子彈獨立每0.3秒更新一次: 遊戲性
(★明顯優化步驟-遊戲性方面)
- 關閉燈示
PS. 此版本不僅只改動程式設計,遊戲設計的部分(細部)也有涉及
Invader_0_1_0_pande_8
全面解構Draw_Objects併入Game_Control
- 廢除3個標旗變數: player_move_ON, bullet_move_ON, Object_Collision_ON
- Draw_Player2時機: player每次移動前後
- Draw_Bullet時機:
發射子彈時、子彈每次移動前後、子彈消失時、碰撞時
- 主程式前置繪圖
- 用時間間隔大的switch包裹時間間隔小的switch
- 將射擊更新頻率與移動更新頻率分開來 [Timer:2;3;4]
(★明顯優化:效能與遊戲性方面)
Invader_0_1_0_pande_9
- 棄用Game_Control,併入主程式(main)中
- 將Timer:2;3;4所控制的動作分開,新增Timer:1
- 標註4個功能區塊
[Player_Move];[Bullet_Activate];[Bullet_Move];[Object_Collision]
- 測試: 4個功能區塊分成4個執行緒 (效果不佳)(不採用)
- 遊戲性測試: 調整各區塊時間間隔
- 將[Bullet_Move]與[Object_Collision]合併
- [Bullet_Activate]加入Draw_Bullet (解決最後一個小bug)
(★完成度↑)
若要繼續優化,應朝改變繪圖邏輯架構的方向嘗試。
(完)
這個版本玩起來有嗨嗨的(?)感覺
- 有完成度~☆