• 沒有找到結果。

Digital games design-Music and Network

N/A
N/A
Protected

Academic year: 2021

Share "Digital games design-Music and Network"

Copied!
83
0
0

加載中.... (立即查看全文)

全文

(1)

數位遊戲設計

D

IGITAL

G

AMES

D

ESIGN Week13 14/May/2008

(2)

A

UDIO

& N

ETWORK

 Game Audio

 Overview of game audio  Audio Formats

 Effects  Dubbing  Music

 OpenGL v.s. DirectX

(3)
(4)

4

A

UDIO

P

ROGRAMMING

 Audio in games is more important than ever

before

 Game audio has evolved

 Started out as simple bleeps & bloops

 Improvements in technology have placed game audio

on par with film soundtracks

 Audio Team

 In the old days, all audio was done by one person  Today’s teams consist of dedicated Professionals for

(5)

5

A

UDIO

D

ESIGN

F

UNDAMENTALS

 Audio makes 1/3rd of the entire game experience  Two key points

 Creativity  Integration

 Audio Implementation

 Creating great sound & music is only half of the work  Current generation of audio Design tools puts the

power of implementation into the hands of the audio designer (where it belongs!)

(6)

6

P

ROGRAMMING

B

ASIC

A

UDIO

 Most gaming hardware has similar capabilities

(on similar platforms)

 Mostly programming interfaces differ

 Learning fundamental concepts of audio

programming is important

 音效設計師必須決定遊戲音樂的風格、哪一部分遊戲

需要音樂,以及如何讓音效的過場遍布整個遊戲。音 效設計文件(sound design document;SDD)必須描 述遊戲中所需的音樂與音效元素。

(7)

7

API C

HOICES

DirectSound (part of DirectX API)

 Only available on Windows platforms 

OpenAL

 Newer API

 Available on multiple platforms 

Proprietary APIs

 Typically available on consoles 

3

rd

Party Licensable APIs

(8)

A

UDIO FORMATS

-FMS

 FMS (Frequency Modulation Synthesis) 調頻合成

 Using computer and algorithm to simulate

sounds in the real world

(9)

AUDIO FORMATS-FMS

 DX7 (YAMAHA)

MP3 Demo

(10)

A

UDIO

F

ORMATS

: MOD

 MOD in Amiga computer

 Real music but not generated mathematically

 The first version of wav table synthesis(波表合成)  *.mod

(11)

AUDIO FORMATS: MIDI

MIDI: Musical Instrument Digital Interface

Formats:

SMF(Standard MIDI File): *.mid Karaoke: *.kar

(12)

取樣器

Fairlight CMI(昂貴的硬體先鋒)、 Emu E4 (模組單元)與 Gigastudio (軟體)呈現三個不同時代的取樣工具。

(13)

AUDIO FORMATS:MIDI

DLS1

DLS2 (support by Microsoft Direct Music)

DirectMusic Producer: A professional game music tool http://www.microsoft.com/downloads/details.aspx?Famil

yID=6e938a6e-b383-466b-a3ee-5a655bf5db8c&displaylang=en

 iXMF (Interactive eXtensible Music Format)  New proposed standard for a container format for

(14)

14

A

DVANTAGES AND

D

ISADVANTAGES OF

MIDI

 Actual music data size is negligible

 Easy to control, alter, and even generate in

real-time

 High quality music is more difficult to compose

and program

 Only effective if you can guarantee playback of a

(15)

AUDIO FORMAT: CD (

WAV

,

MP

3)

 Redbook Audio standard  High Quality: 1411.2k bps

 Approximate File size is 50~60mb  Compressed audio format

 Compressed audio formats allow sound and

music to be stored more compactly

 ADPCM compression is implemented in

hardware on all the major current video game console systems

 MP3 (MPEG1 Audio-Layer 3)

 Lossy compression algorithm  11:1 compression rate

(16)

R

EDBOOK

A

UDIO

(17)

WAV對MIDI

WAV檔是預先混音好的音效或原聲帶,它們是線

性而非調適性的,不過有些遊戲軟體可以透過選

擇與轉進不同WAV檔而產生調適性的效果。

它所產生的聲音品質非常好,因為這些聲音都是

以標準方法進行錄製與混音。

MIDI檔則比較適合調適性,因為在遊戲執行期

間可以隨時操作每一個個別的音符。

