重启

经过了一年的筹备,资金、项目、技术都达到了启动标准。就在这周,人员基本到齐,我们决定劳动节之后正式开工。

目前决定先迅速开发《地牢饿徒》(群友称《小无所依》,我觉得太棒了)。这个游戏的Demo是我从去年6月份开始手搓出来的,给各方大佬看了一下,反馈都比较满意。再加上系统完成度比较高,因此希望借用这个增强一下团队凝聚力和收入。

等到《地》开发完成,我们再参加几次GameJam,《老无所依》的开发就可以稳步推进了。《地》的系统与《老》有许多重合之处,因此可以继承式地解决以前遗留的问题、清除埋藏的陷阱。

希望这份考量能让大家满意。

上上周接受了山东工艺美院的招聘会邀请,虽然并没有从山工艺中招到什么人、学生的热情和水准也非常令人失望,但是济南的游戏开发的热情远超我的想象:在招聘网站上发出招募信息后,在短短两周内有超过二百人来咨询游戏开发工作!这真是前所未见。

比起组建新队伍,我更想要召回之前的团队,遗憾的是这并不容易,并且让人伤心。

现实的引力太过沉重,任何……

毕业的时候导师给我写了两幅字,一幅是白宙文化的标题,另一幅是这样的:

这两字也转送给大家,希望每个人都可以自由选择自己飞翔的方向。

咕咕

想着先咸鱼几天,结果意外地很忙,就没闲下来。本来想来点毕业旅行,因为各种各样的原因(天热是第一)也成不了行。于是在一个月内体会到了学生时代是如何迅速成为历史的——相关的人和事突然就难以抓住了。

总之做了不少事,甚至在哔哩哔哩发了个视频,上次发视频已经是两年前了,想想这两年间发生的事情…… 咕咕的理由还是很充分的。

视频内容其实是取自一套给朋友的游戏绘制的概念设定,画出理想的游戏界面。鉴于可能有些保密环节,就放出来其中一张相关性不太强的内容吧。

硬件购买界面

挺有趣的工作。

这个月主要工作是编程。由于我的能力有限,这半年来看着老无所依的代码实在是有些不知从何下手,梳理脉络也很艰难。所以在六月份解决掉毕业展之后,我决定自己上手、参考老无所依的代码从头写一个更小体量的游戏。

初步设想是做一款专注于物品搜刮元素的回合制地下城生活模拟游戏,和老无所依的机制有重叠也可以互为补充,是一个非常适合我的游戏审美的游戏方案。我将这个游戏的各个流程描述分割为若干小功能,并且争取每天都能有所实现——这样即使我开发能力再弱,一天能实现一个功能,一百天就有一百个功能了。

目前至少知道从何下手了。后续就是提升开发速度,反哺老无所依,并且和值得信任的人类一起开发。在开发过程中,也结合之前的知识写了一些很不错的小工具,在以后都可以广泛地应用于团队批量作业和用户客制化。

能够最大程度地参与游戏开发真的是非常开心的事。也算是终于和自己临时和解,搁置一些烦恼和怨恨,真的用快乐创造快乐。

Whiteverse: Explorer

Whiteverse: Explorer

Whiteverse: Explorer 1.0.0版本发布,嫌字多点这里直接进

两周前,游戏开发准备进入下一个小阶段。

利用一周时间重新画了之前一半的星球,并且新添加了一百余颗,几乎要肝到吐血。一天画它十个星球,一年不就三千六百五十个了?

用一周的时间再次好好琢磨了这两年和程序员对接的痛,感觉做东西还是想法最重要啊。实践类型问题的解法是多样的,只要能坚持解题就好了。总之!还是希望游戏能好好开发,画的图、码的字、做的小工具都不要白费。

关于这个程序的编辑和导出功能,现在仅对知识库认证档案员开放,毕竟是用于游戏开发的;假如您有任何合理编辑需求,或有任何bug和功能建议,请在下面回复或发邮件联系我。邮件会迅速回复。

lunch@whiteverse.com

飯岛换新域名了

fandao.fun

由于计划逐渐拓展,决定将飯岛单个提出并继续深度开发。总之,现在是BETA版本0.7.5了,真是做了很多工作!始终有新的灵感在开发过程中迸发出来,并且一一实现真是有趣。

抢到了看起来还不错的干净域名!折腾了一晚上摁着DNS解析和301重定向使劲,结果查到最后是因为没整好SSL,重新申请了六七个证书解决问题。

飯岛堡盒,设计了看起来装了很好吃的汉堡的盒子用于后续开箱。

最近逐渐找到并驾驭新的美术风格,并且以此为基础设计了新的游戏、与飯岛深度结合。计划起来相当有趣!已经在着手利用闲暇时间开发了。

