赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 2650 |
最后登录 | 2020-3-22 |
在线时间 | 1 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 66
- 在线时间
- 1 小时
- 注册时间
- 2005-11-4
- 帖子
- 358
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
终于又想起3年前那个臭名满天下的[圣灵传说-爱诗蕾拉]了,目前有个初步的构思,打算以那个游戏第3剧本的内容为基础制作一个新的小游戏.
---------正题分割线----------------
剧情:衔接爱诗蕾拉第2剧本的结尾,神开始了回收地球的行动,作为人类的唯一希望-魔族和人类联手抵抗神的进攻.为了彻底解决人魔组成的地球联盟,神在月球背面建立了一个巨大的传送门,大量的战神通过那里来到太阳系.玩家将扮演一个普通的人类士兵,和大家一起掩护曙光号战列舰攻向月球.
游戏舞台:游戏从地球轨道上的空间站开始,经过茫茫宇宙最终到达月球,之后围绕月球半圈后到达月球背面.游戏的年代是201X年,魔族为了维持神于魔的平衡而决定帮助人类,他们给予了人类强大的魔法和尖端的科技.
游戏类型:空间即时战略 和/或 空间飞行射击,并带有RPG的剧情过度和/或策略因素.目前系统雏形已经完成,最后会选择之一或之多来制作.
游戏实际上是从另一个角度详写了爱诗蕾拉中的地球保卫战(爱诗蕾拉里为一串CG带过),计划爱诗蕾拉里的主角们会以NPC的形式出现.游戏可能会有3个结局,一个是爱诗蕾拉的标准结局[反击战失败,主角们暗杀天神成功],两个截然相反的新结局.
游戏玩点:各式各样的战斗机并可以自由搭配零件,上百人的超大规模即时混战(如果不会卡死的话)等.
----------技术分割线-------------
游戏剧本什么的都还没成形,之所以想起做这个是因为羽落的一个RTS系统宣布放弃了,正好拿来做个小游戏废物利用下.暂时也没什么可发的,也不清楚这个游戏什么时候才能完成,会不会缩水也不知道.最后发下这个游戏的部分笔记和一段完成的小脚本,有点游戏经验的人应该一眼就可以看出这个游戏如果这么完成的话会是什么样子了.
$pvk_fighter作战单位的定义[50]
0单位总数,1坐标X,2坐标Y,3坐标Z,4贴图名,5为0时不存在朝向效果,6为负时不存在3D透视效果,7最大HP,8目前HP.9最大MP,10目前MP,11目前SP,12最高速度,13加速度,14目前速度,15阵营,16活动类型(1=队长,2=队员,3=独立,4=混乱),17小队编号,18是否攻击次要目标(1=是),19单位是否存在(1=是),20单位的ID,21单位的目标ID(同阵营为守护,不同阵营为攻击,为0待机,为-1补给,-2逃跑,-3自杀,-4移动),22移动到X,23移动到Y,24移动到Z,25是否玩家控制(1=是),26必杀技种类,27是否VIP(0=杂兵,1=全部失去后失败,2=失去一个后失败),28是否AI管理(1=是),29能否被维修及逃跑(1=是),30队员在队伍的位置(只当[16]=2时有效,数字为1-4),31第一武器类型,32第一武器威力,33第一武器冷却时间,34第一武器剩余HP,*35-46第2-4武器*,47巡航引擎功率(关系到最高速度,100),48机动引擎功率(关系到加速度,100),49特殊模块(比如:修复模块,防御场模块,超空间跳跃模块等,模块无法修复),50动画进程......(之后从1开始循环)
武器的定义[21]
ID=1:0保留,1能否攻击次要目标(1=是),2威力修正(0%-无穷大%),3子弹类型(0=瞬发,1=永不失去目标,2=会失去目标),4子弹贴图(如果[3]=0,就是击中后效果),5子弹飞行速度,6子弹存在时间,7受干扰的最大距离(只有[3]=2时有效),8杀伤半径(0=无面杀伤),9武器最大射击距离,10武器最小射击距离,11武器冷却时间,12武器维持时能耗,13武器射击时能耗(射击1次的消耗),14武器发射的后坐力,15武器的最大HP,16对子系统破坏的概率(子系统=武器+引擎,0-1000),17对子系统的有效程度(0%-无穷大%),18对特殊模块破坏的概率(0-1000),19面杀伤是否无差别伤害(1=是),20丢失目标后是否攻击友军(1=是),21子弹音效(如果[3]=0,就是击中后效果)
$pvk_shoots子弹的定义[21]
0子弹总数,1坐标X,2坐标Y,3坐标Z,4贴图名,5能否攻击次要目标(1=是,并可能攻击友军),6威力修正(0%-无穷大%),7子弹类型(1=永不失去目标,2=会失去目标),8子弹飞行速度,9剩余存在时间,10是否存在,11受干扰的最大距离(只有[7]=2时有效),12无差别杀伤半径(0=无面杀伤),13对子系统破坏的概率(子系统=武器+引擎,0%-100%),14对子系统的有效程度(0%-无穷大%),15对特殊模块破坏的概率(0%-100%),16保留,17保留,18目标ID,19动画进程,20是否为非子弹效果(1=是),21攻击时音效名......(之后从1开始循环)
模块的定义
ID=1:0保留,*1-2保留*,3修复他人的半径(0=无法修复),4项目[3]的能耗,5是否能量无限(1=是),6这个模块能否被破坏(1=是),7制造什么单位(0=不能制造),8功能[7]的SP消耗,9将伤害减少到(100%-0%,0是无敌),10功能[9]的能耗,11是否具有逃离点功能(1=是)
$pvk_player玩家控制的队伍的标签定义
0保留,1小队1队长的ID,2小队1队长的卡片号,3小队1队长的返回信息(0=没有返回,1=安全返回),4小队1队员1的ID...61,英雄的ID,62英雄的返回信息(0=没有返回,1=安全返回)
$pvk_buld中立物体的定义[10]
0单位的总数,1坐标X,2坐标Y,3坐标Z,4贴图名,5为0时不存在朝向效果,6为负时不存在3D透视效果,7动画进程,8剩余存在时间(为负时永不消失),9是否存在,10保留...(之后从1开始循环)
#$pvk_move[]输入格式:0=速度,1-3移动者坐标,4-6目标坐标,7头朝向
#$pvk_move[]输出格式:0=新距离,1-3移动者新坐标,4-6目标旧坐标,7头新朝向,8旧距离
class Pvk_man
def sys_1 #$pvk_man[]输入格式:0执行类型,1-3新单位坐标X-Z,4单位编号,5单位阵营,6能否被维修及逃跑,7VIP标签,8初始目标ID,9目标位置X,10目标位置Y,11目标位置Z
ziliao=[nil]
if $pvk_man[4]=="范例"
#ziliao=[0贴图名,1是否存在朝向,2是否存在透视,3最大HP,4最大MP,5最高速度,6加速度,7是否可以自由攻击,8必杀技ID,9第一武器编号,10第一武器威力,11第二武器编号,12第二武器威力,13第三武器编号,14第三武器威力,15第四武器编号,16第四武器威力,17特殊模块编号,18单位名称]
end
if $pvk_man[4]==1
ziliao=["ship_1",1,0,2000,500,50,3,1,0,1,50,0,0,0,0,1,0,0,"nane_1"]
end
#==================================================#
#***************下面开始生成新的单位***************#
#==================================================#
a=$pvk_fighter[0] #取得目前单位组的长度
b=$pvk_fighter_id+1 #申请新的单位ID
dz=a*50 #新单位即将写入组的地址
fighter_temp=[nil,$pvk_man[1],$pvk_man[2],$pvk_man[3],ziliao[0],ziliao[1],ziliao[2],ziliao[3],ziliao[3],ziliao[4],ziliao[4],0,ziliao[5],ziliao[6],0,$pvk_man[5],nil,0,ziliao[7],1,b,0,0,0,0,0,ziliao[8],0,1,$pvk_man[8],0,ziliao[9],ziliao[10],0,0,ziliao[11],ziliao[12],0,0,ziliao[13],ziliao[14],0,0,ziliao[15],ziliao[16],0,0,100,100,ziliao[17],0]
wq_1=4
loop do
if fighter_temp[27+wq_1]>0
$pvk_wep_1=fighter_temp[27+wq_1]
wq_2=Pvk_wep.new
wq_2.sys_1
fighter_temp[30+wq_1]=$pvk_wep[15]
end
wq_1+=4
if wq_1>16
break
end
end
if $pvk_man[0]==1 #通常的战斗中单位生产,最简$pvk_man[]输入格式:0执行类型,1-3新单位坐标X-Z,4单位编号,5单位阵营
fighter_temp[16]=3
fighter_temp[29]=1
fighter_temp[21]=0
end
#==================================================#
#***************下面开始写单位到战场***************#
#==================================================#
$pvk_fighter[0]+=1
$pvk_fighter_id+=1
temp_3=1
loop do
$pvk_fighter[dz+temp_3]=fighter_temp[temp_3]
temp_3+=1
if temp_3>50
break
end
end
end
end
|
|