查看完整版本: [-- [分享]竣工总结 --]

幻想森林论坛 -> AVG精华文章区 -> [分享]竣工总结 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

h5nc 2006-11-20 00:13

[分享]竣工总结

经过15天*15小时的工作,终于把这部作品用NS演绎出来了!自己高兴一下。
现在把我个人的制作经验分享一下,希望各位能够不至于像我这样无端浪费了很多时间……

本人绝对不是什么达人,说得有错的话望大大加以改正……如果不是鬼话连篇就好……

本作属于AVG,是类似月姬的游戏,重点在于文字部分而不是画面,虽说很多人把月姬当成H来鉴赏……可实际上更重要的是其文字内涵……

首先个人认为最重要的一点是计划,无论如何先要构出模型出来。
不知道大家是怎么编写游戏的,我是先写剧本(类似写小说),剧本中要注意少用长句,省得别人看起来眼晕……然后写作的时候最好就加上谁说的话,可以用任何一种方式。一般AVG至少是要写出说话者的名字的,到时候把这些弄成脚本就会省下时间。如果方便的话就加上@或\……

跑题了……
在写脚本之前一定参考别人的范例,加上自己的思考,设计出最合理的方案。
如果每一个场景切换都用BG,每播放一个音乐都要想原先的函数是怎么回事,这是很不效率的方法。
个人认为一定要定义很好的函数(defsub)。

我在本作中定义的思想如下:
我用背景切换作例子,这是一部分代码
*b
   getparam $191
   mov %187,2
   if $191="e" getparam %187:getparam $191
   if $191="b" mov %187,-1
   if $191="w" mov %187,-2
   trans_bg $191
   c
   if %187=2 bg black,4
   if %187=-1 bg black,4
   if %187=-2 bg white,4
   if %187!=-1 && %187!=-2 bg $194,%187
return

*trans_bg
   getparam $191
   if $191="XX" mov $194,"bg\XXXXXX.jpg":return

这是构造思路
首先b是定义的函数,b <e 效果数字(187)> 背景名缩写191;
切换都是双重的,默认效果是4,可以利用可选关键字e来更改,而且有变黑和变白的直接单层切换。
重点是调用了另一个函数,就是翻译函数,把缩写翻译成全称来显示。
一方面在外面好管理(不同文件夹,后缀等等),一方面内部在不重复的状况下可以简单使用。

我是先写好了这个函数再开始写脚本的。
我的文字量是五十万字,基本上与FATE线翻译版本相同,所以工作量庞大,必须用最简单的脚本语言描绘。

同样,建议立绘,音乐(这个可有可无),SP都弄成简单适合的模式。

我不知道大家习惯怎样处理不同人说话的区别。
首先我的界面是这样的,由于是突出文字,所以立绘的头部以下都是文字显示部分,是20的字*10行。而且似乎没有办法加入空格之类的东西,也很麻烦,所以我用了不同颜色分别显示不同人的话,这样就要定义很多简单的函数了。
我选择的办法是利用名称缩写(基本上是两个字母,除了独白是一个字母)来调用改变颜色函数。
而且像我这样的懒人把br也要重新定义一个叫r的函数……
然后比如一个人叫XX,我不仅定义了XX来改变颜色,还定义了XXr来加上换行。
毕竟我这里文字太多,一点一点写的话累死了。
不过不知道NS编译的时候是不是把所有的defsub展开带入,否则岂不是很耗内存?

继续,我在本作中犯了一个致命错误,就是用作人名的时候把cl命令给冲掉了……
一直到后来才发现,没办法,或者重新替代,或者将就了……

关于选项一点,我不太明白大家都是怎么做得选择分支,也懒得看说明之类的东西,就按照自己的方法选择了。

很多时候会有多个选择,比如睡觉前都要想些什么,想一个之后选择支就消失,直到除了睡觉以外就没有了才直接跳到睡觉……
我用的方法是二进制标示,首先变量x清零,选择了第一个的话变量加1,选择了第二个的话变量加2,第三个是加4,这样随时这个数字都会代表唯一的状态,翻译成二进制可能比较好理解,10100是选择了第一和第三个而没选其余,11001是还差三四没有选……
总之,这种选择分支是这样的思路,如果有好方法的话还请大大们教我。

变量分配一定要在事前进行,而且根据我的理解,%200以上是全局变量,用作全作品中整体的信息。比如说开启某些EXTRA项目,个人设定的东西。
简单说就是不随NEWGAME改变的东西放在这里。
而每个存档都会不同,相互不干涉,比如本个存档中的剧情完成度,事件标示,有的还要有好感度之类的放在%200以下。最好事先分配好一切,并留出足够的富裕。