在比較舊的遊戲中,MIDI原聲帶的聲音都很相

像,而比較新的遊戲已經可以自訂許多樂器銀行,

建立更多的聲音變化。

(18)

S

OUND

E

FFECTS  車輛撞擊  在箱子內裝滿金屬與一堆木材, 猛力搖箱子  開火  快速開傘以產生激起火焰的聲音, 捏皺玻璃紙以製造細碎的爆破聲  身體相撞  用木頭擊打南瓜或西瓜  槍聲  用尺之類的細木條擊打皮椅, 或是把皮帶對折後抽打  草叢  讓掃帚的麥稈發出沙沙聲  水沸騰  把吸管插進水裡, 吹出泡泡  飛機  錄下吹風機開與關的聲音, 用編輯軟體減緩或加速吹風機的聲音 wind bird

(19)

19

E

NVIRONMENTAL

E

FFECTS

 Environmental effects nearly always

implemented in hardware

 Sound transmission is categorized in three ways  Direct transmission

 Early reflections (echo)

(20)

20

(21)

D

UBBING

 Soundtrack for movie or game  Narration (口白)

• 對話 & 敘事

• 前後情節不相關 • 多重版本

(22)

M

USIC • 設定基調 • 提供暗示 • 配樂 vs. 歌曲 • 遊戲 vs. 電影配樂 • 暫時音軌的狂熱 • 音樂資料庫 • 循環 vs 調適性音樂 • 當玩家做某個選擇或移出某個環境時(通常是改變方向 或退回原路),必須讓音效能夠做更適當的轉場。 • 非標準化工具 • 大多數交易都是買斷 • 遊戲音樂混音

(23)

M

USIC

 Game Music  MOD Player

(24)
(25)

25

O

PEN

GL

 Direct3D對於PC遊戲的玩家,可以說是相當熟悉的 字眼。  由於PC上的遊戲大多使用Direct3D開發,因此想要 執行PC遊戲,就必須擁有一張支援Direct3D的3D加 速卡。  然而現在大多的3D加速卡規格說明中,卻多半註明 了支援OpenGL加速。

(26)

26

O

PEN

GL簡介

 OpenGL是SGI公司於1992年所提出的一個製作2D與3D 的圖形應用程式的API 。  是一套「計算機三維圖形」處理函式庫。  在電腦繪圖的世界裡,OpenGL就是一個以硬體為架構的 軟體介面。  程式設計者在開發過程中可以利用Windows API來存取檔 案,再以OpenGL API來完成即時的3D繪圖。

(27)

27

O

PEN

GL發展史

 目前OpenGL版本為2.1版。  OpenGL後來被設計成獨立於硬體與作業系統的一種顯示 規範,它可以運行於各種作業系統與電腦上。  能在網路環境以客戶端(Client)和伺服器(Server)模式之下 工作,它是專業圖形處理與科學計算等高階應用領域的標 準圖形函式庫。  它在低階成像應用上的主要競爭對手是微軟的Direct3D圖 形函式庫。

(28)

28

O

PEN

GL函式說明

 OpenGL可分為程序式(Procedural)與非描述式 (Descriptive)兩種的繪圖API函式。  程式開發者不須要直接描述一個場景,而只須要規範一個 外觀特定效果的相關步驟。  這個步驟則是以API的運作方式去呼叫的,其優點是可攜 性高,以及具有超過2000以上的指令與函式之繪圖功能。

(29)

29

GLU與GLUT函式庫

 GLU函數庫(OpenGL Utility Library):GLU是用來協助

程式設計師處理材質、投影與曲面模型的函式庫。

 GLUT(OpenGL Utility Toolkit):GLUT主要是用於簡化

視窗管理程式碼的撰寫。不只有Microsoft Windows系統, 而是包括支援視窗形式的作業系統,如Mac

(30)

30

範例:「全方位3D遊戲」(一)

(31)

31

範例:「全方位3D遊戲」(二)

(32)

32

O

PEN

GL的運作原理

 當撰寫OpenGL的程式,必須先建立一個供OpenGL繪圖 用的視窗。  利用GLUT來產生一個視窗,並取得該視窗的裝置本文 (Device Context)代碼,再透過OpenGL的函式來進行 OpenGL的初始化。  其實OpenGL的主要用意是在於使用者在表現高階需求的 時候,可以利用低階的OpenGL來控制。

