前言
作為Minecraft老玩家,我對(duì)于Minecraft原版已經(jīng)較為熟悉;同時(shí)作為一個(gè)正在學(xué)習(xí)mod制作的新手,我對(duì)于Git之類的開發(fā)工具也有一定的了解。于是我產(chǎn)生了一個(gè)奇怪的想法:能不能做一個(gè)Minecraft Git Mod?
主要思路
Minecraft Git Mod的主要思路是借鑒Git的版本控制功能。熟悉Git的人都知道,Git有一項(xiàng)比較重要的功能就是合并分支。通過合并分支,可以將不同人作出的修改進(jìn)行合并,從而得到統(tǒng)一的版本。這樣就方便了本地存檔的編輯。例如,對(duì)于同一個(gè)本地存檔,兩個(gè)玩家各自建造不同的建筑,然后將兩個(gè)存檔合并,就得到了包含這兩個(gè)建筑的存檔。
放棄想法
不過,我很快拋棄了這個(gè)想法。主要原因如下:
- Minecraft本身的特點(diǎn)導(dǎo)致其很難合并。首先,Minecraft本身存在時(shí)間系統(tǒng),而不同的本地存檔很可能時(shí)間是不同的;其次,Minecraft存在“實(shí)體”這一概念,主要包括各種生物以及掉落物等,而生物會(huì)四處移動(dòng),導(dǎo)致合并存檔時(shí)無從下手;此外,如果兩個(gè)人在存檔同一地點(diǎn)建造了不同的建筑,那么在合并時(shí)就會(huì)出現(xiàn)二選一的問題,從而導(dǎo)致失敗。
- Minecraft可以多人聯(lián)機(jī)。Git本身就不是為可以聯(lián)機(jī)的游戲服務(wù)的。Git能夠進(jìn)行版本控制,一個(gè)重要原因就是程序員不可能聯(lián)機(jī)寫代碼、同步修改;而游戲則可以進(jìn)行聯(lián)機(jī),不同的玩家同步建設(shè),在這種情況下不需要也不可能使用類似Git的版本控制系統(tǒng)。
總結(jié)與反思
不同的事物有著不同的特點(diǎn),沒有什么統(tǒng)一的規(guī)則能夠?qū)⑺械氖挛锝y(tǒng)一起來。在進(jìn)行開發(fā)時(shí),要遵循事物本身的特點(diǎn),并不是想怎么做就怎么做的。