0133 核心程序
“游戏引擎百分之五,游戏平台我记得同样要抽成,唔……好像是百分之三十?” 石易宁不太记得具体情况了,趁着下载引擎的时候他去几个游戏平台看了看,了解到大概都是三七分账,上下浮动并不大。 这些钱石易宁都不会吝啬,也没办法吝啬,他现在没有时间建立一个属于自己的用户生态系统,那是需要很多年才能经营起来的一个环境。 如今不论是国内还是国际上,游戏市场已经逐渐规范化,尤其是电脑端游方面,玩家通过平台下载游戏已经属于常态,更不用提其他游戏设备! 利用人家平台的庞大客户群体资源赚钱,分成无可厚非,不过倒是可以适当谈一谈具体的比例,做生意本来就是一件双赢的事情嘛。 石易宁觉得这方面有得谈。 思绪飘飞之间,虚幻4引擎下载安装完毕。 点进界面,石易宁脑海中自然而然的浮现出一行行代码,他的双手仿佛不受控制,想要将大脑当中的想法通过键盘输入到引擎当中。 “对,还有一件要紧事……” 石易宁忽然想起另外一件重要的事情,那就是软件著作权。 由于游戏这一类产品是没有专利的,所以只能申请软件著作权。 如果申请软件著作权,需要提交软件的源代码前两千行,还有后两千行,这样一来,这四千行代码就变得极其重要。 不希望游戏核心内容被盗取抄袭,势必要在前后两千行源代码上下足功夫,既要简明扼要又要能够实现非常关键的逻辑需求。 优秀程序员和普通程序员之间有一个区别就是,同样的一个逻辑需求,普通程序员需要写十行代码,优秀的程序员可以只利用三行,甚至两行代码来实现。 石易宁不仅要将重要的内容压缩到前后两千行代码当中,还要尽量压缩整个游戏核心代码的数量,这样做更加能够增加四千行著作权代码的比重! 石易宁起身站到窗户边看向街边路灯,脑海中无数词条、游戏内容、游戏函数交织滚动,大约过了十多分钟之后,他回到座位上敲下了第一行代码…… playerinputorgponent->bindaction(“restart“,ie_pressed,this,&amypacmancharacter::restart); (认得的不要说,我是瞎写的……) 噼噼啪啪的声音从老板办公室内响了起来。 宋林凯在门外听到动静,探头看了一眼,发现死党坐在电脑前面认真的敲击着键盘,旁若无人的状态,保镖大哥对他做了一个噤声的动作。 宋林凯向李杰克点了点头,蹑手蹑脚走到石易宁身边,看了一眼屏幕,心中惊叹。 “这就开始干活了?” 他不懂计算机语言,更不懂游戏引擎是什么,满屏幕花花绿绿的字母和符号在他看来简直比股市的k线图还要混乱,完全摸不着头脑。 看了一会,宋林凯感觉昏昏欲睡,觉得不如去和牛庆昇探讨电脑硬件,就离开了老板办公室。 制作一款游戏,或者说制作一款软件,最艰难的一步并不是编写源代码,也不是测试可行性,更不是检测漏洞,是想法! 也就是所谓的核心底层逻辑,放到游戏上就是核心玩法! 每一款能够成为现象级的游戏,都会有一个打破常规,但是又能够被大众接受认可的核心玩法。 从很早的小霸王红白机开始,就一直是这样。 花里胡哨的外表和皮肤只是锦上添花,这块“锦”才是最最重要的东西,而“锦”就是游戏的核心玩法! 回合制游戏,即时扮演类游戏,开放世界、卡牌、赛车、fps,每一个游戏类型,都拥有鲜明的核心玩法! 而某个类型当中最受欢迎的游戏,一定是将核心玩法开发到了一个极端的高度,让人们看到了前所未见的东西,有了新鲜的体验,才能引发热潮。 绝地求生的核心玩法是极大的随机性和在广袤地图上收集资源,然后在逃往安全区域过程中和敌人交锋,最终取得胜利,体验成就感! 总结一款已经面试的游戏非常容易,可从零到一的创造却无比的艰难! 没有相关的想法,哪怕集合全世界最顶尖的程序员,也没办法制作出绝地求生这款游戏,程序员懂的是计算机语言,不是游戏策划。 石易宁不同,不仅能够灵活熟练的运用计算机语言,脑海中还有非常成熟的游戏内容,知道核心玩法,知道每一件事情需要怎么做,该怎么做,做了之后会造成什么效果。 比如地上有物品,人物就要弯腰拾取,但如果身上的武器配置已经达到上限,就需要忽视。 比如安全区域缩小,游戏人物必须在区域内,否则就会缓慢失去信号值,最终信号值为零便淘汰。(ps:有些设定会用和平的设定,符合环境) 再比如造成随机性的关键因素,游戏开始从飞机上跳伞…… 太多太多的内容。 石易宁一时半会没办法把所有游戏内容回忆明白,他现在完全是凭感觉在编写游戏核心代码,纯粹的就想练练手,毕竟获得技能之后,还从没使用过! 李杰克靠坐在玻璃墙旁,他的眼睛跟不上老板手指的速度,索性从书架上抽了一本杂志看了起来,讲的是女性时装,也不知道瑶瑶从哪里搜罗来的。 夜色渐浓,石易宁仿佛不知疲惫,手指一直在键盘上跳舞,用得最多的键位是←backspace…… 没办法,即便精通了各项计算机语言,哪怕脑海中已经熟知游戏的玩法,非常清楚各项指令之后应该如何执行,在实际的编程过程里,依然会出现大量的问题。 最多的情况就是遗漏。 从整体的情况来看,基本属于输入两行代码,就要删除一行。 编辑程序的过程当中,石易宁彻底体会了“知道”和“做到”之间的巨大鸿沟…… 就好像最基本的枪械操作,他最初只理解是发射子弹一件事,看起来很简单的样子。 可后来一回想,还有瞄准没有写入程序,又加入瞄准,有了瞄准之后又带来新问题,涉及到各个瞄准倍镜,还有倍镜的调整。 不仅如此,枪械操作当中射击和瞄准还只是基本的操作,其他还有切枪、换弹、投掷、丢弃等等。 这里面还没有加入各种枪械,每一把武器在使用时的弹道、衰退、后坐力等等,又是一套专门的逻辑,毕竟每一款枪支都有独特的属性。 人物的操控也是一样,不仅仅是移动那么简单,还有跳跃、近战攻击、控制身位的站立、下蹲、俯卧等等,包括动作之间的衔接。 这些指令全部都是不同的代码,需要考虑全面,漏一个字符都不行! 幸好只要石易宁想得到,就能通过计算机语言实现,而如果换做普通程序员,光是思考如何执行命令实现功能,就需要掰开脑瓜子想好久! 石易宁只负责核心玩法方面的代码,目前没有任何图像,其他员工还没有到岗,他只能用一个个像素方块来替代游戏内的元素,人物动作也很生硬。 偶尔运行代码测试执行性时可以看到。 一个由像素点组成的像素人奔跑在黑色的幕布上,手、手掌、躯干、脑袋、腿、脚都是分开的,因为这些部位遭受攻击之后的效果会有不同,所以必须用不同的模块来组合! 像素小人非常机械的在黑色幕布上奔跑,甚至看不出是在往前还是往后,忽然地上出现一滩东西,仔细看,可以看出是一件由像素点组成的衣服,也就是防弹衣…… 石易宁控制人物走到防弹衣上,像素人弯腰捡起地上的像素点防弹衣然后穿在身上。 一切看起来倒是挺顺畅,意味着这一段代码编写完成,具有可执行性,可以投入使用。 石易宁现在做的工作是编写这些核心指令,后续美工绘制原画,建模师建3d模型,扑捉动作,绑定师将模型绑定到像素点上,就制作出了游戏的大致雏形。 其他的方面,比如登入界面、进入游戏界面、排行榜、商城等等,这些方面石易宁不打算自己亲力亲为,不然恐怕要累死…… 最后的各种优化当然他还要下功夫,图形优化、网络优化、玩法优化等等。 石易宁相信哪怕只有核心玩法,也足够用来获得声望,毕竟那才是主要关键的内容,而核心源代码的构架他不打算让任何人参与! 认真工作状态下,石易宁不会知道,除去给他回复朋友圈的那些人,还有一位美女也看到了他的朋友圈。 那就是曾经在沙滩上,帮他录像并且发布到短视频软件上的方庭妍。 方庭妍家就住在东四环,离着京季餐厅不远,她倒是没有去那里用过餐,但却见过京季的logo,一眼就认出了冰块上的浮雕。 知道石易宁到京城来了,她本来想发一条消息问问,可最后什么都没有发,朋友圈也没有评论,安安静静的来,安安静静的离开,就好像从来没有出现过。