想开发足球游戏

SawHimAgain 2003-04-13 10:49:32
不知大家有什么想法没有
...全文
172 30 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
nicememory 2003-05-14
  • 打赏
  • 举报
回复
我也想写,但是考试。。。
seagate 2003-05-14
  • 打赏
  • 举报
回复
要注意身体。健康最重要。
SawHimAgain 2003-05-14
  • 打赏
  • 举报
回复
seagate() :
病中,过几日再整文回复
xxhsh 2003-05-10
  • 打赏
  • 举报
回复
高手啊高手!
我喜欢玩FIFA!喜欢玩足球经理!
无比崇敬!

seagate 2003-05-09
  • 打赏
  • 举报
回复
真实性是很重要,但如果连motion capture都没有,就没什么好说的。但有也不一定有用。有个什么神雕侠侣用了,仍然是垃圾。

“判断球员是否手球”,在游戏中有用到手这个元素吗,要操作手吗?如果是,就要判断,没有,要判断手球干吗?铲断,拦截,还不够犯规吗?

“偶然性就体现不出来了”,足球最吸引人的就是各种战术,偶然性不是决定足球游戏的关键因素。

国外可以将真实性做的很好,因为有实力。扬长避短,国内就应该将全部精力放在可玩性上。
SawHimAgain 2003-05-06
  • 打赏
  • 举报
回复
碰撞检测是一定要的
断球时就是这样,不用碰撞检测就不能判断球是否触及人体
增加这个特性还有一个好处就是,可以在适当的时候判断球员是否手球

还有就是,传接球绝对不能做成像遥控的那样
如果球传的很精确,足球的偶然性就体现不出来了
更不要谈身后球了,fifa的失败处就在于此

如果把游戏的真实性做好了,对可玩性来说只有帮助没有害处
两者是相辅相成的
seagate 2003-05-01
  • 打赏
  • 举报
回复
希望SawHimAgain朋友没有误解我的意思,我并没有说让球员一格一格运动,这些格是逻辑上的。每次球员运动完后将他们定位在格中。再在格中做判断。

碰撞检测是发生在球与球员之间或球员和球员之间。但足球游戏不是战斗游戏,不会发生7,8个人挤在一起的情况。3,4人都了不起了。既然人已定位在格中,而每格只能站一个人,人与人之间就无需用碰撞检测。(但可能有特殊情况需要)

关于接球,并不是接球球员配合传球球员,而是传球球员的球配合接球球员。可以假定当球传出后接球者就不动了,等着球过来。而球的速度和高度都按接球者的位置算好了。自然可以稳稳传到。
球员对球有磁性这一点不必担心,如果一般一个小传都要小心仔细,担心目标接不到,玩家那还有心思来组织战术。传球是设计者应该提供给玩家的基本功能,保证每次都传到,除非对方拦截。

游戏中可玩性应该大于真实性。
SawHimAgain 2003-04-30
  • 打赏
  • 举报
回复
将场景用二维数组来保存,很多游戏都这样,比如星际。看起来非常平滑的运动实际是视觉上的效果。角色位置仍然在数组中。这样有什么好处呢?
那么,接下来的是必须仔细定义角色什么时候在确定的一格中。一格是有宽度的。这个宽度肯定大于球员或球的运动偏移。球员在运动了二三帧后可能仍在这一格中(一格和球员的坐标是两个不同的量)。那么可以作出球员平滑的运动效果而在数组中看起来是一格一格的运动。
------------------------------------------------------------------
分歧,分歧出来了
您所说的,一格一格划分球场,我不敢苟同啊
要知道足球游戏中的运动员毕竟和星际中的飞行器有差别
平滑移动不难做到,但游戏逼真度将大打折扣
如果是2维的,我不反对这样做
以前就玩过一个很不错的游戏,顶视角,2D,球员是一格格运动
但3D就绝对不能这么做啊
玩家时不时的是会用慢放来检查球员运动做的衔接的
显然,像滑雪,溜冰一样的动作(fifa是此类典型),玩家肯定是不能满意的
(说句题外话,我也极希望CSDN有贴图功能,这样文字表述太累了,不知我说得请不清楚)



没有所谓碰撞检测,数组内有标识,看这个标识就可以了。运算速度很快。
你提到的球从队员身体中穿过不会发生。当我们确定球在一格中,而这一个又有个球员在同一格中。首先,球有高度的(球在空中)。球员是有身高的,球高低于人高就被挡住。同时,游戏中不就多了个游戏因素,球员身高吗?
-------------------------------------------------------
您认为碰撞检测不需要吗??
我却认为碰撞检测是必需的组成部分啊
(同样,我认为2D的碰撞检测确实不是必需的)
还有,身高是没有问题
我的游戏考虑了这一点,而且运算上也没有任何负担(这一点,我是翻烂了高等数学才参透的:《)



