自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

二十年前是怎樣開發(fā)游戲的?

開發(fā) 游戲開發(fā) 前端
知乎上有人問:“貼吧都是十五六歲就用引擎寫游戲的天才,大家怎么看?”,感覺現(xiàn)在做游戲真實(shí)一件幸福的事情呀,不盡想起當(dāng)年開發(fā)游戲的各種艱辛。

知乎上有人問:“貼吧都是十五六歲就用引擎寫游戲的天才,大家怎么看?”,感覺現(xiàn)在做游戲真實(shí)一件幸福的事情呀,不盡想起當(dāng)年開發(fā)游戲的各種艱辛。

現(xiàn)在做游戲很簡單,大把代碼給你參考,大把框架給你使用,Windows幫你作完了大部分事情。我們那個(gè)年紀(jì)寫游戲時(shí),家里還沒有Internet,什么資料都查不到,什么開源引擎都沒有,95年左右你要寫一個(gè)游戲,你起碼面臨:

  • 同顯卡打交道,顯卡著名的 ModeX顯示模式,估計(jì)現(xiàn)在沒幾個(gè)人聽過了吧,直接寫顯卡端口,N多trick才能初始化成功。

  • 直接訪問顯存,記得當(dāng)年有個(gè)優(yōu)化是,((char*)0xa0000L)[x + (y << 8) + (y << 6)]=c,把y兩次左移相加代替y * 320。

  • 用調(diào)色板繪圖,256色的調(diào)色板,建立若干索引表,來快速索引兩個(gè)顏色混色的結(jié)果。

  • 保護(hù)模式編程,自己初始化GDT和LDT,后來找到 dos4gw,牛逼的 watcom c++。

  • 自己實(shí)現(xiàn)線程,編程8254時(shí)鐘控制器,給CPU的IRQ0發(fā)中斷,來調(diào)度不同最多32個(gè)任務(wù),到時(shí)間靠一條IRET指令實(shí)現(xiàn)切換。

  • 自己控制聲卡,通過220端口控制聲卡(估計(jì)也沒幾個(gè)人用過吧),再用DMA傳送音頻,實(shí)現(xiàn)聲音播放。

  • 自己實(shí)現(xiàn)混音,同時(shí)播放多個(gè)音源時(shí),需要重采樣成聲卡格式,并且每次DMA中斷時(shí)混音后給聲卡。

  • 自己播放音樂,利用聲卡338端口的 FM Synth合成器來播放MIDI音樂里面不同音軌的樂器音符,并用之前實(shí)現(xiàn)的線程系統(tǒng),在后臺(tái)線程運(yùn)行。

  • 大量匯編代碼,圖形拷貝,圖塊縮放,RLE,顯卡控制,多邊形填充,鍵盤中斷接管。

  • 自己繪制字體,HZK16,估計(jì)聽過的人也沒幾個(gè)了。

  • 自己讀取圖片,GIF,PCX, BMP。

  • 自己播放視頻,自己實(shí)現(xiàn)解碼播放 animator, 3ds輸出的 FLC視頻格式的視頻。

  • 自己實(shí)現(xiàn)腳本,沒有LUA,沒有PYTHON,但是你需要給你的游戲?qū)崿F(xiàn)腳本來描述一些簡單的劇情,沒見過其他游戲是怎么做的,沒有任何參考代碼的情況下,意識(shí)到開發(fā)游戲需要靠腳本來提高效率,然后自己實(shí)現(xiàn)一套腳本系統(tǒng)。

  • 憑空實(shí)現(xiàn)游戲,從來沒見過任何一款游戲代碼的情況下,自己想想狀態(tài)機(jī)應(yīng)該怎么寫,游戲?qū)ο髴?yīng)該怎么同時(shí)移動(dòng),圖像前后遮擋該怎么做,游戲各種邏輯該如何寫。

  • 學(xué)習(xí)美術(shù)設(shè)計(jì),雖然沒有美術(shù)功底,但得熟練應(yīng)用當(dāng)時(shí)常用的animator,3ds,等軟件,自己制作一些簡單的界面和角色,自己能對(duì)其他圖片進(jìn)行二次加工,畫像素圖,合并調(diào)色板。


記住,當(dāng)初你沒網(wǎng)絡(luò),沒有現(xiàn)在那么多開源軟件,書店里書基本都是C語言調(diào)用BGI繪圖的,偶爾一兩本講顯卡原理的,偶爾一兩本講聲卡原理的,你就算撿到寶了,《電腦報(bào)》《編程技巧與維護(hù)》上面,誰發(fā)一篇文章教你FLC格式的視頻動(dòng)畫格式原理,你可以欣喜弱狂了。