(33)

33

O

PEN

GL繪圖資料

當OpenGL在處理繪圖資料時,它會將資料

填滿整個緩衝區,而這個緩衝區內的資料

包含指令、座標點、材質資訊等,再等指

令控制或緩衝區被清空(Flush)的時候,將

資料送往下一個階段裡去做處理。

(34)

34

軟體要求

通常顯示卡廠商會提供GDI(Graphics Device

Interface,繪圖裝置介面)的硬體驅動程式來達成

畫面輸出需要。

而OpenGL的主要工作就是接受這種繪圖需求,

並且將這種需求建構成一種影像,然後再將影像

交給GDI處理,最後再由GDI送至繪圖顯示卡上。

OpenGL的軟體要求必須透過CPU計算,再送至

GDI處理影像,再由GDI將影像送至顯示裝置,

這樣才能算是一次繪圖顯像處理動作。

(35)

35

硬體要求

 OpenGL的硬體處理要求是將顯像資料直接送往繪圖顯示 卡上。  現在繪圖顯示卡技術提升與價格低落的情況下,幾乎每一 張繪圖顯示上都有轉換與燈光(T&L)的加速功能了。  加上繪圖卡上的記憶體不斷地擴充,因此,在繪圖顯像的 過程中似乎都不需要經過CPU和主記憶體的運算了。

(36)

36

D

IRECT

X

現在玩Windows環境下的遊戲時,就不需要做這

些硬體設備的設定了。

因爲DirectX提供了一個共同的應用程式介面,只

要遊戲本身是依照DirectX方式來開發的話,不管

使用的是哪一家廠商的顯示卡或音效卡。

它統統都可以被遊戲所接受了,而且DirectX還能

發揮比DOS下更佳的聲光效果。

當然,在這些前提之下,顯示卡或音效卡的驅動

程式也必須要支援DirectX才行。

(37)

37

D

IRECT

X SDK簡介

 DirectX套件是由「執行時期」(Runtime)函式庫與

「軟體開發套件組」(Software Development Kit, SDK)兩個部份組成。

 當應用DirectX技術的遊戲在開發階段時,程式開發

人員除了利用DirectX的執行時期函式庫外。

 還可以透過DirectX SDK中所提供的各種控制元件,

(38)

38

(39)

39

D

IRECT

G

RAPHICS

DirectGraphics是DirectX9的內建套件之一,它

負責處理2D與3D的影像運算,並支援多種硬體加

速功能。

DirectDraw在使用上與Windows GDI相似且簡

單易學,使用者可以利用顏色鍵作去透空處理。

DirectDraw除了簡單外,要做出相當炫的特效,

還是得自己動手寫。

在3D硬體加速卡如此普級化的今天,運用3D功能

作出超炫的畫面也是輕而易舉。

(40)

40

D

IRECT

S

OUND

DirectSound套件則比MCI功能更為複雜與

多元與複雜,是一種用來處理聲音的API函

式。

DirectSound對於一個音效的播放區分為數

個物件成員,我們僅介紹幾個較為具體的成

員,它們分別是:音效卡(DirectSound)、

2D緩衝區(DirectSoundBuffer)、3D緩衝區

(DirectSound3DBuffer)與3D空間傾聽者

(DirectSound3DListener)。

(41)

41

音效緩衝區

 在DirectSound中的音效緩衝區有2D緩衝區與3D緩衝區兩 種,緩衝區是用來載入音效檔案,一個緩衝區只用來載入一 個音效檔案。  3D音效在播放有幾種可能的移動,一是音源不動,而傾聽 者移動,二是傾聽者不動而音源移動,三是音源與傾聽者一 起移動。

(42)

42

聲音錐

當傾聽者位於聲音錐內時,所聽到的聲音會

比較清楚,如果傾聽者位於聲音錐外,所聽

到的聲音會比較小聲。

而聲音也具有一定的擴散性,我們可以使用

聲音錐的角度來設定。

在DirectSound的設定中,還可以設定內層

聲音錐與外層聲音錐,內層聲音錐所聽到的

聲音會比外層聲音錐所聽到的聲音來得大,

外層聲音錐也可以設定它的音量。

(43)

43

D

IRECT

I