关于接球,参照实况足球那样。带球的球员总有个锁定的己方接球球员。那个己方球员也知道自己将是被传对象。所以总会配合带球球员前进。用方向键可改变锁定球员,用个算法查找就可。这样AI不就出来了吗?
-----------------------------------------------------
这个是最难的部分
我现在正为这个发愁呢:-《
不要小瞧这个部分啊
真的实现相当困难呢!
锁定球员不难,难得是当球员接球时的动作
做得不好的话,就可能出现球与球员分离太远,
看上去很不逼真,就像球员对球有磁性那样


今天说到这儿把
(前几天手术的伤口隐隐作痛,需要休息了)
总之,感谢seagate和大家的支持
还有,大家别停,继续讨论啊
vickylh 2003-04-30
  • 打赏
  • 举报
回复
我是个FIFA的老玩家,希望能在你的足球游戏内做个内测人员,支持你
seagate 2003-04-28
  • 打赏
  • 举报
回复
将场景用二维数组来保存,很多游戏都这样,比如星际。看起来非常平滑的运动实际是视觉上的效果。角色位置仍然在数组中。这样有什么好处呢?

没有所谓碰撞检测,数组内有标识,看这个标识就可以了。运算速度很快。
你提到的球从队员身体中穿过不会发生。当我们确定球在一格中,而这一个又有个球员在同一格中。首先,球有高度的(球在空中)。球员是有身高的,球高低于人高就被挡住。同时,游戏中不就多了个游戏因素,球员身高吗?

那么,接下来的是必须仔细定义角色什么时候在确定的一格中。一格是有宽度的。这个宽度肯定大于球员或球的运动偏移。球员在运动了二三帧后可能仍在这一格中(一格和球员的坐标是两个不同的量)。那么可以作出球员平滑的运动效果而在数组中看起来是一格一格的运动。

关于接球,参照实况足球那样。带球的球员总有个锁定的己方接球球员。那个己方球员也知道自己将是被传对象。所以总会配合带球球员前进。用方向键可改变锁定球员,用个算法查找就可。这样AI不就出来了吗?

当锁定球员距离带球球员教远,传球就用长传,近就用短传。对方也知道这两人的关系,所以总会想法站在两者之间,传球时会跳起来顶。

