電玩遊戲electronic games)係指用電子架生玩嘅遊戲。原則上,電玩遊戲可以分做視像遊戲(video game)同聽覺遊戲(audio game),前者指隻遊戲主要用視覺(遊戲畫面)嘅方式嚟呈現隻遊戲俾玩家睇,而後者指隻遊戲主要用聽覺(可能冇畫面,但有)方式做同樣嘅嘢。視像遊戲明顯比較受歡迎,所以日常用語好多時當咗「電玩遊戲」同「視像遊戲」係同義詞[1][2][3]

SonyPlayStation 系列喺廿一世紀初係全世界最好賣嘅遊戲機之一。Playstation 內置電腦。

粵文入面嘅打機就係指玩電玩遊戲嘅舉動,之所以叫做「打機」,係因為早期嘅電子遊戲都係以格鬥遊戲為主,要打打殺殺[未記出處或冇根據];亦可能因為有好多打機高手為咗速度或者太興奮好用力咁打架遊戲機(尤其商場啲座地機)。

打機嘅地方叫「機鋪」。

程式結構

1982 年嘅食鬼遊戲
內文:遊戲編程

一個遊戲程式結構大致如下:喺一隻遊戲嘅程式啟動嗰陣,個程式要初始化(initialize)-設定好嗮隻遊戲嘅參數嘅數值、講好嗮要用乜資源等等。初始化咗之後,個程式就要進入遊戲迴圈(game loop)-喺程式編寫上,迴圈(loop)係一類控制流程機制,能夠令一段程式碼只要某啲條件唔達到,就會一路係噉重複行,而相對喺冇迴圈嗰陣,段碼會逐句逐句行,行一次就算[4]。好似係以下呢段食鬼虛擬碼噉,就用咗個 while 迴圈[5][6]

 move_speed = ...
 number_of_ghost = ...
 ... 用若干行 declaration 設定遊戲柞參數嘅數值
 
 while player.lives > 0 當玩家有多過 0 條命嗰陣一路做...(「玩家命變咗 0」就係 GAME OVER 條件)
    // Process Inputs;睇讀取輸入
    JoystickData j = grab raw data from joystick 由手掣嗰度探測玩家撳咗乜掣
    
    // Update Game World;睇遊戲邏輯人工智能
    update player.position based on j 基於玩家撳嘅掣,更新玩家角色嘅位置
    foreach Ghost g in world for 每一隻鬼
       if player collides with g 如果玩家撞到嗰隻鬼
          kill either player or g 玩家就死
       else
          update AI for g based on player.position 基於隻鬼嘅人工智能,更新佢嘅位置
       end
    loop
    // 喺現實應用上,以上嘅各個動作通常會每個做一個子程式
    
    ...
    
    // Generate outputs;睇遊戲外觀
    draw graphics 喺熒光幕上面畫相應嘅影像
    update audio ... 同埋整聲效
 loop

遊戲設計考量

睇埋:遊戲設計同埋電子遊戲設計

電子遊戲做到,其他遊戲媒體通常做唔到嘅嘢包括咗以下呢啲[7]:Ch. 8

  • 即時,但狹窄嘅互動性:電子遊戲定義上涉及電腦,電腦有住極快嘅運算速度,能夠每秒鐘以快過人類好多嘅速度進行運算,所以能夠創造虛擬世界,並且用高速度計算「個玩家嘅輸入係噉噉噉,個遊戲而家嘅狀態係噉噉噉,下一刻個遊戲嘅狀態就應該變成噉噉噉」,對玩家嘅輸入無縫噉俾輸出。喺遊戲編程上,一隻即時性嘅遊戲可以大致想像成以下嘅碼[8]
setup # 做嗮所有要做嘅設定。

while (playing == true) # 只要個玩家玩緊,就一路係噉做以下嘅嘢。
     current_state = ... # 知道個遊戲現時嘅狀態。
     player_input = get(joystick_button_pressed) # 由控制器或者鍵盤嗰度知個玩家俾乜嘢輸入。

     next_state = f(current_state, player_input) 
     # 計算個遊戲嘅下一個狀態;下一個狀態視乎個玩家俾嘅輸入同隻遊戲嘅規則而定,
     # 例如喺一隻冒險遊戲入面,玩家可以用控制器俾「前後左右」等令到自己個角色郁動,
     # 但就算個玩家乜掣都唔㩒,隻遊戲入面嘅物體都可以根據隻遊戲嘅規則郁動。
     current_state = next_state # 郁手將個遊戲嘅狀態變成下一個狀態。