NPUT  DirectInput是用來處理遊戲的一些週邊設備裝置, 例如搖桿、GamePad介面、方向盤、VR手套、力回 饋等週邊裝置。  DirectInput元件對於操作裝置是以「軸」與「按鈕」 來定義,它將操作裝置分為三類:「鍵盤」、「滑鼠」 與「搖桿」。

(44)

44

鍵盤

它屬於沒有軸的操作裝置,而鍵盤基本上具有101

個以上的按鍵,所以鍵盤在DirectInput的定義上,

就屬於「無軸」、「多按鈕」的操作裝置。

使用DirectInput來操作鍵盤比使用Windows事件

處理來操作鍵盤擁有更多的優點。

由於DirectX的成員都可以直接存取目的裝置,而

無需透過Windows的訊息。

所以使用DirectInput直接存取鍵盤裝置,會比使

用Windows事件處理來得反應快速。

(45)

45

滑鼠

 滑鼠是利用軌跡球的滾動或是光線的相對位移(指光 學鼠)來決定其移動量。  所以滑鼠的操作具有方向性,但是滑鼠的移動並沒有 原點依據,它所採用的是「相對軸」。  在DirectInput的定義中,滑鼠屬於「多按鈕」、使 用「相對軸」的操作裝置。

(46)

46

搖桿

 在DirectInput中對搖桿的定義為「多軸」與「多按 鈕」的操作裝置。  無論該搖桿長的多怪異,操作方式多複雜,都將其歸 類於軸與按鈕的操作。  在DirectInput中定義有兩種搖桿類型,一種為6個 軸、32個按鈕的一般搖桿,一種為24軸、128個按鈕 的新型搖桿。

(47)

47

D

IRECT

S

HOW 

DirectShow是DirectX中負責多媒體檔案播放的主

要元件,它不僅使用簡單,更支援MPEG、AVI、

MOV、MIDI、MP2與MP3等多媒體格式。

DirectShow的運作方式不同於DirectSound與

DirectMusic元件,而是透過「過濾器」(Filter)技

術來進行媒體檔案的播放作業。

(48)

48

D

IRECT

P

LAY

DirectPlay是爲了滿足近來流行的網路遊戲而開

發的API,此外也提供網路對談的功能,以及保密

的措施。

DirectPlay可以協助分析出幾種不同的通訊協定

之間的差異性。

如果使用DirectPlay,便可以撰寫一套支援IPX、

TCP/IP、序列、數據機通訊,以及其它不同網路

通訊協定的程式碼,否則就必須自行開發這些不

同且繁雜瑣碎的通訊協定程式碼。

(49)

M

ULTI

-

PLAYER GAME

&

(50)

50

線上遊戲

 隨著科技的發展進步,各種資訊工具不斷推陳出新, 電腦與網路早已成為21世紀人們生活的必需品。  其中寬頻網路的普及,更是改變了人們使用電腦的方 式,功能發展更由原先基本的溝通訊息,逐步擴展至 數據傳輸、交易服務以及休閒娛樂等。

(51)

51

話說線上遊戲

 以目前來說,無論遊戲再如何設計,畢竟其所使用的人工 智慧是有限度的,單機遊戲對戰最後的行為模式畢竟會被 玩家看穿,屆時遊戲本身將會漸漸失去可玩性。  為了滿足玩家,現在許多遊戲都提供網路連線的功能,玩 家所面對的不再是冷冰冰的電腦對手。  在網路的另一端是個活生生具有思考的另一個玩家。

(52)

52

即時戰略遊戲

 稱為Network Game,也就是連線對戰遊戲。  此種連線的遊戲機制是由玩家先在伺服器上建立一個遊戲 空間。  其他玩家再加入該伺服器參與遊戲,有千變萬化的遊戲畫 面、具有團隊競爭樂趣。  目前此類遊戲產品以歐美遊戲軟體居多,例如在網曾經紅 極一時的線上遊戲”CS”(戰慄時空之絕對武力)及世紀帝國。

(53)

53

角色扮演遊戲

 簡稱為Online Game,即是大型多人線上遊戲(Massively

Multiplayer Online Games)。

 為線上遊戲的一種,常簡寫作MMOG ,也就是目前於亞洲

地區造成風潮的遊戲機制。

 主要強調虛擬世界的建構及社群管理,現今較為流行的線上

(54)

54

