知乎上有人问:“贴吧都是十五六岁就用引擎写游戏的天才,大家怎么看?”,感觉现在做游戏真实一件幸福的事情呀,不尽想起当年开发游戏的各种艰辛。

现在做游戏很简单,大把代码给你参考,大把框架给你使用,Windows帮你作完了大部分事情。我们那个年纪写游戏时,家里还没有Internet,什么资料都查不到,什么开源引擎都没有,95年左右你要写一个游戏,你起码面临:

  • 同显卡打交道,显卡著名的 ModeX显示模式,估计现在没几个人听过了吧,直接写显卡端口,N多trick才能初始化成功。
  • 直接访问显存,记得当年有个优化是,((char*)0xa0000L)[x + (y << 8) + (y << 6)]=c,把y两次左移相加代替y * 320。
  • 用调色板绘图,256色的调色板,建立若干索引表,来快速索引两个颜色混色的结果。
  • 保护模式编程,自己初始化GDT和LDT,后来找到 dos4gw,牛逼的 watcom c++。
  • 自己实现线程,编程8254时钟控制器,给CPU的IRQ0发中断,来调度不同最多32个任务,到时间靠一条IRET指令实现切换。
  • 自己控制声卡,通过220端口控制声卡(估计也没几个人用过吧),再用DMA传送音频,实现声音播放。
  • 自己实现混音,同时播放多个音源时,需要重采样成声卡格式,并且每次DMA中断时混音后给声卡。
  • 自己播放音乐,利用声卡338端口的 FM Synth合成器来播放MIDI音乐里面不同音轨的乐器音符,并用之前实现的线程系统,在后台线程运行。
  • 大量汇编代码,图形拷贝,图块缩放,RLE,显卡控制,多边形填充,键盘中断接管。
  • 自己绘制字体,HZK16,估计听过的人也没几个了。
  • 自己读取图片,GIF,PCX, BMP。
  • 自己播放视频,自己实现解码播放 animator, 3ds输出的 FLC视频格式的视频。
  • 自己实现脚本,没有LUA,没有PYTHON,但是你需要给你的游戏实现脚本来描述一些简单的剧情,没见过其他游戏是怎么做的,没有任何参考代码的情况下,意识到开发游戏需要靠脚本来提高效率,然后自己实现一套脚本系统。
  • 凭空实现游戏,从来没见过任何一款游戏代码的情况下,自己想想状态机应该怎么写,游戏对象应该怎么同时移动,图像前后遮挡该怎么做,游戏各种逻辑该如何写。
  • 学习美术设计,虽然没有美术功底,但得熟练应用当时常用的animator,3ds,等软件,自己制作一些简单的界面和角色,自己能对其他图片进行二次加工,画像素图,合并调色板。

记住,当初你没网络,没有现在那么多开源软件,书店里书基本都是C语言调用BGI绘图的,偶尔一两本讲显卡原理的,偶尔一两本讲声卡原理的,你就算捡到宝了,《电脑报》《编程技巧与维护》上面,谁发一篇文章教你FLC格式的视频动画格式原理,你可以欣喜弱狂了。

记住,当初你没网友,没有朋友可以交流,很多东西都考仔细观察,猜测和反复试验来完成,我记得95年我看到仙剑奇侠时很惊讶它的效果,根本不知道斜45度图像该如何现实,如何处理遮挡关系,身边没有问不了任何人,然后左思右想,发现远来可以靠 (x+y)进行对象排序,自己一实验,果然成了。我记得92年小学时,写第一个游戏,以前编程都是从头到尾一件事情一件事情的干,想不通十多量飞机怎么能同时飞,当时又没多任务,我也还没实现模拟任务系统,绞尽脑汁,有一天在书上看到介绍UNIX分时系统的逻辑是每个任务运行一小段然后切换,顺着这个思路想下去,终于想通所谓状态机模型,每帧处理每架飞机时根据当前的状态移动一小步,然后更新状态,再处理下一辆飞机。然后兴奋的跑到电脑面前,编码一整天,终于实现。然后拉着同学来自己家玩,看到她们玩的那么兴奋的样子,突然感觉创造游戏,是一件多么令人愉快的事情呀。

当年做款游戏都快要写出半个操作系统来了,整个城市就你一个人在研究这些,老师只会教NOI,书本上只会教你用BGI绘图,没有任何一本游戏开发相关书籍出版,关键是你还在读中学,什么组成原理编译原理,计算机图形学你都没学过,全靠书店几本破书,杂志上的零零碎碎和自我领悟。比起今天的小孩,windows都帮她们做了那么多的事情了,自己买本书,照着书上实现下三角形绘制,模型导入,场景管理,碰撞检查,不懂可以问知乎,不行可以随便上 gamedev.net,游戏写不来可以看人家的代码照着抄,脚本可以用lua,python。简直是生在天堂里呀,有什么值得称道的地方呢?

行业总是要发展的,我也从《编程技巧与维护》《VGA显示原理》。。。和各种杂志上获取了不少知识,当年写这些文章的人,和身边搞计算机的,都比我大很多,我幼小的心灵里总有一份冲动,冥冥之中觉得将来自己肯定能超过他们,这不是因为我看不起她们,异或我狂妄自大,而是只有这样,站在她们肩上,才能对得起大家共同爱好的这个行业,大家共同追求的事业。

而今天,我会尽量利用业余时间,于各处培训游戏开发,帮助大家该如何实现各种东西,目的也只有一个,让今天的小孩将来有一天能够超过我,不是因为她们狂妄自大,异或我妄自菲薄,而是因为只有这样,让她们站在我的肩上,才能对得起大家共同爱好的这个行业,大家共同追求的这个事业。

