美文网首页游戏开发者
《游戏开发设计模式》#3 - 序言

《游戏开发设计模式》#3 - 序言

作者: 查理猴 | 来源:发表于2014-04-26 00:43 被阅读267次

五年级的时候,我和我的朋友们接触到了几台年久失修的TRS-80s。为了启迪我们,一位老师给了我们一些打印好的BASIC代码给我们尝试。

这些电脑上的磁带读取器已经坏掉了,所以当我们想要执行一段程序的时候总是得从头输入一次。这导致我们编程时只喜欢写很短的几行代码:

10 PRINT "BOBBY IS RADICAL!!!"
20 GOTO 10

这种艰苦的学习方式告知了我们简短代码的价值。

尽管如此,这样的编程过程仍然是忐忑难行的。我们当时并不知道怎么编程,所以任何一个简单的语法错误就会导致我们卡壳。如果程序没有正常运行起来的话(这种悲剧经常发生),我们就必须从零开始。

在这叠打印的代码的后面有一只真正的怪物——一段占满了大叠纸张的代码。在鼓起勇气开始键入这叠代码之前我们犹豫了很久,但是它实在是无法抗拒——这叠代码的标题上写着《隧道和巨魔》。我们不知道最后这段代码运行起来的模样,但是这个名字听起来像是一个游戏,难道还有比在电脑上运行一段自己编写的游戏更酷的事情吗?

不幸的是我们从来没有让这段代码运行起来,一年之后我们便没有再去那间教室了。(多年之后我理解了一些BASIC,意识到那段代码是一个桌游的角色生成器,并不是一个完整的游戏)但是从此之后我便一发不可收拾的想成为一名游戏程序员。

在我青少年时期,我家里有了一台装有QuickBASIC和THINK C的Macintosh。我暑假的所有时光几乎都用在了它上面,琢磨着怎么编写游戏程序。自学的过程十分的缓慢和痛苦。我很快就搭建起了一些东西——可能是一个地图界面,或者是一个棋盘——但是当我想在它之上添加特性的时候便一头雾水。当我无法把整个程序在大脑中梳理清楚时,它也就完蛋了。

我的其他一部分业余时间还花在了从南路易安娜州的沼泽地里面抓蛇和青蛙。如果屋子外面的天气没有那么热的话,可能这就是一本爬虫类生物著作而非程序开发的书了。

最开始将东西绘制到屏幕上便是头等难题。现在尝试将庞大的代码在脑子里面理顺则成了新的难题。于是我开始寻找如何组织代码的书籍,而非尝试去阅读“如何用C++编程”。

前些年,一位新朋友递给我一本书——《设计模式:可复用面向对象软件的基础》。终于找到了!一本我青少年时期就一直想要的书。我才开始读的时候根本停不下来,我依然为我的代码犯愁,但是看见别人也因为同样的问题犯愁并且得到了解决方案,让我如释重负。我终于感到现在的我不是手无寸铁束手无策了。

未完待续……

相关文章

  • 《游戏开发设计模式》#3 - 序言

    五年级的时候,我和我的朋友们接触到了几台年久失修的TRS-80s。为了启迪我们,一位老师给了我们一些打印好的BAS...

  • 《游戏开发设计模式》#0 - 开篇

    本人是读着各种技术书籍长大的万千码农中的一只,深知文字的力量。但不幸的是一只经验不够丰富的码农又选择进入自己深爱的...

  • 《游戏开发设计模式》#2 - 目录

    Introduction - 序言 Architecture, Performance, and Games De...

  • 《游戏开发设计模式》#1 - 关于本书

    嘿、游戏开发者们! 你是否还在因为所有的代码耦合在一起而抓狂? 代码库越来越大,根本无从下手修改? 整个游戏代码乱...

  • 设计模式

    什么是模式 引用《Java与模式》 模式化的过程就是把问题抽象化,在忽略掉不重要的细节后,发现问题的一般性本质,并...

  • 设计模式-策略模式

    策略模式,你有多少个if-else,就有可以写多少个策略模式——只要他值得 策略模式,又是一个我几乎在各个角落都有...

  • 设计模式–组合模式

    当你脑海里出现一棵树的时候 所有的例子均来源与实际开发项目 本节介绍组合模式的使用–商品结果排序评分系统 首先还是...

  • 设计模式——模板模式

    最近在写的采集框架,为了实现功能扩展,采用了大量的配置文件。这就造成了每添加一个站点都需要手动配置大量参数。对这种...

  • 【设计模式】使用设计模式来解决设计问题

    选择对象 面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、粒度、依赖关系、灵活性、性能、...

  • 设计模式-单例模式

    1.什么是单例模式?Singleton的英文意思是单独,也就是一个人,应用在面向对象语言上,通常翻译成「单例」,单...

网友评论

本文标题:《游戏开发设计模式》#3 - 序言

本文链接:https://www.meiwen.com.cn/subject/vhqrtttx.html

栏目导航