然后设计好界面,开始写脚本。
我建议调试过程中把文字速度调成零,window切换之类的各种都弄得快点,按照我的方法只需要改几个地方,所以很方便。
调试是很枯燥的过程,我建议一上来就在前面加上goto *now之类的东西,直接跳到该点去调试。
前期不熟悉的时候特别容易出错,一定要有耐心。

这段过程可谓是艰苦,每天15小时的工作让我几乎垮掉了。

minigame这个环节费了我半天的时间,对于跳来跳去很不习惯。
简述一下一般思路
初始化-〉选择-〉判断-〉引发事件-〉更新数据-〉选择……
这样……看起来很简单,但……
一定事先想好过程,需要一定的编程基础……
而且……不得不说NS限定得太死了,用C语言的话几十行就能做到的说,这个浪费了我整个一个文件……

接下来我才做的OP和ED,由于是随着使用随着画人物和CG的,所以OP放到了最后制作。
大家在制作OP和ED的曲子的时候一定要注意标准化……
不过可能大家都有专人的人设和音乐,不像我全是自己做的……
不管这些,一定要标准节奏和标准小节,这样会让嵌入动画的时候很方便。
一定要用resettimer和waittimer来卡准时间,让鼓点准确对应图画切换。
由于NS没有并行的可能,所以不怎么建议太过份的制作,一分钟出头的动画就足够累人了……
当然,我是用了NS内部的指令来作的动画,如果做成AVI的话就不管我的事了……
ED的卷轴没什么好说的,去看怎么用blt就行了。
不过blt的缺点在于没办法跳出,就是响应trap。
主要是for循环中不允许乱七八糟的跳走,所以甚用blt……
或许有解决的可能吧,我不会罢了,貌似AIR做到了?……

我最后做出来的是EXTRA,不想做界面外加方便扩展,所以用了input方式
输入spellword(不是spellcard……)进入相应环节
音乐,CG鉴赏之类的好说,参考别的作品就行了。

本作中加入的是罪状系统(魔界战记……),判断启动次数之类的,通过积累罪状来打开最后的环节Q&A,其中有不少乱七八糟的东西。

然后类似回想系统的东西,我这个不是H,但是有EXTRASTORY,这部分相当于回想。
我使用了是否回想的判定变量,然后在原脚本中加上如果有这个flag就return。
当然,回想是要gosub的……

差不多就这些了,真正完成品还需要等一些,需要做一个AVI的FIRST RUN OP升华主题,然后是冗长的校验……
预定30号放出版本。
估计要有100M左右,不知道谁有没有好的空间推荐。


下面是发现的问题

先说个别现象,lchk到现在也不太会用,貌似是全局的,所以在正经的剧情中似乎不能用。
然后曾经有一次在某个label进行过程中存档后退出取档,结果就跳转回去之后就莫名其妙变化了。
这两个大家无视好了,我也解释不清楚

关键是貌似右键动作只能定义一种,不能根据不同情况改变,当然用别的方法可以实现,但还是觉得不舒服,希望有人能做出标准代码。
然后selgosub中貌似不能选择退出这一项,除非跳到另一个地方去处理之后跳回来再继续运行然后判断是否选择了退出项……
存档的时间乱码是可以修正的,但这就意味着不能使用简单的systemcall……

严重问题,blt之后即使立刻ofscpy,接下来bg也会产生跳跃,似乎是和textwindow有关。
有的时候lsp之后需要click,会在屏幕莫名其妙的位置出现换页的图标(没有textwindow的时候才会出现这样的问题)。
effect不能用左键跳过也就罢了,在effect开始之后按下Ctrl也没有用。
同样,震动也无法跳过。
nega的问题算我不了解,就连日文的那个函数表里也没有写(说起来不能弄个连接吗?那个API Reference……难道会日语的人很少吗……)
其余的就基本上没有了。

我要说,NS限制得很死,你只能按照它的想法做游戏。
但只要用了它的方式,就比任何其他的工具都简单……
所以我用了NS。
月姬是绝对的代表,只用了最简单的功能。
如果你认为游戏只是这样形式的话,就用NS
NS完全不支持并行操作,所以基本上别的功能是很难实现的。
大家在脑中也许有很多很好的幻想,但……
去学编程吧……