正则表达式匹配网址url

论坛开发了添加网址的功能,利用正则表达式过滤网址,并转换成需要的格式。网上搜基本都没法用,没用的还转得到处都是,真是浪费时间。

/(((http|https)\:\/\/)?[a-zA-Z0-9\.\/\?\:@\-_=#]+\.([a-zA-Z0-9\%\&\.\/\?\:@\-_=#])*)/

以https://wp.whiteverse.com/wp-admin/post.php?post=1150为例。

转换成数组之后,分组如下:

(
    [0] => https://wp.whiteverse.com/wp-admin/post.php?post=1150
    [1] => https://wp.whiteverse.com/wp-admin/post.php?post=1150
    [2] => https://
    [3] => https
    [4] => 0
)

https://regex-vis.com/还是挺好用的,可以图形化检测这个表达式是否可用。

在测试中发现,有的时候&符号会被吞掉,这时候在表达式中把”\&”改成”&”再进行一次字符串替换就可以了。

在线模拟合成器!

6.1

失真

加了个失真节点。现在可以通过调节包络和失真塑造出打击乐的感觉了。不过能力有限,只能照葫芦画瓢、做很基础的波塑形曲线,像这样👇

失真的曲线公式

结果导致现在没什么可调节的参数,失真的效果也只是有个过载效果器的感觉。

另外还加上了一些皮肤修改功能,调了几个颜色,这样在同时编排多个网页音轨的时候,辨识度就更高了。

渐变映射了一下这样也挺好看的……

5.31

说明书

考虑到大家可能对原理的不熟悉,我写了一下说明书(可关闭),并修复了几个小bug。

现在可以手动输入速度等数值了,这样就可以精准地使用多个乐器演奏啦。

5.29

添加了个小功能:调式音阶修改。目前提供了4种调式:中国民族、埃及、日本和蓝调。配合该功能,可以即时更改当前音序的调式,产生更具有地域色彩的化学反应。简单科普一下以上调式的基本构成:

  • 中国: 1 2 3 5 6
  • 埃及:1 2 4 5 ♭7
  • 日本:1 3 4 6 7
  • 蓝调:1 2 ♭3 4 ♭5 ♭6 7

也算是对不同调式下的科幻感探索,听来好像确实会有情绪的差异。其实我自己的意图是在完善和添加整体功能的同时,还能设计出能够随机出有趣音乐的程序:选择调式是个好的方向;不过想要有更好的表现力,还需要更多的程序功能和个人音乐理解的支撑。

5.28

多亏了给力的队友,我这几天得以从项目开发中喘口气、休息一下。也因此,我利用闲暇时间制作了一个小小的矩阵模拟合成器,一个实验性的小玩具。美中不足的是,我还没有很好地解决移动端的性能问题,几个循环之后声音和绘图就会卡住,所以目前只能用电脑,非常脸红。

首页就可以访问

该模拟合成器由javascript Web Audio API制作,开源(BSD)。

做了一排矩阵音序器,它的随机功能可以提供许多颇有未来感的乐句,后续有空的话还想要加入双振荡器、低频振荡、模拟合成鼓、噪音、录制功能……是的,我想给自己的网站放套机架。

碍于技术实力,立刻实现还有些距离。不过有个简单有效的小方法,就是同时开多个网页,然后找好节拍切入旋律,这样就可以同时有多个声部演奏,相当带感。初听会感觉怪怪的,如果能沉下心来好好感受这个简易的酸性(Acid)音色的振荡,精神也会为之一振的吧。

功能就介绍这么多。我主要想隆重展示示波器和摇滚哥布林,这个哥布林抖得闷骚,我很满意。 这给了我一些很有趣的制作灵感……结合音乐的视觉化表现探索?可真好玩。

5.24

第一版合成器出炉。

本周工作总结

上周紧张上火,牙疼得厉害。去医院一看:阻生牙该拔了。

牙 -2

喝了一个星期的粥。前天拆线,才算是解放了。

其实有两颗但是一颗碎了

这一周在重新制作游戏的本地化,整理了全游戏的文本,搞出来五万个条目,几十万字的文本量——并且翻译成英语和繁体。游戏本身是双语环境开发的,英文翻译在实现上工作量不大,无非是查漏补缺。但是繁体,也就是所谓的台湾习惯并不是简单的一键转换这么方便。毕竟简体字合并了很多繁体字,稍有不注意就会出现週先生吃餅幹这种让人看笑话的情况。所以基本上是一条一条检查下来,眼睛要花了。总之希望繁中区不要太严格。(虽然后来发现其实有很多好用的工具。)

除此之外,还预留了额外的语言槽位,希望这样的努力不会白费。

双语开发的坏处就是语句结构会被两种语言互相影响,简单来说就是用英语习惯写中文,最明显的例子就是这篇文章👆。意识到这一点时还是很苦恼的,以后多加注意。


前几天给游戏写了主题配乐。自己写是因为我 便宜的看不上,贵的买不起 有极强的创作欲望,想要有更多方式抒发自己的情绪。

关于音乐,我的计划是这样的,在将来,我们会有更专业的音乐创作团队,让游戏里的曲目大量增加。在游戏中,玩家需要不断收集磁带来获得新的游戏音乐,而一些追加的独立音乐人的音乐会以DLC的形式出售电子专辑,这样也可以鼓励持续创作。

购买追加音乐包之后,磁带就会添加到游戏中。我记得之前也有发过相关日志,画了几个磁带来着。

不得不说,我真的是P社买齐了所有DLC的忠实粉丝,算是有被我学到。


接着是一些美术上的工作。

为了demo的效果表现着想,这周利用闲暇时间重制了部分基础枪械。主要是之前的版本对比度和饱和度都过低,且缺乏体积感,有种不属于当前分辨率(16x)的劣质感(8x)。有趣的是,我们的眼睛(和审美)对于游戏中的分辨率不匹配的容忍程度出乎意料地高。

下面从修改的枪中挑出几个,介绍一下V冲枪族——

改前(左)- 改后(右)

V冲枪族是极光工业(Aurora Industry)荣誉出品的冲锋枪系列,原型型号由封尼尔星间军(VIF)委托极光工业设计制造,后来随着战事的不断升级,与瓦拉克军团(the Valak legion)深度合作的极光工业陆续改进出了多个枪械型号。而火蜥蜴版本是封尼尔帝国火蜥蜴军团的特别委托研究(涂装)成果。

资源重制任重道远。另一方面也说明一直在进步嘛。( 不过在团队美术多于一人的情况下这种行为还是挺危险的。)


就写这么多吧,下次再讨论同时在做的其他游戏和Gamejam的事情。

改改设备

首先是祝自己劳动节快乐。在这个日子里更要为自己辛勤劳动!

之前的美术(呜)这两天提交了以前忘记传的资源,由于跟现有的风格并不非常契合,所以进行了一定程度的修改。想兼顾像素风和真空管朋克真的不是很简单。

调一下颜色、添加一些小细节

得意洋洋地传动画。Unity的动画真的很好用,我已经开始利用它制作游戏概念设计动画了(真是不知道该高兴还是该愧疚因为并不能直接做出来游戏)。

控制机械启动过程的动画表

似乎是一个很后期的机器。看起来就很复杂的样子。没错!这是物质拼装机,星移工业的最尖端技术的开源版(意思就是设计图纸被黑客偷了)。

星移
工业

输入蓝图、材料。输出拼好的东西。嗒哒。

深夜的工作总结

这两个月工作室经历了有史以来的最大危机,不过好在还是顶得住,谈谈开发状态和想法吧

一 美术

新加入的美术成员(2) 非常给力!我们一起添加和重制了包括特效、物品、星球、农作物等等大量美术资源。

看饿了

其中最显眼的一点是,我们将所有的资源的对比度和饱和度都做了提升。好在我冰雪聪明写了批处理,不然要被重复劳动累死。

重新审视一下之前一直坚持的高级灰,感觉看久了果然还是会有些视觉/审美疲劳。其实主要问题在于,像素游戏的细节本来就不充分,如果再不从色彩上拉开对比度/饱和度差距,那就很难让人抓住重点了。

不过,因为工作量实在是够大,涉及内容过于广泛,就不在这里过多透露了,具体还是在游戏(也许二月初会有Demo 0.03)中体验吧!

二 光

要有光。讲一个秘密:我对光效的追求始于立项。

两年间,我们根据其时进度制作数次游戏概念图,每次体现的特效都会引起我的担忧:到底我们有没有这样的技术力实现呢?

2019年7月的概念图

可以发现其中的角色经历了数次修改、设备内容也发生了巨大的变化。基本上那段时间制作的美术内容全部推翻了。以后有心情可以把之前的角色设定总结一套发展史单独开一篇。

2021年5月的概念图,注意右下角的辉光屏幕

说实话我个人对外发光并不感冒,大部分情况下,可以算得上是足够廉价……但是,我无法否认它真的很出效果!霓虹加像素,其绝配程度堪比土豆配牛肉。

也因此,我们升级并采用了新的渲染管线URP(Universal Render Pipeline),重新调整了所有物体的普通材质和发光材质、增加了酷炫且可控的光效!

全新的光照系统,你当然可以安装吸顶灯!

以后,玩家的飞船将需要安装灯具来点亮,而下个版本将加入更多有关灯光的玩法!比如影响人物心情的亮度状态、受光照影响的植物、房间亮度和美观度评级等等。

最近在bilibili做的画画素材,放进Unity并实现了光照效果

后果就是、之前画的很多细节更不容易被玩家注意到了!

三 战斗

多亏了一个朋友及时的出手相助,在我陷入窘境的时刻站出来帮助我完善了战斗系统!其中包括NPC的AI逻辑、技能和数值体系的实现。

黑帮火并,县长暴死

战斗系统真的很让我头疼。如果翻阅这个博客,不难发现本作的早期设计是Mud类模拟游戏,究竟发生了什么,让这样一个纯文字养成游戏变成了今天这样的俯视双摇杆(Top-down twin sticks) RPG了呢?

大概一切都在朝着老本行的方向疾驰吧。

开玩笑的!现在这个游戏是双核心机制(SIM + RPG),且开发重心依然(应当)在模拟系统——一句话概括就是:沉浸式·世代飞船·船长·模拟器

四 感想

前两天看某网友讲“连续工作三十天,整个人的心情和脾气都到了一触即炸的状态”之类的话,感觉其实还可以吧!目前状态是每日三分之一的时间用于休息,剩下的时间高强度创作,感觉身体非常强壮。比较心痛的是,玩游戏的时间和心情变得相当稀有!除了非常讽刺之外,这还是心态变老的标志,一定要多注意。

我们这一代人给自己施加了太多不必要的压力,被灌输了太多不属于自己的焦虑,能做自己愿意做的事情应该是幸福的,而获得快乐也不应该是可耻的。

对于我来说,坚持做游戏是因为觉得这件事很有趣,但是如果能和朋友一起做就更好了,至少不会觉得太寂寞。如果说我有什么梦想的话,也许是这个吧。

专业瓷砖设计施工

这两天搞定了瓷砖(tilemap)和智能瓷砖的差异化,再也不是千篇一律的纯色了,增加了不少质感。虽然这项功能在一年半前已经实现,但画面效果一直在瓶颈期。最近下定决心着手这个问题,想不到两天就解决了。

一个简单的树篱迷宫

瓷砖(Tiling)方面一直以来困扰我的有两个问题:瓷砖智能化和单一瓷砖的多样性。

第一个问题在于,在这样的2d游戏中,存在多种瓷砖拼缀的场合,但是想要拼得好看、拼出自动化的边界,是个相当麻烦的事情。以一个正方形瓷砖为例,中间的白色是其本身,周围的红色是“必不相邻”,蓝色是“必定相邻”,白色是“无所谓”。这样算下来可支持比较精细的拼接模式共有46种。

也就是说,画一个智能地砖,要额外制作45个变体。

根据这样的规则,如果不是有非常极限的场合,可以说,完美的智能地砖诞生了,只需要选取一个笔刷,就可以自由地画出连贯的、自动匹配内容的智能地砖。

地砖【负载】,总是出现在演示视频中。

这个问题已经解决了近两年了。为什么今天要重新拿出来讲呢?因为它涉及到第二个问题:

多样性

虽然有46种高频率模式,但从本质上来说,对于地砖只有两种是出现频率最高的:

独体和内含

其中后者是最常出现的。而对于墙面来说,又加上了两个:

横向和纵向

在制作这种地砖时,除去第一种独体,后面三种常常出现大量连续排列的情况。该模式存在的任何“独一无二”的花纹/划痕/肌理都会被不断重复以至于美感丧失。所以需要随机图案。

就像3d游戏中相同一棵树的建模需要至少四种形态以最低程度地避免重复感的产生一样,相似却又不同地砖也需要至少四种。因此我为某些常用地砖的常用部分绘制了大量的变体。以当前的草坪版本为例,一块纯绿色为基本地砖+120种纹理变体。

一片平平无奇的草坪

同时,为草坪的生成引入了柏林噪声(Perlin Noise)。柏林噪声的特点在于:乱中有序。这意味着可控的随机——让我欲罢不能的观念。

地形、墙面、地面都是同理;这仅仅是一个开始。后期还会加入更大的、有环境区别的、可交互的地表资源,如身体经过会晃动的草、滚来滚去的小石子、忽明忽暗的蜡烛等等。

为了庆祝这个问题的完美解决和工作流的建立,我画了一个树篱墙,并放进了游戏。这让我想起来小时候天天在课桌底下画迷宫和冒险游戏地图的时光,那时候真是爱编故事啊~!

现在也爱。