角色扮演游戏脚本
找到一个超级棒的游戏开发引擎,Java做的,代码不难懂。。。作者的博客在这里。
支持“推箱子”这种桌面游戏(当然逻辑要自己实现,比自己从头搞,工作量只低了一点点);支持对话加选项式的AVG(比如樱花大战、很多日本人做的OOXX游戏);支持RPG(还没有仔细看)
看了一圈,花了不少时间读懂代码,觉得这东西满有前途;代码结构很漂亮,有脚本解析,甚至还支持LUA脚本语言;开源意味着什么都可以定制,比如把Groovy和Jython弄进去应该也不难。
但是想一想,觉得自己写代码难度有点大,特别是自己虎头蛇尾得很。
为了不虎头蛇尾,不如只弄脚本和美工,不到迫不得已(比如要增加道具之类)不去修改代码。
脚本最容易了,也是最有变化的东西,如果写得好,完全可以比得上几千行代码,所以。。。贴一段作者自带的脚本。。。希望看到的同学能够出出点子,一起弄个好玩的脚本出来?
不知道这次会不会又一次虎头蛇尾。
/*
这是一个随Java版AVG游戏开发入门示例发布的脚本文件,用于演示脚本引擎开发的基本原理及应用
*/set bgImage = “image/avg/backgroud/hospital.jpg”
set heroName = “三石.圣光.丁”
set cg0Image = “image/avg/friend/ding/ding0.png”
set cg1Image = “image/avg/friend/ding/ding1.png”
set cg2Image = “image/avg/friend/ding/ding2.png”
set cg3Image = “image/avg/friend/ding/ding3.png”
set roleName = “那厮为金网瘾集中营女医师—上岛床子”
set ecg0Image = “image/avg/enemy/shang/shang0.png”
set ecg1Image = “image/avg/enemy/shang/shang1.png”
set ecg2Image = “image/avg/enemy/shang/shang2.png”
set ecg3Image = “image/avg/enemy/shang/shang3.png”
set content = “”
set mount = 0gb print(bgImage)
//显示三石.圣光.丁惊讶画面到画面x坐标200
cg print(cg1Image) 200
mes {print(heroName)}你说我有网瘾?!但我已不摸电脑好多年,我,我现在只是个养猪的……//三石移动到30
cg print(cg1Image) 30
//上岛床子乱入……250位置
cg print(ecg0Image) 250mes {print(roleName)}哼哼哼哼哼,别狡辩了,根据我们伟大的[<o那厮为金网瘾集中营/>]<r文明用语/>的推断。你的,良民的不是,网瘾的,大大的有!
//变更cg0为cg1
cg print(cg1Image) to print(cg2Image)
mes {print(heroName)}<o那厮为金网瘾集中营/>的<r文明用语/>?!是什么鬼东西?//变更ecg0为ecg1
cg print(ecg0Image) to print(ecg1Image)mes {print(roleName)}放肆!你竟敢说我们尊贵的<r文明用语/>是东西?!
//变更cg2为cg1
cg print(cg2Image) to print(cg1Image)mes {print(heroName)}难道<r文明用语/>还不是东西吗?!
//变更ecg1为ecg2
cg print(ecg1Image) to print(ecg2Image)//变更cg1为cg0
cg print(cg1Image) to print(cg0Image)
mes {print(roleName)}真是傻孩子!<r文明用语/>怎么可能是东西,<r文明用语/>当然不是东西!更何况是我们营长这个<r文明用语/>,那就更加更加的不是东西!//变更cg0为cg1
cg print(cg0Image) to print(cg1Image)
mes {print(heroName)}营长?!你是说,你讲的<r文明用语/>是指你们的营长?!mes {print(roleName)}蠢话!不是我们营长这样身份高贵的人,怎么可能用<r文明用语/>作为尊称呢?<r文明用语/>当然就是指我们杨营长!
//变更cg1为cg3
cg print(cg1Image) to print(cg3Image)
mes {print(heroName)}姓杨?!我想起来了,莫非是传说中的杨~<r哔/>~<r哔/>~?!mes {print(roleName)}孺子可教也,想不到你年纪轻轻竟也知道他这种身份的大人,要用[<r文明用语/>]、[<r哔/>]、[<r不雅词汇/>]这些[<o象征高贵的辞藻/>]来加以尊称。
//变更cg3为cg2
cg print(cg3Image) to print(cg2Image)
mes {print(heroName)}你,你想怎么样?……(可恶,如果是战斗力媲美十大神兽的十二生肖兽之一——[<o羊叫兽/>]亲自介入,就算是我恐怕也劫数难逃了|||)mes {print(roleName)}不想怎么样——毕竟我们也不都是虐待狂,如果我们的网瘾测试你能顺利通过,还是有免于被抓的机会的(哼哼,做梦)。
mes {print(heroName)}见鬼!好,谁怕谁啊,放马过来吧!
//变更ecg2为ecg0
cg print(ecg2Image) to print(ecg0Image)
mes {print(roleName)}接招吧!cg del
cg print(ecg2Image) 20
//显示题目用函数(因为这仅是一个演示用的脚本引擎,故未做传参功能,请自行改进添加)
begin issue
mes {print(roleName)}print(content)
in
A.完全没有
B.很少
C.偶尔
D.经常
E.总是
out
end//题目1
set content = “你多少次发现你在网上逗留的时间比你原来打算的时间要长?”
call issue
set mount = SELECT + mount + 1//题目2
set content = “你有多少次忽视了你的家务而把更多时间花在网上?”
call issue
set mount = SELECT + mount + 1//题目3
set content = “你有多少次更喜欢因特网的刺激而不是与你配偶之间的亲密?”
call issue
set mount = SELECT + mount + 1//题目4
set content = “你有多少次与网友形成新的朋友关系?”
call issue
set mount = SELECT + mount + 1//题目5
set content = “你生活中的其他人有多少次向你抱怨你在网上所花的时间太长?”
call issue
set mount = SELECT + mount + 1//题目6
set content = “在你需要做其他事情之前,你有多少次去检查你的电子邮件?”
call issue
set mount = SELECT + mount + 1//题目7
set content = “由于因特网的存在,你的工作表现或生产效率有多少次受到影响?”
call issue
set mount = SELECT + mount + 1//题目8
set content = “你认为脱离互联网便无法正常工作吗?”
call issue
set mount = SELECT + mount + 1//题目9
set content = “当有人问你在网上干些什么时,你有多少次变得好为自己辩护或者变得遮遮掩掩?”
call issue
set mount = SELECT + mount + 1//题目10
set content = “你有多少次用因特网的安慰想象来排遣关于你生活的那些烦人考虑?”
call issue
set mount = SELECT + mount + 1//题目11
set content = “你有多少次发现你自己期待着再一次上网的时间?”
call issue
set mount = SELECT + mount + 1//题目12
set content = “你有多少次担心没有了因特网,生活将会变得烦闷,空虚和无趣?”
call issue
set mount = SELECT + mount + 1//题目13
set content = “如果有人在你上网时打扰你,你有多少次厉声说话,叫喊或者表示愤怒?”
call issue
set mount = SELECT + mount + 1//题目14
set content = “你有多少次因为深夜上网而睡眠不足?”
call issue
set mount = SELECT + mount + 1//题目15
set content = “你有多少次在下网时为因特网而出神,或者幻想自己在网上?”
call issue
set mount = SELECT + mount + 1//题目16
set content = “当你在网上时,你有多少次发现你自己在说’就再玩几分钟’?”
call issue
set mount = SELECT + mount + 1//题目17
set content = “你有多少次试图减少你花在网上的时间但却失败了?”
call issue
set mount = SELECT + mount + 1//题目18
set content = “你有多少次试图隐瞒你在网上所花的时间?”
call issue
set mount = SELECT + mount + 1//题目19
set content = “你有多少次选择把更多的时间花在网上而不是和其他人一起外出?”
call issue
set mount = SELECT + mount + 1//题目20
set content = “当下网时,你感到沮丧,忧郁或者神经质,而这些情绪一旦回到网上就会无影无踪?”
call issue
set mount = SELECT + mount + 1if mount<40
mes 你有时候可能会在网上花较长的时间”冲浪”,但尚能控制你对网络的使用,因此你属于[<l轻度网瘾患者/>](切,才仅仅这样嘛,不过不要紧,等我来慢慢玩弄他(=‵′=))。
else if mount<70
mes 由于因特网的存在,你正越来越频繁地遇到各种各样的问题,你应当认真考虑它们对你生活的全部影响,因此你属于[<y中度网瘾患者/>](真遗憾,只能使用抑郁性药物,过两天才能电刑……)。
else if mount<100
cg print(ecg2Image) to print(ecg3Image)
mes 你的因特网使用正在给你的生活造成许多严重的问题,你需要现在就去解决它们,因此你属于[<r重度网瘾患者/>]!(哈哈哈哈,能电了,能电了,我要玩死这小子!)。
else if mount==100
cg print(ecg2Image) to print(ecg3Image)
mes 来人啊!快把我的整套SM道具……不,是整套抢救用具拿来!我要立刻[<r挽救/>]这个可爱的小家伙!!!
endifflash 255,255,255
mes {print(roleName)}你是我的了!
shake 20
cg del
cg print(cg1Image)
mes {print(heroName)}救命啊!<r不要啊/>!!!!flash 241,26,26
cg del
mes {路人H}由于这是一个示例,并没有真正完成这个游戏,暂时到此为止。想继续请自己动手丰衣足食……想添加过场特校、按钮、物品栏等组件可以给我blog留言,偶可以抽空帮忙,其余的自己解决……run title
文章的脚注信息由WordPress的wp-posturl插件自动生成





















有点意思
[回复]
admin 回复:
十月 19th, 2009 at 5:58 下午
有没有什么好的脚本的点子?
[回复]
df 回复:
十月 20th, 2009 at 10:04 下午
抹得。。。
[回复]