| 楼主 发表于: 2004-03-16 14:57:43 |
3 3 | #1 得分:13 回复于: 2004-03-16 18:12:51 nehe.gamedev.net www.gametutorials.com www.gameres.com www.chinagamedev.net |
|
| #2 得分:12 回复于: 2004-03-16 20:08:13 圣剑群英传的代码可以参考 www.gpgame.net www.gamedev.net里面的Articles里面专门有script系列文章 |
| #3 得分:40 回复于: 2004-03-17 12:33:09 谈谈自己看法: 有关脚本命令你可以自己写,也就是自己定义你自己的,当然可以用一些公用的脚本编辑器。 对于公用的我没有什么研究,这里就简单说说如何自己写一些简单脚本: (以RPG为例) 一个RPG必备的几个元素就是引擎、地图编辑器、脚本。引擎完成整个游戏的初始化和过程的运转(同时也要保证对地图文件,脚本文件的读取工作)。地图编辑器就不说了,直接说脚本: 我写过一个小的RPG游戏,可以自己定制自己的脚本并通过解释脚本命令来完成一些控制工作。举一个简单的例子: Map(地图名); 这就是我自己定义的一个脚本,功能就是选择一个地图文件作为场景。脚本编辑器完成的主要工作就是解释脚本命令,并通过引擎把结果显示出来。我的脚本编辑器大概的工作流程是 ifstream in("脚本文件名"); in.getline(controlcommand,sizeof(controlcommand),'('); if(controlcommand=="Map") { in.getline(mapname,sizeof(mapname),')'); MapManageFunction(mapname);//跳转到专门处理map脚本的函数中执行 } else(controlcommand=="其他的命令") { //其他命令处理; } 大概的流程就是这样,然后再MapManageFunction()函数中实现调用引擎,读取地图,往屏幕上画图等等工作,这样就解释了Map这个脚本命令。 当然还要有其他的脚本来控制人物的显示,NPC的对话,屏幕的淡入淡出等等一系列的东西,这样就会有一组命令,通过这样的一组命令就可以实现对游戏中的背景,人物和各种角色的初试化设定和控制,实现整个游戏的剧情控制。也是通过这种方法来完成一个游戏的具体实现,即使相同的引擎,通过不同脚本和地图就可以作出一个完全不同的两个游戏。 具体有关脚本的东西我也是一家愚见,有什么不对的还要大家指教。如果楼主还不了解的话就可以上金点时空down他们的圣剑2游戏源码,看看他们的脚本是怎么定义和运用的,相信会大有裨益的! |
| #4 得分:5 回复于: 2004-03-17 22:09:41 顶 |
| #5 得分:5 回复于: 2004-03-19 19:04:10 友情up |
| #6 得分:0 回复于: 2004-04-05 18:44:24 谢谢楼上各位,我刚完成了一个脚本解释器,支持 int, float double, string类型定义 支持语句指令: IF IFS(if else) GOTO SET //设置变量值 COMPUTE //计算表达式值 RANDOM ADD (+-改变变量值) WAITTICK RETURN (但还没与具体游戏相结合的指令) 总体来说,现在指令的类型大半都取自圣剑英雄传,我不知道游戏脚本里的指令除了以上几个最基本的逻辑控制指令外,一般还有些什么? 希望大家能在这里具体探讨一下(我初学做游戏,很想做个不错的通用的游戏脚本引擎,希望大家指点) 我的email: 123csj-123@163.com |
| #7 得分:5 回复于: 2004-04-05 18:56:57 不错,重要的是能坚持下去。 |
| #8 得分:5 回复于: 2004-04-05 21:27:22 干吗不用现成的?LUA 或者PYTHON都不错啊 |
| #9 得分:15 回复于: 2004-04-06 09:02:22 需要游戏NPC的控制指令: Talk(对话) SetNPC(放置npc)如果可以的话还可以放置一些可以自动移动的NPC MoveTo(NPC移动命令) 等等 屏幕特效教本: FOut(淡出) FIn(淡入) Black(改彩色为灰度) 地图场景控制教本: LoadMap(读入地图) MoveThings(可以具体控制某个物块) 等等其他的一些 上面只是罗列出了自己想到的一些游戏教本控制命令,相信各位大侠肯定还有补充! |
联系客服