还有一些细节要注意,当带球球员跑过对方球员身边,应减慢他的速度,就像被别人拉住一样。fifa就没有,每个人都象鱼一样滑 :-(

不知说清楚了没有,我总喜欢画图来说明的。
我有个心得,游戏不一定要非常逼真,只要看起来真实就可以了。
SawHimAgain 2003-04-24
  • 打赏
  • 举报
回复
bbksoft(比比可) :
像足球这样的大型游戏,肯定是没止境的
我说的几分之几,是指游戏最小化时的大小
我没标榜的意思,只是想让大家知道,做任何事第一步的重要性,当然也是为自己增加信心
另外,我想说的是,我开这张贴是希望大家来讨论的
因为,现在市面上的足球游戏都是外国的,但并不是说国内就没这样的实力
就这点,我觉得很遗憾
所以我更希望听到的,是大家的鼓舞,出谋划策;
不是“这个不行那个不要”的摆着一副老资格程序员教训新手的措辞
再有,对于我的碰撞系统,我有绝对的自信,
这是我冥思苦想了近两个月的成果,不是我夸口,此系统比目前常用的算法精确得多,而且不失效率
(题外再说一句,EA的fifa根本没用碰撞,球是遥控的,你看不出来吗?)
当然,对于你的好意,关心,我还是要表示由衷的感谢。


seagate() :
您的建议非常中肯,我有很多想法想和您讨论

“游戏场景设计为二位数组。球员占一格,球不被控制时占一格。每个球员都有自己的控制范围,比如是个矩形区域。一方球员的控制范围有可能有重合的部分。但所有队员的控制区域药覆盖整场。”
--------------------------------------------------------------------------
您指的二维数组是什么样的结构,是把球场分割成像老特拉夫德球场草皮那样的方式吗?
这样的话是不是太“粗”了呢?我的意思是,球员在移动时的方位是不是难以确定呢?

“1 对方球员带球进入己方某个球员的区域,根据这个球员不同的角色,不同的位置做不同动作。比如是中场球员,面对对方正面,就上前抢断。面对对方背后就跟随。如是后卫就有可能直接铲球。
2 己方球员带球在自己的区域,同样角色不同不同处理。如后卫球员A带球后象前跑,过自己的区域后将传球给相邻区域的球员B。因为两区域有重合位置,B当A进入自己区域就向A跑近以便接球。因此就有
3 己方球员带球进入同伴区域...等等”
------------------------------------------
这几点跟我的想法可以说完全一致

还有,就是面对队友传来的球,怎么接?这个算法真的是值得大家好好讨论讨论的
因为处理得太粗的话,比如像fifa那样采用遥控的方法,就有可能出现球从人体内穿过的不真实场面
如果把碰撞算法与之相结合,精是精确了,可是球又会变得难以控制,玩家就会失去兴趣
真是太矛盾了
我一想起这个算法,人就变得兴奋起来了


kylix() :
谢谢支持。
抛砖引玉根本谈不上,作此类游戏想必大家都有这样的想法的。

我的思路是,先建立个原型,简单的模型
不考虑任何图形引擎,不考虑任何视觉上的特效,只是简单的用手上掌握的技术实现它
并且把中心放在AI设计,球员动作逼真度上
并力求节省内存和提高运行速度(这大概就是我最初得对游戏的需求吧)
记得,我有这个想法最初是在2001年,当时我只掌握d3dRM技术,很菜
所以没写多久,就把自己的方案推翻了,因为RM不支持群组动画
也就是说,每个球员一个动作,这简直就是浪费,试想,22个球员要重复多少内存啊?
推翻后,我就去学了IM
开始自行设计动画帧接口,让它支持群组动画,做到22个球员的共享
现在已经实现了这部分代码,而且所有插值帧动画都先期预处理
最大化的提高运行效率(当然肯定要牺牲内存为代价,现在才发现,用空间换时间这句话的意义)

今天先说到这吧
还要洗澡,过一两天,我再来和大家讨论
bbksoft 2003-04-23
  • 打赏
  • 举报
回复
1。我也 想 做 足球 游戏,等我 有 时间,钱也够化的 时候。
2。不要动不动就 说你 些了 几分 之几, 一个 好的 模拟游戏
是没有 尽头的 ,你 现在 做的 不 过是 宇宙的 一粒沙而已。
3。不要 自是 想 一个 人把 所有的 事情都做完, 想想 一个
好的 3D 引行,起码要 5 个 人 开发 3年,何况 在这个 游戏
里人 AI 也显的 十分重要 和复杂。如果你要个人开发的 话,
我 建议你 走点零类的 方向,或 选一 个重要的 方向,比方先只做
碰撞引行,别以为这块简单,等你 好好 做就知道了,国际上真正
做好的 还没有, 像EA的,Win11 的 就没那个看起来非常真实。
bache1115 2003-04-23
  • 打赏
  • 举报
回复
感觉足球游戏里的人工智能太伟大了!!特别是实况足球的,伟大之中的伟大!!
凌云誌 2003-04-22
  • 打赏
  • 举报
回复
残念!忙于伺候女朋友和项目进度中,推一推!
凌云誌 2003-04-18
  • 打赏
  • 举报
回复
3D引擎,刚体物理引擎可以通过使用即有的程式进行开发,而AI就需要根据每一个游戏的的开发需求来量身定制,我感觉现在网上讨论足球游戏的AI模式和算法的文章太少了,不知道SawHimAgain可否抛砖引玉,无论详细与否,都可以给我和大家一个思路
seagate 2003-04-18
  • 打赏
  • 举报
回复
我有个设想:

游戏场景设计为二位数组。球员占一格,球不被控制时占一格。每个球员都有自己的控制范围,比如是个矩形区域。一方球员的控制范围有可能有重合的部分。但所有队员的控制区域药覆盖整场。
那么前锋的区域就可设在对方半场,而后卫就设在球门附近。具体位置可按阵型或局势做调整

因此会发生如下情况:
1 对方球员带球进入己方某个球员的区域,根据这个球员不同的角色,不同的位置做不同动作。比如是中场球员,面对对方正面,就上前抢断。面对对方背后就跟随。如是后卫就有可能直接铲球。
2 己方球员带球在自己的区域,同样角色不同不同处理。如后卫球员A带球后象前跑,过自己的区域后将传球给相邻区域的球员B。因为两区域有重合位置,B当A进入自己区域就向A跑近以便接球。因此就有
3 己方球员带球进入同伴区域...等等

这些情况可自己一一列出

框架大致如此。

另外有些细节:

二人争球
因为在矩阵中,每个球员有八个方向。A带球,B去抢。二人在3X3的矩阵,A中心。B可在周围八个位置

1 2 3
4 A 5
6 7 8
A面向2。当B在 1 2 3,可用抢球键,铲球键。在 6 7 8 时铲球就有可能犯规,而用抢球键抢不到球。那么就可形成各种战术,比如A调整方向始终背对B。
用这种简单的方法就可实现许多AI的效果。



SawHimAgain 2003-04-16
  • 打赏
  • 举报
回复
自己顶
SawHimAgain 2003-04-15
  • 打赏
  • 举报
回复
谢谢大家的意见

to kylix() :
动作捕捉太贵了,根本没法实现
我在一网站上看到,大约200美金“一”个动作
所以我用CS解决
刚体物理也不难处理
难得就是人与球的交互
也就是你说的AI,虚拟的球员对球的掌握相当相当困难,既要判断球的运行轨迹,方向,落点
还必须让虚拟球员做出相应的动作
我又不想让球体的运动像fifa里好像是被遥控的那样(太不真实了)
真的不知该怎么做了
wltsui 2003-04-14
  • 打赏
  • 举报
回复
足球游戏的系统比较复杂,平衡性不好控制
dreamover 2003-04-14
  • 打赏
  • 举报
回复
好远大的梦想
加载更多回复(10)
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K

8,325

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