如果我还有精力做下一作的话,会自己编写一套脚本的,用别人的还是不舒服。
不过下两个月我应该会做一套弹幕出来……

最后我提醒大家,做游戏要用免费素材,最好是看清日本网站上的利用规约之后再引用,不要随便在别的游戏中截图,而且不推荐中国的网站,很多有着版权问题。
虽然不是商业用途的话就没什么太大关系,但还是希望不要侵权。
真正一点点做游戏才知道,要完成一部作品需要多大的努力。
所以别人的成果也是不要轻视,中国需要这样的尊重精神,虽然是盗版横行的年代……
但,你可以仿照任何一部作品自己画,画出来的东西就是你自己的了,就算与原画一模一样也没有关系,但前提是真正自己画出来的,在画的过程中也许就能明白作画的辛苦之类的了。

期待中国同人游戏市场的振兴……

CountD 2006-11-20 09:40
嘛,补充一点关于NS的测试。
个人之前几作都有在游戏中嵌入秘技,以可以随时调出查看和修改关键开关和变量。( 当然完成的时候还能用就别指望了……哼唧)

单独事件测试则是系统大体完成后,另外复制一个完全一样的工程,然后在那个工程里测试。这样就不用老是修改原工程了。

effect不能用左键跳过也就罢了,在effect开始之后按下Ctrl也没有用。
以上这个,记得NS在define里有个设定命令,用了那个以后就可以跳过效果吧?

h5nc 2006-11-20 09:49
的确的确,还是总版主建议好,我这里跳来跳去的比较多,预定义在start前就用了1000行……忘记说了,我的变数也响应了出来。

那个东西是高速是跳过指令但同样不能解决问题
尤其是title,用一个时间较长的mask作effect的话一旦effect开始就能跳过
然而双击程序运行之后句柄有部分时间没跳过来,所以按住ctrl貌似只有一瞬的时间

接下来似乎是个小白问题,就是0.txt之类的怎么加密啊……总觉得这样表示出来不好……

CountD 2006-11-20 12:40
汗,不是有脚本加密工具么?nscmake.exe那个……
不过我一般再上一层molebox……= =因为NS自带的脚本太好拆了。

弦舞丹青 2006-11-20 14:18
但,你可以仿照任何一部作品自己画,画出来的东西就是你自己的了,就算与原画一模一样也没有关系,但前提是真正自己画出来的,在画的过程中也许就能明白作画的辛苦之类的了。

<-这话有点问题。

CountD 2006-11-20 16:00
构图抄袭也算某种程度的抄袭吧?人设抄袭也是……

弦舞丹青 2006-11-20 21:11
T_T一般情況下有兩種情況,
一種是作為同人的再次創作;一種是作為原創作品的創作.

原創作品採用於版權作品(尤其是商業用)相似的搆圖或者圖素是搆成表達侵害的.比如說之前爆出來的某Taiwan小白漫畫家採用和日本某少女漫畫基本一樣的搆圖套用在自己的作品上,不僅搆成表達侵害還搆成創意抄襲..

絕對不行.

同人情況下比較難說清楚,在版權一方明令禁止同人作品的情況下,不論是再繪製與否都是不道德而且違法的..雖然不見得會有公司無聊跨國訴訟你..單就日本國內是有被訴訟的情況的..

不禁止的情況..
同人作品的再創作實際上要看合理應用的範圍吧..不厚道的撇巴哈那幫人一眼..(MD)純模仿,圖素搆成和筆觸表達相似的圖片是絕對搆成不合理使用的,所以很有可能認為是表達侵害...

h5nc 2006-11-20 21:59
呵呵,这下问题严重了……

的确没有研究过这方面的法律问题什么的……
看来我的东西也需要重新画一下了……
怎么办呢……

h5nc 2006-11-21 07:21
顺便想讨论一下恶搞、参考和剽窃的区别

恶搞的话十月的大葱魔做得淋漓尽致,各种动画一般也都会有突然出现一看就是恶搞其他作品的东西,这个怎么分界?

参考的话,各种同人中经常有参考其余作品的倾向,比如东方的十六夜的能力……

之类的,这些有什么分界线吗?

现在我的作品中有些恶搞成份,然后部分CG参考了各种来源的作品。
但都作了改动

有些人物也是看起来近似的设定(本身设定原案就是参考),但到底要改动多少才算可以呢?

alex_liu 2006-11-21 07:50
好贴。顶顶顶。我是菜鸟,没有发言权,但是有顶贴权