記住,當(dāng)初你沒網(wǎng)友,沒有朋友可以交流,很多東西都考仔細(xì)觀察,猜測和反復(fù)試驗(yàn)來完成,我記得95年我看到仙劍奇?zhèn)b時(shí)很驚訝它的效果,根本不知道斜 45度圖像該如何現(xiàn)實(shí),如何處理遮擋關(guān)系,身邊沒有問不了任何人,然后左思右想,發(fā)現(xiàn)遠(yuǎn)來可以靠 (x+y)進(jìn)行對(duì)象排序,自己一實(shí)驗(yàn),果然成了。我記得92年小學(xué)時(shí),寫***個(gè)游戲,以前編程都是從頭到尾一件事情一件事情的干,想不通十多量飛機(jī)怎么能 同時(shí)飛,當(dāng)時(shí)又沒多任務(wù),我也還沒實(shí)現(xiàn)模擬任務(wù)系統(tǒng),絞盡腦汁,有一天在書上看到介紹UNIX分時(shí)系統(tǒng)的邏輯是每個(gè)任務(wù)運(yùn)行一小段然后切換,順著這個(gè)思路 想下去,終于想通所謂狀態(tài)機(jī)模型,每幀處理每架飛機(jī)時(shí)根據(jù)當(dāng)前的狀態(tài)移動(dòng)一小步,然后更新狀態(tài),再處理下一輛飛機(jī)。然后興奮的跑到電腦面前,編碼一整天, 終于實(shí)現(xiàn)。然后拉著同學(xué)來自己家玩,看到她們玩的那么興奮的樣子,突然感覺創(chuàng)造游戲,是一件多么令人愉快的事情呀。

當(dāng)年做款游戲都快要寫出半個(gè)操作系統(tǒng)來了,整個(gè)城市就你一個(gè)人在研究這些,老師只會(huì)教N(yùn)OI,書本上只會(huì)教你用BGI繪圖,沒有任何一本游戲開發(fā)相 關(guān)書籍出版,關(guān)鍵是你還在讀中學(xué),什么組成原理編譯原理,計(jì)算機(jī)圖形學(xué)你都沒學(xué)過,全靠書店幾本破書,雜志上的零零碎碎和自我領(lǐng)悟。比起今天的小 孩,windows都幫她們做了那么多的事情了,自己買本書,照著書上實(shí)現(xiàn)下三角形繪制,模型導(dǎo)入,場景管理,碰撞檢查,不懂可以問知乎,不行可以隨便上 gamedev.net,游戲?qū)懖粊砜梢钥慈思业拇a照著抄,腳本可以用lua,python。簡直是生在天堂里呀,有什么值得稱道的地方呢?

行業(yè)總是要發(fā)展的,我也從《編程技巧與維護(hù)》《VGA顯示原理》。。。和各種雜志上獲取了不少知識(shí),當(dāng)年寫這些文章的人,和身邊搞計(jì)算機(jī)的,都比我 大很多,我幼小的心靈里總有一份沖動(dòng),冥冥之中覺得將來自己肯定能超過他們,這不是因?yàn)槲铱床黄鹚齻?,異或我狂妄自大,而是只有這樣,站在她們肩上,才能 對(duì)得起大家共同愛好的這個(gè)行業(yè),大家共同追求的事業(yè)。

而今天,我會(huì)盡量利用業(yè)余時(shí)間,于各處培訓(xùn)游戲開發(fā),幫助大家該如何實(shí)現(xiàn)各種東西,目的也只有一個(gè),讓今天的小孩將來有一天能夠超過我,不是因?yàn)樗?們狂妄自大,異或我妄自菲薄,而是因?yàn)橹挥羞@樣,讓她們站在我的肩上,才能對(duì)得起大家共同愛好的這個(gè)行業(yè),大家共同追求的這個(gè)事業(yè)。

責(zé)任編輯:王雪燕 來源: skywind
相關(guān)推薦

2015-08-17 08:56:45

二十年前游戲開發(fā)開發(fā)

2020-02-11 15:32:59

2023-05-10 09:16:45

2015-10-27 11:58:38

蘋果微軟

2020-07-12 15:20:56

互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)

2015-03-06 09:36:42

雅虎移動(dòng)

2011-08-22 10:04:31

LAMP架構(gòu)

2020-05-25 14:58:36

程序員自動(dòng)化編碼

2011-08-22 13:23:38

AndroidLinuxLinux內(nèi)核

2013-03-15 16:39:20

BIM

2014-08-29 10:21:15

APM應(yīng)用性能管理

2019-10-11 18:24:02

網(wǎng)站門戶網(wǎng)站互聯(lián)網(wǎng)

2010-05-07 10:40:02

惠普ProLiant云計(jì)算

2010-03-25 10:16:50

Oracle Berk

2020-07-23 22:46:24

服務(wù)器虛擬化企業(yè)

2016-09-04 15:17:02

大數(shù)據(jù)場景應(yīng)用

2015-05-06 11:12:56

思科錢伯斯

2019-12-25 14:33:15

5G革命通信

2021-02-05 20:00:03

國產(chǎn)操作系統(tǒng)操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)