線上遊戲技術簡介

 網路連線遊戲的魅力在於玩家之間能夠有充分互動。  線上遊戲的製作重點首重遊戲的流暢度。  由於網路軟硬體架構品質不夠統一,因此線上遊戲在開發 時最嚴重的問題在於連線延遲(lag),每一個連結節點出了 狀况,都會影響到遊戲的整體速度。

(55)

55

M

ULTIPLAYER

M

ODES

:

E

VENT

T

IMING

 Turn-Based

 Easy to implement  Any connection type  Real-Time

 Difficult to implement  Latency sensitive

(56)

56

M

ULTIPLAYER

M

ODES

:

S

HARED

I/O

 Input Devices

 Shared keyboard layout  Multiple device mapping  Display

 Full Screen  Funneling  Screen Swap  Split Screen

(57)

57

M

ULTIPLAYER

M

ODES

:

C

ONNECTIVITY

 Non Real-Time

 Floppy disk net  Email

 Database

 Direct Link

 Serial, USB, IrD, … (no hops)

 Circuit Switched (phones)

 Dedicated line with consistent latency

 Packet Switched

 Internet

(58)

58

P

ROTOCOLS

:

P

ROTOCOL

D

ESIGN

 Packet Length Conveyance

 Acknowledgement Methodology  Error Checking / Correcting

 Compression  Encryption

(59)

59

P

ROTOCOLS

:

P

ACKETS

 Packets

 Header = Protocol Manifest  Payload

 Gottchas

 Pointers

 Large/Variable Size Arrays  ADTs

 Integer Alignment  Endian Order

 Processor dependant Intrinsic Types (int and long)  Unicode vs. ASCII Strings

(60)

60

P

ROTOCOLS

:

R

EQUEST FOR

C

OMMENTS

 RFC web site  http://www.rfc-editor.org/  Protocol Specifications  Definitive Resource  Public Criticism  Future Protocols

(61)

61

P

ROTOCOL

S

TACK

:

D

ATA

L

INK

L

AYER

 Serializes data to/from physical layer  Network Interface Card

 Ethernet

(62)

62

P

ROTOCOL

S

TACK

:

N

ETWORK

L

AYER

Packet Routing

 Hops

 Routers, Hubs, Switches 

Internet Protocol (IP)

 Contains Source & Destination IP Address  IPv4

 Widespread Infrastructure

 IPv6

(63)

63

P

ROTOCOL

S

TACK

:

N

ETWORK

L

AYER

: IP A

DDRESS

 Unicast

 Static  DHCP

 Multicast

 Requires multicast capable router

 Broadcast  Local  Directed  Loop Back  Send to self  AddrAny

(64)

64

P

ROTOCOL

S

TACK

:

N

ETWORK

L

AYER

: DNS

Domain Name Service

 Converts text name to IP address

 Must contact one or more DNS servers to

resolve

 Local cache resolution possible 

Game Tips

 Store local game cache to use when DNS out of

order.

 DNS resolution often slow, use cache for same

(65)

65

P

ROTOCOL

S

TACK

:

T

RANSPORT

L

AYER

 Manage data deliver between endpoints  Error recovery

 Data flow

 TCP and UDP used with IP

 Contains Source and Destination Port  Port + IP = Net Address

 Port Range = 0-64k  Well known Ports 0-1k

(66)

66

P

ROTOCOL

S

TACK

:

T

RANSPORT

L

AYER

: TCP

 Guaranteed Correct In Order Delivery

 Acknowledgement system

 Ack, Nack, Resend

 Checksum  Out of Band  Connection Required  Packet Window  Packet Coalescence  Keep Alive  Streamed Data

(67)

67

P

ROTOCOL

S

TACK

:

T

RANSPORT

L

AYER

: UDP

Non Guaranteed Delivery

 No Acknowledgement system  May arrive out of order

 Checksum

Not Connected

 Source not verified

 Hop Count Limit = TTL (time to live)  Required for Broadcasting

Datagram

(68)

68

P

ROTOCOL

S

TACK

:

S

ESSION

L

AYER

 Manages Connections between Apps  Connect

 Terminate

 Data Exchange

 Socket API live at this layer  Cross platform

(69)

69

P

ROTOCOL

S

TACK

:

S

ESSION

L

AYER

: S

OCKETS

Based on File I/O

 File Descriptors  Open/Close

 Read/Write 

Winsock

 Provides standard specification