弦舞丹青 2006-11-21 11:39
提到构图参考和恶搞我就想起KERORO。
KERORO最新一卷的画面构图也是参考哆拉A梦的,
但是因为构图成分和图素组成不同顶多就说是参考而已……了。
至于里面针对注册商标的Gundam(钢弹)也可以按避免商标的情况变成Gunbura(钢普拉),
GX78长得虽然和Gundam一模一样,其实还是有小不同的。
而非注册的图片服饰类比如556和556他妹妹拉比的那身宇宙刑事装(注:妹妹是第三部)之类的,虽然具有代表性但是还不具有图像表达侵权.

游戏的数值模仿也是同理.


总之可以避嫌的话最好针对自己的情节做一些小改动(比如细节之类的..),
尤其是注册商标和版权物品的名字什么的要避免.


这问题就法律来讲一点都不严重,
也不复杂..
但是涉及到跨国诉讼的问题对方就要考虑成本和收益了
正所谓天高皇帝远,
抄袭不抄袭纯属道德问题...
我并没有说开版的严重什么的,只是想提一下版权概念了.

CountD 2006-11-21 11:43
关键应该是心态吧,如果是自己想出来的东西和之前其他的撞车了,只能是尽量修改避免这种状况。
如果一开始就是抱着要从别人那里借设计的话,就有点无聊了。

恶搞是故意要让人看出来的相似,而参考就不一样了。很多时候还有人参考了其他东西的设定又不想承认……

h5nc 2006-11-21 11:55
呵呵,那我就把部分图片重新画一下好了。
比如原来我画了一张模仿AIRsummer篇(动画)中神奈被射穿的场景
是想要大家能够唤起相同痛苦的回忆……
或许这样就算比较OK吧,不是要抄袭……

算了,不给自己辩解了……

至少最近出的版本人蛇音乐什么的都是自己来,大家就多多宽容吧……
而且我的画风……到时候大家不要砸屏幕就是……

这次是半月版,只有一条线(相当于fate线),之后完整版再请人设乐师
如果这个半月版能够引来达人就好了……

弦舞丹青 2006-11-21 12:17
期待呀!
AIR的同人么?

h5nc 2006-11-21 18:41
汗……一应视原创的,不是某作的同人……
刚才只是在讨论版权问题……
不过不知道多少人是冲着文字部分来期待的,毕竟我自己画的画简直是涂鸦以下
况且不会涂色,只会随便拉滤镜……

弦舞丹青 2006-11-21 19:31
噢噢~(起哄中)
人有好奇心的啦。越说越觉得有意思,别谦虚了,放点图来看看~

h5nc 2006-11-21 21:50
图的色指定还没拍板,而且要重画一些
不过我先说说自己怎么做得图,以免伤害大家的眼睛……

我不知道怎么构图、上色,一般是用铅笔随便画,头发表情之类的擦了改擦了改直到满意为止
然后用1.5颗粒的卫生纸(就是卫生纸……)擦涂阴影。
这样构造的铅笔稿就有了基本的明暗系统。

接下来用数码相机拍下来………………………………
不能扫描,否则回透……
放到PS中,用Dark Stroke(不知道中文是什么)拉一下……
哇……水墨效果出来了……
不过是黑白的,在任意涂色就好了……

但现在总觉得不上色好……

音乐就更不想说了,没有乐理尝试,全是cakewalk中一个一个音符点出来的……

所以本作重点在于剧情,个人认为满意了。
物色到人设再说吧……

弦舞丹青 2006-11-22 15:20
不能扫描为什么= =?

h5nc 2006-11-22 20:59
如果事铅笔稿的话由于不如钢笔色深,所以扫描之后线稿不容易分清黑白……也许是我家扫描仪的问题吧……

h5nc 2006-11-22 21:47
这是我制作的ED卷轴
这样引用素材参考网址之类的没问题吧……
在下丝毫没有法律常识,也不知道从哪里去学……



h5nc 2006-11-22 21:49
这个……
大家点属性察看图吧……
为什么不行啊!
这里又没有上船附件功能……

sarah707 2006-11-22 22:30
图片禁止访问……OTZ
楼主可以试下这个相册……
http://newphoto.1t1t.com/

h5nc 2006-11-23 08:44
谢谢楼上的大大~
这样的卷轴……不知道行不行。



查看完整版本: [-- [分享]竣工总结 --] [-- top --]



Powered by PHPWind v7.5 SP3 Code ©2003-2010 PHPWind
Time 0.062108 second(s),query:2 Gzip enabled

You can contact us