# 如果一隻遊戲想向玩家呈現一個虛擬世界嘅話,上述嘅運算要用人手做基本上冇可能,所以唔可以喺圖版遊戲等唔涉及電腦嘅遊戲媒體當中使用。即係話電子遊戲能夠即時噉對於玩家嘅輸入俾反應。
  • 同時,電子遊戲嘅互動性以遊戲嚟講好多時都相對有限,因為玩家多數都只能夠跟規則玩,用控制器同鍵盤等俾輸入,如果個玩家俾咗隻遊戲嘅程式冇嘅輸入,個程式唔會識得俾反應,例如係《街頭霸王系列》(Street Fighter)噉,最初頭嗰啲街霸遊戲得六個掣㩒同八個移動方向。相比之下,運動呢種遊戲要求個玩家用全身多個唔同部位俾輸入,「可能嘅輸入」多變好多[7]:Ch. 8
  • 操控資訊:電腦唔只曉儲起資訊,仲能夠主動噉操控資訊,呢點係卡牌、圖板、或者棋做唔到嘅,因為噉,電子遊戲能夠(一)行起上嚟唔需要玩家完全知道規則,想像一隻好似大富翁噉嘅圖板遊戲,呢類遊戲會要求至少一個玩家識隻遊戲嘅規則,但如果嗰個玩家查實都係識半桶水嘅,個遊戲進行起上嚟就會有問題,但電子遊戲因為「計算隻遊戲下一個狀態」呢樣工作由部電腦做,所以唔需要玩家完美識得隻遊戲嘅規則都可以行得到;(二)用一啲特別方法收埋啲資訊唔俾玩家知,例如係一隻戰略遊戲,部電腦可以唔完全隨機噉將資源分散噉擺喺地圖各處,而且唔俾玩家知道啲資源喺邊,但圖板遊戲要噉樣做就有啲難[9]
  • 將複雜系統自動化:電腦能夠自動化噉做運算,能夠玩一啲喺冇電腦嘅情況下複雜得滯嘅遊戲。喺多數嘅非電子遊戲當中,玩家要人手噉根據遊戲嘅規則移動卡牌或者棋,令到個遊戲變成下一個狀態,當要操控嘅卡牌同棋嘅數量高到咁上下,呢個工序用人手做就會煩悶得好交關-隻遊戲就唔會有人想玩;相比之下,電子遊戲能夠將上述嘅工序完全噉自動化,所以能夠應付涉及極大量單位嘅遊戲。雖然係噉,都有遊戲設計學者指出,電子遊戲嘅自動化令到玩家唔需要學習個遊戲嘅系統(唔使人手噉移動卡牌或者棋),變相搞到玩家少咗機會學習規則當中嘅蹺妙[10]
  • 互聯網溝通:其他類型嘅遊戲多數都實要有班玩家聚首一堂先可以玩,而電子遊戲就能夠用互聯網連繫喺世界各地嘅玩家,呢點對於玩家搵人一齊玩嚟講好方便。但同時,因為網上遊戲嘅玩家好多時都係互不相識嘅陌生人,所以成日會出現玩家之間相處唔融洽嘅情況[11]

出名公司

以下係一啲喺整或者出版電子遊戲方面出名嘅公司:

睇埋

參考

  1. "电子游戏与当代文化 E-games and Present Culture". 沈松华;. 喺2013-04-14搵到.
  2. "论电子游戏艺术的定义". 汪代明. 喺2013-04-14搵到.
  3. "电子游戏的教育价值:来自美国研究的新观点 The Educational Values of Video Games". 马红亮. 喺2013-04-14搵到.
  4. McShaffry, M. (2014). Game coding complete. Nelson Education. p. 34 - 35.
  5. Game Programming Algorithms and Techniques: Overview, p. 2. informIT.
  6. Valente, L., Conci, A., & Feijó, B. (2005). Real time game loop models for single-player computer games. In Proceedings of the IV Brazilian Symposium on Computer Games and Digital Entertainment (Vol. 89, p. 99).
  7. 7.0 7.1 Salen, K., Tekinbaş, K. S., & Zimmerman, E. (2004). Rules of play: Game design fundamentals. MIT press.
  8. "Programming Linux Games, Chapter 1" (PDF). ISBN 1-886411-48-4.
  9. Janet Murray, Hamlet on the Holodeck (New York: The Free Press, 1997).
  10. James F. Dunnigan, Wargames Handbook: How to Play and Design Commercial and Professional Wargames, 3d ed. (San Jose: Writers Club Press, 2000), p. xii.
  11. Dealing with Toxicity in Video Games 互聯網檔案館歸檔,歸檔日期2019年6月1號,.. Nextrift.