游戏里的角色都什么格式图片_二十年前是怎样开发游戏的?相关推荐

  1. 游戏里的角色都什么格式图片_游戏里性感的女角色那么多 为什么我们偏偏对春丽念念不忘?...

    1992年日本CAPCOM公司出品了<街头霸王2>,这款格斗游戏迅速风靡全球,成为格斗游戏史的一座里程碑意义的作品.这款游戏之所以能够取得成功,其中很重要的一个原因在于这一版<街霸& ...

  2. 游戏里的角色都什么格式图片_为什么这游戏里别人的都是大白鲨,我却是小金鱼?...

    今天姬要为大家介绍一款十分容易上手,玩起来也相当爽快的休闲娱乐类游戏,它的名字叫做<饥饿鲨:进化>,从操作上来说也可以算是一种节奏比较快的动作类游戏. 饥饿鲨:进化 ★★★☆ 文件大小:1 ...

  3. 游戏里的角色都什么格式图片_Bloom是什么

    你们的评论点赞是我更新的动力啊!!!多点赞评论啊!求你们了! 在游戏的后期特效(PostProcessing)中,有2个最常见的后期. Color Grading(调色) 和 Bloom(泛光/辉光) ...

  4. 游戏里的答题都有哪些类型

    知码网是一家专门做验证码识别和网络答题的网站,我们有丰富的经验,针对经常碰到的网络答题,我们总结了下,游戏里的答题都有哪些类型呢,下面知码网来为您好一点点地撕开这颗被封藏起来的小糖果. 相信很多人都看 ...

  5. 下行文格式图片_帮你填平论文投稿格式修改这个大坑,一文了解三大出版社投稿要求...

    点击上方↑ "新能源前线" ↑关注我 [引语] 科研方法:本专栏旨在为大家整理一些研究方法策略,供大家选择参考. 材料人现在已经推出了很多优质的专栏文章,所涉及领域也正在慢慢完善. ...

  6. 如何用手机打开dcm格式图片_如何防止自己的图片被盗用?这 4 招教你优雅加水印...

    出门旅游一趟,好不容易拍到一组相当满意的图片.想要把这些图片上传到社交平台,如何才能让大家一看就知道这是自己拍的作品,同时又防止盗图呢? 答案是在图片上加上自己的水印,这次有用功将和大家分享下,如何快 ...

  7. 外星人入侵游戏python学习_外星人入侵:使用Python开发游戏

    这是<Python编程:从入门到实践>的第一个实践项目,对应第12-14章,开发了一个简单的小游戏Alien Invasion.虽然对生物狗来说开发游戏这个技能并没有什么用,但初学者用来熟 ...

  8. 3D电影、游戏里的角色是怎么制作的?

    给出人物设定,概念设计师给出一个大概念,然后原画根据概念设计开始制作细化出人物的三视图.在这些任务完成后,我们就要开始将原画给予3D制作人员. 3D建模制作模型 在从原画师手中拿到原画后,建模师的工作 ...

  9. 游戏开场是一个博士在计算机,计算机博士告诉你 为什么游戏里的AI都是猪队友...

    不知道玩家们有没有注意到,尽管游戏画面,动作或者其他的方面都产生了脱胎换骨般的变化,但AI仍是没什么大改变,至今判断敌人厉害程度的方式还是停留观察在血量,伤害,防御上面.到底是为什么不能使AI变得更智 ...

最新文章

  1. Elam的git笔记:(二)git的安装与基本操作介绍
  2. Serverless 时代 DevOps 的最佳打开方式
  3. Web前端开发笔记——第二章 HTML语言 第八节 表单标签
  4. 什么影响了数据库的性能?
  5. 鸡肉和鸡蛋–测试前解决Spring属性
  6. linux 培训6,Linux Syscalls有 6个参数(Linux Syscalls with 6 parameters)
  7. mysql查看版本号_十分钟了解MySQL事务机制
  8. m40型工业机器人_工业机器人选型的9大参数
  9. ThinkPHP5框架接入阿里云短信最新版(原大鱼)的方法
  10. Android 系统性能优化(78)---如何优化您的 Android 应用 (Go 版)
  11. 计算机网络中采用最基本的多路复用技术是,2013年华南理工-计算机网络技术试题...
  12. Java基础 从键盘录入10整数,如果录入了一个0,则提前停止录入,统计已经录入了多少个奇数
  13. 什么是编译器(编程软件)?
  14. centos操作系统镜像文件下载
  15. 中国高纯电子级过氧化氢市场供需调研与前景方向分析报告2022年版
  16. ps怎么撤销参考线_Photoshop120条新手必备技巧
  17. 微服务Spring Boot 整合 Redis 实现好友关注 – Feed流实现推送到粉丝收件箱
  18. js调用打印机打印网页字体总是缩小一号的解决方法
  19. 【短链接】——新浪、百度、搜狐等官方长链接转短链接
  20. python爬取股票网站的历史周价格

热门文章

  1. FPGA异步时钟设计中的同步策略
  2. Sqlite数据库相关
  3. 修改图片背景_用P图软件将图片背景更改
  4. table表头固定4种方法_4种细砂回收的方法分析
  5. python怎么创建方法_python中的__new__方法
  6. java isinterrupted_JAVA多线程之中断机制stop()、interrupted()、isInterrupted()
  7. linux 查询内存和核心数,Linux下查看操作系统信息、内存情况及cpu信息:cpu个数、核心数、线程数...
  8. 4g ecgi 编码_4G学习之IMSI附着
  9. mysql 字段加comments_Mysql添加注释(comment)(转)
  10. 主存块和cache块关系_Cache(直接相联)