implementation plus more

 Extension to spec prefixed with “WSA”  Requires call to WSAStartup() before use  Cleanup with WSAShutdown()

(70)

70

P

ROTOCOL

S

TACK

:

S

ESSION

L

AYER

: S

OCKET

D

ESIGN

 Modes  Blocking  Non-Blocking  Standard Models  Standard  Select  Extended Models  Windows  WSAEventSelect

 I/O Completion Ports

 Unix

 Poll

(71)

71

P

ROTOCOL

S

TACK

:

P

RESENTATION

L

AYER

Prepares App Data for Transmission

 Compression  Pascal Strings  String Tables  Float to Fixed  Matrix to Quaternion  Encryption  Endean Order

 When used cross platform or cross language

 Serialize

 Pointers

(72)

72

P

ROTOCOL

S

TACK

:

P

RESENTATION

L

AYER

: B

UFFERING

 Packet Coalescence

 Induced Latency

 Dead Data

(73)

73

P

ROTOCOL

S

TACK

:

A

PPLICATION

L

AYER

 Handles Game Logic  Update Models  Input Reflection  State Reflection  Synchronization  Dead Reckoning  AI Assist  Arbitration

(74)

74

R

EAL

-T

IME

C

OMMUNICATIONS

:

C

ONNECTION

M

ODELS

 Broadcast

 Good for player discovery on LANs  Peer to Peer

 Good for 2 player games  Client / Server

 Good for 2+ player games

(75)

75

R

EAL

-T

IME

C

OMMUNICATIONS

:

A

SYNCHRONOUS

E

NVIRONMENTS

Thread

 Priority

 Suspension  Pooling

Critical Section & Mutex

Signal & Event

Data Sharing

 volatile keyword  Interlocked Inc/Dec

(76)

76

S

ECURITY

:

E

NCRYPTION

G

OALS  Authentication  Privacy  Integrity

(77)

77

S

ECURITY

:

E

NCRYPTION

M

ETHODS  Keyed  Public Key  Private Key  Ciphers  Message Digest  Certificates  IPSec

(78)

78

S

ECURITY

:

C

OPY

P

ROTECTION

 Disk Copy Protection  Costly Mastering

 Invalid/Special Sector Read

 Code Sheets  Watermarking

(79)

79

S

ECURITY

:

E

XECUTION

C

RYPTOGRAPHY  Code Obfuscation  Strip Symbols  Heap Hopper

 Stack Overrun Execution  NoOp Hacking

 Timer Hacking  DLL Shims

(80)

80

S

ECURITY

:

F

IREWALLS  Packet Filter  Proxies  Circuit Gateways

(81)

81

S

ECURITY

:

F

IREWALLS

: NAT T

RAVERSAL

 Port Forwarding

 Port Triggering

 DMZ

(82)

82

S

UMMARY

:

T

OPIC

C

OVERAGE  Multiplayer Modes  Protocols  Protocol Stack  Real-Time Communications  Security

(83)

83

S

UMMARY

:

F

URTHER

S

TUDY  Socket Programming  Serial Communication  Server Design

 Network Gear & Infrastructure  VOIP

 Tools of the Trade

 Unit & Public Beta Testing  Middleware

 Databases

 Web Development

參考文獻

相關文件

volume suppressed mass: (TeV) 2 /M P ∼ 10 −4 eV → mm range can be experimentally tested for any number of extra dimensions - Light U(1) gauge bosons: no derivative couplings. =>

For pedagogical purposes, let us start consideration from a simple one-dimensional (1D) system, where electrons are confined to a chain parallel to the x axis. As it is well known

The observed small neutrino masses strongly suggest the presence of super heavy Majorana neutrinos N. Out-of-thermal equilibrium processes may be easily realized around the

Define instead the imaginary.. potential, magnetic field, lattice…) Dirac-BdG Hamiltonian:. with small, and matrix

incapable to extract any quantities from QCD, nor to tackle the most interesting physics, namely, the spontaneously chiral symmetry breaking and the color confinement.. 

(1) Determine a hypersurface on which matching condition is given.. (2) Determine a

• Formation of massive primordial stars as origin of objects in the early universe. • Supernova explosions might be visible to the most

(Another example of close harmony is the four-bar unaccompanied vocal introduction to “Paperback Writer”, a somewhat later Beatles song.) Overall, Lennon’s and McCartney’s