大家写小游戏代码都是自己想出来的吗,有没有h小游戏参考别人的代码呢

& 写十年代码是一种怎样的体验——因为想做游戏,所以入行
文/Tim Chen
从1990年算起,到现在已经有25年了吧。现在不太写代码了,也就看看别人的代码或者写个console application做点实验验证。
其实我相信在那个年代,学编程和玩游戏是紧密联系的,刚接触编程语言的时候的想法就是为了写游戏啊。小学时基本没接触,到了中学预备班遇到一个同学是我的启蒙师傅,他在少年宫计算机兴趣小组的,传说中的邓摸头(画外音:计算机要从娃娃抓起)就是和他们一起的。我开始学电脑就是跟着他混的,后来自己也去了少科站计算机课外班。
最早就是Apple II上学BASIC。每次去少科站的上机时间很有限,所以我们都是事先在练习簿上写好代码,到上机的时候迅速输入而后抓紧时间调试的。我记得我写的第一个比较完整的游戏就是一个梭哈游戏,在练习簿上写了大概4-5页纸吧。纯文本的,你下个注,然后你的电脑每人发5张牌,比较大小。估计是那时候看的赌神类电影受的影响。我还能记得当时的两个难点,一个是怎么洗牌(后来用的是随机交换两张牌n次),另一个是怎么比较大小,后来是先排序然后比较死板地判断牌型(炸弹,3带2,等等)。
那时候的经典游戏就是crossfire了,居然能在wiki上找到。就是下图这货,IJKL控制移动,ESDF控制往哪个方向射击,非常考验左右脑配合。
后来我又做了个开车躲避障碍的游戏,算是一个“大作”了,也就是有几条车道,用键盘控制左右切换车道,来躲避前方障碍,还可以吃东西。
当时我师傅写了个街霸游戏,就是模仿街机里的街头霸王,只不过是用几个色块表示一个人,可以发波动拳,升龙拳,和旋风腿,非常好玩。要知道这都是BASIC写出来的啊。
后来开始接触DOS和C语言了,然后自己家里搞了台XT-286,装个Turbo C就可以自由编程了。那时候资料实在太少了,所以会写个TSR就算很牛的了,我还记得时钟中断是每秒18.2次,然后设两个计数器,第一个每18次就知道过了1秒,第二个记满5次就要补偿1秒。如果你能搞定XMS/EMS那就是属于特别厉害了。
那时候游戏都很经典,比如这个,三国演义1,智冠的:
这个轩辕剑1,这个县太爷其实是个老虎精变的:
当时我们也想做个大游戏,都企划好了,模仿那是得街机游戏快打名将,主角是机械战警,人设都画好了,招式什么的都想好了。然后我还写了图形库,比如用来TextOut的函数库,那时候在图形模式下是要自己读字库文件然后自己画出你要输出的字符的。
后来我也忘了为什么没有做下去。
那时候还学了dBase,那个东西还是挺好用的,算是Access这种类型的祖先了吧。学那个的主要原因还是时常要给我爸朋友公司做点数据库相关的程序,比如做个员工工资管理系统啊,进销存系统啊,之类的,用dBase是最简单的了。后来慢慢换成FoxBASE,FoxPro。
大概94年左右吧买了modem,开始接触BBS,C-Fidonet。不是Internet,是打电话到别人家里去的那种BBS。估计这里知道的人比较少了。这个是蓝波快信了。
然后有了Internet接入服务,就开始学做网页了,那时基本都是手写html的,不过这也算不上编程了。那时候网站编程基本是cgi模式,做个一个计数器就是用cgi方式。我那时在geocities上做了第一个个人主页。
那时候比较热门的网站有pchome,站长叫Hayes,modem的品牌名。我算是第一批给pchome供稿的人群了。我记得那时就是自己用htm做好网页,包括用到的图片文件,打个包发给Hayes,然后他再放到网站上去。后来听说pchome卖了挺多钱啊,也没给我分点稿费。。。
比较有意思的一个插曲,有天有个Ubisoft的人突然给我发了个email,说看到我在pchome上的东西要找我聊聊,然后我和几个小伙伴就去Ubisoft的办公室了。我们还是高中生,见到了那里的电脑技术立刻就晕了,这个差距好大啊。聊的内容主要是听听我们对游戏的想法啊什么的,当时挺羡慕那里的工作的,觉得这就是理想啊,可惜年纪太小了,高考还没考呢。
后来到了大学里,网站技术越来越成熟了。我们那时候成立个工作室,趁着那时候.com火热,到处接活干。各种技术都用过了,一开始用得比较多的是asp,不是哦,就是手工拼html输出的asp,然后配合ADO和access数据库,算是一种很经济的开发手段了。后来也用过jsp和servlet,php,mysql。那时候基本算全栈了,不光是coding,连macromedia三件套也是熟练运用了。
网站做好了一般是放在电信的虚拟主机服务上,一台主机有多个网站挂在上面。当时大家的安全意识真的很差,用的NT4的服务器,基本不打补丁,好多漏洞。比如那个用Unicode的..\就可以访问到根目录然后就可以调cmd了,还有像SQL注入也是90%命中,因为基本都是在asp里面拼sql语句。我记得有个.com的网站和我们的挂在同一台服务器上,然后我居然能看到他的源文件,里面有数据库连接串啊。。。
那时候也找一些软件公司替他们做外包项目,基本上什么都做,网站啊软件啊都有,还有做flash的。印象比较深的一家叫火速,给他们做得比较多。刚开始合作的时候那家公司没几个人,CTO是个女生,技术上的事就和她谈的。后来听说他们越做越大了,有上千人规模,也挺不容易的。
桌面开发入门的是VB,真的太好用了。后来转到MFC,貌似纯WIN32开发被我跳过了。
毕业工作后基本上就是忙工作上的事了,业余时间不多。有一段时间比较迷p2p下载,就是电驴电骡那个时代。我算是国内第一批接触电骡eMule的,那是个开源项目,用MFC写的。当时看到没人去做简体中文的本地化,就去申请做了简体中文翻译,也就是写个中文的resource文件,电骡启动的时候会载入相应语言的resource文件,也就实现本地化了。后来的各种电骡版本基本上都继承了我最初的翻译,我的翻译有个特征码的,有一个选项叫Beep on error,被我一时脑残翻成“出错时嘟嘟叫”,后来若干年后我随便下了个电骡发现还是这句。。。
之后给eMule开发小组提了不少bug和小段代码,对eMule的代码算是比较了解的了。那时候国内的p2p下载都是基于不少论坛的,我主要在一个叫牛过的论坛,后来分裂了一个叫牛过一个叫汉风。我们一群人做的事就是先到某个ftp下载一个片子,然后放到自己的emule里面共享出来,当然我们的id里面都是有名号的:[CHN][Hanstyle]名字,这样的。
再后来我做了个eMule的mod,提供给论坛用户使用。有什么作用呢?第一会给带特殊标签的用户名更高的优先权。什么意思呢?eMule里面你的上传队列是有限额的,比如同时给10个人提供上传,然后其他人就会在你这里排队。排队的时候每个人就会有个ranking值,随着排队的时间ranking值会变高,这样决定下一个机会给谁。当然会有其他的因素决定ranking,比如是不是好友啊,是不是passive connection啊,然后我那个mod里面就加了另外的因素,比如如果你的id里面带[CHN]就乘个系数,哇咔咔。论坛当时分裂的另一边也做了相似的mod,差不多的策略。
所以你就别奇怪之后电骡里面的人名怎么很多都带[CHN]了,后来的VeryCD版本还自动给你加[CHN]这个tag,我们就是始作俑者啊。现在想想也挺幼稚的,并不公平。
后来mod里面又加了个挺强力的功能,因为论坛想要统计每个成员的下载和上传量做考核用。这个怎么实现呢?上传量这个数据本来就是emule客户端自己统计然后记录在ini文件里面的,很容易就可以篡改。后来想了个很傻的办法,把上传量,你的id之类的数据,加上一个盐,hash一下再保存在ini中,然后定期给一个web服务器post这些信息,服务器那边会用同样的算法hash一下看看是否被篡改。其实这东西很容易破,因为用到的盐和算法都在客户端代码里面,逆向工程就可破了。不过当时用用效果还算不错的。现在想想这不就是PT吗?
然后更新了几个版本我就玩消失了。太累了。后来我又出现的时候已经叫中国驴了,作者acat就是当时隔壁论坛那个mod开发者,和他联系上后又和他合作写了一段时间代码,再后来感觉无爱了就又消失了。说了这么多玩的,再说说工作上的编程吧。我进微软后先做的是技术支持,所以也算不上是程序员吧,主要的时间花在windows的调试(蓝屏啊系统锁死啊之类的),因此大多数时候我是在看代码而不是写代码。几年的时间我也数不清看了多少行windows代码了,可以说是阅码无数,心中有码了。编程主要是做点小工具用来帮助调试,或者是模拟客户环境来试图重现问题。一般就是写个console application调用些win32 api就可以了。有时候会改下windows某个组件的代码,加点调试信息,自己编译一个版本出来,让客户替换上,这样可以在下次发生问题的时候获得更多的信息。也有时候找到个bug,自己先做个fix给客户试一下,如果有效再走正式流程出hotfix。
后来到了产品组,做的职位是测试开发工程师,从Windows Server 2008到R2,再到SQL 12等等,写了好多测试程序。有时候是有现成的测试框架你只需要写测试用例里的代码,有时候就是从框架的测试用例都是自己写。比较有意思的就是不时地想些新方法来测试。比如有一次用Model-based testing,先写一个模型出来描述测试对象,比如要测一个对话框,用一个模型(类)来描述这个对话框的状态以及各种动作(点击按钮),然后模型里面自己计算出各种状态正确的改变方式,同时用相同次序去操作测试对象,然后比对两者结果是否一致。模型建立完善之后,就可以用随机数生成各种各样的测试步骤了,会找到一些你根本想不到要去找的bug。
发现bug后进行调试也是一个必备的技能,因为之前有大量调试经验所以这还是很顺手的,经常是开个bug,自己把bug的原因找到,然后把fix代码做个changelist打包到bug里面,然后dev只要check in就行了。
开发技术上,看到的主要是由C++ native向C#的变迁过程,使用.net的越来越多,产品代码和测试代码都是这样。现在做Azure云服务基本都是C#了。
再后来带了团队,然后测试和开发也合并了,工作重心就转到工程管理上了,想的更多的是做什么,怎么做是正确的,而不是自己去做这件事。有时候一个正确的决定,可以躲过好多坑了。现在带个小队伍,主要做内部工程系统的研发,比如做一个持续开发部署平台,或者做个生产环境的监控报警平台,或者做个云测试平台。做的东西不固定,目标就是提高内部工程开发的效率。做这个最有意思的一点就是没有产品经理啊,自己就是产品经理,自己得决定做什么,什么先做什么后做。
现在代码已经很少写了,最多就是看看code review,有时候心血来潮也会打开windbg调下bug。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮2011年10月 其他开发语言大版内专家分月排行榜第三2010年8月 其他开发语言大版内专家分月排行榜第三2007年5月 其他开发语言大版内专家分月排行榜第三
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本帖子已过去太久远了,不再提供回复功能。刚学完javascript,给大家写个扫雷游戏吧,上千行代码
刚学完javascript,给大家写个扫雷游戏吧,上千行代码
游戏人生昊天
这个javascript游戏不算HTML和CSS大约有一千多行代码吧,和我一样正在学习javascript的可以练练手了,毕竟写游戏也很锻炼逻辑思维能力,多写多练多问即可学好前端开发。这里还是要说一下我的前端学习群:,从我一个人到现在的1731人都是我每篇文章每个特效聚集的小伙伴,可以说都是我们大前端的学霸啊,不定期分享干货。想学到东西的都可以来,欢迎初学和进阶中的小伙伴。完成后的效果图:来看一下他能实现的功能吧:1.游戏难度选择2.游戏时间及剩余雷数记录3.双击或鼠标滑轮键智能扫雷如果点击的方格上的数字和周围插旗的数量相等,那么周围没有点开的方格都会被点开,不相等就会有×的动画4.游戏失败界面5.游戏胜利界面部分头文件代码:部分CSS和javascript代码需要完整代码自己练下的加我的裙:已经上传到群文件了,自己自助下载学习javascript学习是一个时时刻刻需要思考的技能,他并不是一劳永逸的,所以学习javascript需要自己有一个持续学习的心。学习javascript也是有门槛的,就是你的html和css至少还比较熟练,您不能连html这东东是干啥的都不知道就开始学javascript了,学乘除前,学好加减法总是有益无害的。
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
游戏人生昊天
百家号 最近更新:
简介: 我们为你推荐最好的VR资源/资讯.
作者最新文章主题 : 发两个自己写的swift小游戏的源码
级别: 新手上路
可可豆: 39 CB
威望: 20 点
在线时间: 11(时)
发自: Web Page
来源于&&分类
发两个自己写的swift小游戏的源码&&&
学swift+spritekit也有六个月左右了,目前刚刚上架三个小游戏。不知道这里是不是有人在学同样的东西。放出自己之前写的游戏的源码,有一个已经上架,另一个没有提交。大家互相学习多多交流。我的博客:有问题欢迎到百度spritekit吧提问,没什么人很纯净~都是模仿别人的游戏,具体模仿哪个大家自己看下就知道了~ 感谢楼下提醒,附上已经上架的三个小游戏链接: [ 此帖被liuchunyao90在 10:52重新编辑 ]
级别: 新手上路
可可豆: 39 CB
威望: 20 点
在线时间: 11(时)
发自: Web Page
新人没发过贴,就不要什么金豆威望了,大家自己去下吧~~谢谢支持
级别: 圣骑士
可可豆: 836 CB
威望: 881 点
在线时间: 1325(时)
发自: Web Page
回 楼主(liuchunyao90) 的帖子
AppStore链接也发过来啊,帮你加加广告收入
级别: 新手上路
可可豆: 39 CB
威望: 20 点
在线时间: 11(时)
发自: Web Page
回 2楼(cocophey) 的帖子
感谢提醒。忘记了哈哈!
级别: 圣骑士
可可豆: 836 CB
威望: 881 点
在线时间: 1325(时)
发自: Web Page
回 3楼(liuchunyao90) 的帖子
可惜是7.1啊,目前我的机子安装不了呢
级别: 新手上路
可可豆: 39 CB
威望: 20 点
在线时间: 11(时)
发自: Web Page
回 3楼(liuchunyao90) 的帖子
可以了。羊驼那个可以,我上午新版本刚过审核 调整到7.1了。之前的可能还不行
级别: 新手上路
可可豆: 42 CB
威望: 42 点
在线时间: 379(时)
发自: Web Page
级别: 新手上路
可可豆: 39 CB
威望: 20 点
在线时间: 11(时)
发自: Web Page
回 6楼(eggfriedrice) 的帖子
感谢支持,现在论坛好像人气少了很多啊。
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版

我要回帖

更多关于 有没有三人小游戏 的文章

 

随机推荐