“所以搞得那么热闹,就是因为一款电子游戏?”
“yes!唔,是ganova的新游戏,你这种老头儿肯定是不懂。”
康妮拿起一片披萨。
奶酪将尖的那头压弯,整片披萨都耷拉了下来。
“嘿,这也太薄了。”
“这才是高手的像征,饼皮越薄,越考验师傅的面点技术。”
发酵程度、饼胚比例、炉温控制,这些都是兼职的钟点工做不到的。
工业化的披萨喜欢用厚底,也有这方面的考量在。
因为它太容易标准化了。
保利拿起一片,巧妙地将其摆出漂亮的曲面,送进嘴里啃了一口。
“太惊人了”
居然真的是一块标准的玛格丽塔披萨。 在美国想吃到这么一口,非得去芝加哥或者纽约不可。
只有小意大利才能吃到这么正宗的味道。
“芝士太少了点,而且没有加香肠,也没有培根。”
康妮的口味跟保利天差地别,煞有介事地品鉴了一番,给出了一个味道不错,但料太少的评价。
“eh,美国佬。”
保利撇撇嘴,不理会她的胡扯,
“话说回来,你说的那个游戏是怎么一回事?怎么会跟披萨店扯上关系?”
“si等等,你哪里来的钱买新游戏?”
保利眼角一横,瞥向客厅电视机前插着的游戏机。
看样子今天没有被动过。
“nah,那已经过时了,他们的游戏是免费的!” “好吧。”
他目光落回到桌上那个联名玩具上。
餐后。
在康妮的不情不愿下,保利在她的指引下访问了游戏网站。
【pizzeria】
老爹披萨店。
左上角摆着动视工作室的logo。
“然后呢?”
“点中间的开始键,然后创建一个档嘿!那是我的存盘!别动它!”
游戏内置三个存盘槽,通过novascript实现的localstorage,能够持久化保存数据。 为了避免出现后世fsh的文档权限带来的安全问题。
novascript在这方面处理的非常克制。
同源权限模型。
网站只能访问自己的localstorage,不能越界读取任何超出自己域的东西。
这一层内核的保障,虽然让它在功能性上看似不如fsh好用,但安全性可上升了不止一个档次。
即便真的需要读取外部数据,也可以通过网络请求的方式直接从api拉取数据,而不应该是直接访问文档。
当然更重要的是,这玩意儿无法超出流览器的范围,它无法直接访问硬盘,是专用于流览器本身的数据库。
沙箱化的设计,本身其实包含大量先进的现代网安思想。
‘咔哒’
保利在第二个槽位里新建了一个存盘。
三个选项跟着弹出。
【roy(罗伊)】【joy(乔伊)】【创建一个自定义角色!】 这还用想?
保利都没有尤豫,便直接选择了第三个。
性别、胖瘦、身高、脑袋的大小、五官的位置
整个创建界面比想象中要丰富的多。
甚至可以说是丰富的吓人。
在保利的记忆里,电子游戏的角色创建应该还是过去那种输个名字的阶段。
怎么一眨眼的功夫,这么高级的捏人都有了?
其实整套系统的实现非常简单。
替换贴图,调整宽高比例的缩放,应用配色。
除此之外根本不需要做任何多馀的处理。
所有的贴图都是直接从库里复用的。
客人用的当然也是这一套。 这样一来,没有任何多馀的贴图开支,仅仅少量的代码,就可以实现自由度高的吓人的捏人系统。
至于代码本身,优化起来可就容易得多了。
林立新手搓的编译器,本来就有一键优化的能力。
对开发者们来说,平日里编写的代码自然要以可读性为第一要求。
如果这个代码需要花很大力气才能看懂,那是非常不利于团队合作以及长期项目的。
但这也会出现一个问题。
novascript是解释型语言。
这意味着它是直接存在网站上,随着运行实时编译的。
没经过编译器的优化,它本身会有大量不必要的冗馀。