Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >简单多层CCG系统

简单多层CCG系统
EN

Game Development用户
提问于 2012-11-14 03:50:29
回答 2查看 839关注 0票数 -2

我的工作是一个交叉平台多人CCG (网络,android,ios)。

以下是我的设计目标:

  • 我希望在比赛的第一分钟内,对于非CCG球员来说,我的比赛是容易接近的和可以理解的。
  • 一场比赛应由2-4名玩家一次进行,如果一名球员在比赛中退出,就不会有问题。
  • 玩家应该同时进行下一个回合(不要等待其他人的轮值)。

我目前的做法是:

  • 每张卡片都有四个元素的点值。在每个回合中,一个元素被随机选择,每个玩家从3个中选择一个。玩家选择这个元素值最高的牌赢得回合。经过10轮后,球员们按他们赢得多少轮排名。

为什么这种方法看起来不太理想?

  • 似乎很容易就能确定下一个最好的回合。你自己的动作对其他人的游戏风格影响不大。我希望有一个系统,一些卡片比其他卡片更好。一块石头剪刀,在那里你必须考虑下一个回合,其他球员会做什么左右。但真正的自由思考。

我很想听听你的想法,也许是一些新的系统,或者是一个CCG,它的设计目标大致是一致的。

谢谢

EN

回答 2

Game Development用户

发布于 2012-11-14 05:48:08

这里的问题是,你的游戏听起来完全是基于机会,没有任何策略。游戏可以归结为:

  1. 建立一个由你拥有的最高值牌组成的一副牌,在元素之间均匀分布。
  2. 玩游戏,赢或输的命运之手,因为你总是选择最高的牌,在你的手中给定的元素。
  3. 购买新的牌与最高的积分值可能,并替换最低的在你的甲板。

就这样。这就是整个游戏。没有比上述更好的策略了。你的成功只取决于运气,而基于运气的CCG注定要失败。

我的建议是放弃整件事重新开始。玩一些其他的CCG游戏,以了解如何做出伟大的游戏。事实上,这里有一些可以开始的地方: Fantasy 8和9有两个简单的CCG游戏,其中包含了您提到的许多元素。旧的Sim市CCG是一种完全不同的CCG,非常适合在这个领域提出新的想法。所有的CCG似乎都想模仿魔术的聚会,这是合理的,因为它是如此受欢迎,但有很多方法来剥这只猫。找个更好的。

的想法:

让玩家在网格上玩扑克牌,先到一个点得到,一旦每个玩家在栅格上放置一张牌,他们都会翻转,然后下一个回合开始。这将减少玩家等待的时间,并鼓励他们快速行动,以便能够计划下一个动作,并获得最佳位置。卡片的背面可能只表明,关于卡片,允许它合法放置的东西。或者它什么也不能说明,因为它是数字的,它解决了这个游戏在现实中的问题,人为的错误。

自由游戏理念

卡片是正方形的,在边上有最多3个元素,更好的卡片有更多的元素图标沿着更多的边缘,每个边至少有一个元素。一张卡片的一侧可以有三个火,或者一个火、一个冰和一个水;例如。

卡被放置在一个N×N网格(其中N是玩家的数量乘以2),在任何位置,上下颠倒。

一旦所有的牌都放好了,他们就会翻转并遵循以下规则:

火胜冰胜火(如果你想增加更多元素),但2火相持,1水和3火拍打1水。扑克牌有所有权,从谁放置它们开始,如果一张牌被一张牌打败,那张牌就归获胜牌的所有者所有。当一张牌改变所有权时,该牌旁边任何因被殴打而未被翻转的牌也会被击打和翻转,从而创造出战略链的潜力。

如果两张牌刚刚被放置和翻转,僵局不会引起所有权的改变,但是作为链的一部分,它们会起到胜利的作用。想想看,如果所有的扑克牌都被翻转了,那么所有的牌都会得到每一个元素中的一个。

一旦所有的插槽都被填满并翻转,棋盘上拥有最多牌的玩家就会获胜。

这使弱牌仍然具有战略价值,如果在棋盘上正确使用。

在这种模式中,没有不可战胜的牌。3火可以被3水击打,1,1,1的扑克牌对制造锁链很有帮助。

票数 2
EN

Game Development用户

发布于 2012-11-14 06:45:23

您可以尝试在每一张卡上添加一个防御元素。因此,与其只有一张火攻击4的牌,你现在有4张火攻击牌(一张有火防御,水,等等)。防御点将否定来自给定元素的1个攻击点。然后,您也可以为防御分配不同的值。现在你有N*(M+1)卡,火力攻击为4。(N是元素数,M是防御的最大值,+1如果值可以是0)。

为了扩大你对岩石剪纸剪刀风格的需求,某些元素比其他元素更有优势。例如,水可以对火造成2倍的伤害,或者只是拥有一张火攻击卡,它的水防御值永远不会超过其攻击值的一半。每一轮的胜利者可以通过取最少的伤害,造成最全面的伤害,或最高的伤害所受伤害的比率来决定。

这给人们带来了随机的运气,人们在打开一些卡片明显比其他卡片更好的时候获得了运气,同时也灌输了一些策略。高攻击和高防御牌将更难获得,而那些高攻击和防守都将更加困难。当然,人们将元游戏它和找到“最好”的整体甲板设置,这发生在每一个游戏。但是有些人可能会专注于防御特定的元素,或者用特定的元素进行攻击。你也可以强迫用户拥有所有的元素,或者仅仅限制每个元素的数量,这样可能会有2个元素,但1个元素就不可能了。这样你就可以显示出每个元素在对手牌中的百分比,这样你就可以根据他们玩某一个元素的可能性来进行防守了。

总体游戏仍然非常简单,并为未来的许多其他形式的变化留出了空间。

票数 1
EN
页面原文内容由Game Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://gamedev.stackexchange.com/questions/43751

复制
相关文章
多个git账号之间的切换
做过很多遍了,却总是记不住,这回从头来描述一下。 介绍 所谓多个git账号,可能有两种情况: 我有多个github的账号,不同的账号对应不同的repo,需要push的时候自动区分账号 我有多个git的账号,有的是github的,有的是bitbucket的,有的是单位的gitlab的,不同账号对应不同的repo,需要push的时候自动区分账号 这两种情况的处理方法是一样的,分下面几步走: 处理 先假设我有两个账号,一个是github上的,一个是公司gitlab上面的。先为不同的账号生成不同的ssh-key
happy123.me
2018/06/04
2K0
Impala与内嵌Jvm之间的交互
了解过Impala的同学都知道,Impala的节点分为BE和FE两个模块,分别是由C++和Java编写的。对于impalad而言,FE端主要是进行SQL的解析,具体的执行则是在BE端进行的;而对于catalogd而言,主要的元数据操作都是在FE端通过调用hms的API执行的,BE端主要是进行一些RPC通信。关于这两个模块之间是如何交互的,相关的资料比较少。因此,本文笔者就和大家一起学习下,Impala的BE和FE之间是如何通过JNI进行交互的。
skyyws
2022/05/20
8230
Impala与内嵌Jvm之间的交互
多个线程之间的通信问题
在同步代码块中,锁对象是谁,就用那个对象来调用wait和notify 为什么wait方法和notify方法需要定义在Object?       因为所有的对象都是Object的子类对象,而所欲的对象都可以当做锁对象
砖业洋__
2023/05/06
4330
多个线程之间的通信问题
python3 与 MySQL 之间的交互
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
Fivecc
2022/11/21
7830
python3 与 MySQL 之间的交互
Angular开发实践(四):组件之间的交互
在Angular应用开发中,组件可以说是随处可见的。本篇文章将介绍几种常见的组件通讯场景,也就是让两个或多个组件之间交互的方法。 根据数据的传递方向,分为父组件向子组件传递、子组件向父组件传递及通过服务传递三种交互方法。 父组件向子组件传递 子组件通过@Input装饰器定义输入属性,然后父组件在引用子组件的时候通过这些输入属性向子组件传递数据,子组件可通过setter或ngOnChanges()来截听输入属性值的变化。 先定义两个组件,分别为子组件DemoChildComponent和父组件DemoPare
laixiangran
2018/04/11
3.4K0
WPF自学入门(八)WPF窗体之间的交互
今天我们一起来看一下WPF窗体之间的交互-窗体之间的传值。有两个窗体,一个是父窗体,一个是子窗体。要将父窗体的文本框中的值传递给子窗体中的控件。我们该怎么实现?
黄昏前黎明后
2019/09/11
2.6K0
WPF自学入门(八)WPF窗体之间的交互
微信小程序和web之间的交互
通常我们写了一套自适应的 web 程序,想在多种环境中使用.比如 app 里,微信小程序里,各种 app 分享中, 假如只是能使用 app 浏览,问题不大,但是要在被嵌入 app 里面和 app 本身交互,就要做各种折腾, 如是就有了本文.
chuchur
2022/10/25
1.3K0
vim打开多个文件、同时显示多个文件、在文件之间切换 打开多个文件:
1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开一个文件,并且此时vim里会显示出file文件的内容。
sunsky
2020/08/19
15.5K0
app与后台交互之间的几种安全认证机制
这个是早期交互用得比较多的一种方式,主要是使用用户名和密码来交互,由于在每次的交互中,用户名和密码都会暴露给第三方,那么这么做是不可取的,风险十分大,所以这种认证方式并没有流传开来
全栈程序员站长
2022/07/19
1K0
app与后台交互之间的几种安全认证机制
1、HTTP简单基本认证方式 这个是早期交互用得比较多的一种方式,主要是使用用户名和密码来交互,由于在每次的交互中,用户名和密码都会暴露给第三方,那么这么做是不可取的,风险十分大,所以这种认证方式并没有流传开来 2、OAuth(OAuth2) 这个就是开放平台的概念,就像你登录第三方网站或者app的时候可以使用qq或者微信登录,那么登录后第三方可以获取你的个人信息,这就是开放授权的概念,理念是通过token来实现。 这个token可以由你来限制时间,第三方获取你指定的信息,从而达
风间影月
2018/04/04
1.3K0
app与后台交互之间的几种安全认证机制
WinForm窗体之间交互的一些方法(转)
实际上过去我也写过类似的主题,这里把各种方法总结一下,内容的确基础了一些,所以这篇文章是写给刚刚学习C#的同行们的,希望对大家有些帮助吧!很抱歉,这篇文章没有诡异的bug来勾起大家的兴趣,但是下篇文章我会努力写些有趣的主题的! 在窗体间传递数据的方法比较多: 1,在子窗体中自定义一个构造函数,参数类型是主窗体,当要显示子窗体的时候,就用这个构造函数来实例化子窗体,然后把this指针传进去,说起来太抽象了,我大概一写大家应该就明白了:    public class frmMain:Form    {    
跟着阿笨一起玩NET
2018/09/18
8090
ios开发-Storyboard在多个viewcontroller之间导航的实现
IOS SDK6/Xcode4.5开始在Storyboad中新增很多功能对可视化的开发页面布局,导航更加方便,下面就写一下各种导航的实现。 1、不用像Xcode4之前必须删除默认的viewcontro
阿新
2018/04/12
1.8K0
ios开发-Storyboard在多个viewcontroller之间导航的实现
Django与多个数据库交互
在Django中使用多个数据库的第一步是告诉Django您将要使用的数据库服务器。
py3study
2020/01/19
1.2K0
ajax与后台之间传递多个对象方法
如果是需要通过ajax传递数组给后台,可以使用JSON.stringify()函数将JS数组转为json字符串,然后后台通过@RequestBody注解修饰,将前台传来的json字符串转为对应的参数类型。 前台
六月丶
2022/12/26
3.1K0
多个Pod之间共享Volume以及详细配置
要在多个Pod之间共享Volume,可以使用Kubernetes的persistentVolumeClaim(PVC)来声明和访问共享的Volume。
一凡sir
2023/09/02
1.4K0
多个Pod之间共享Volume以及详细配置
Xilinx MPSoC PS/PL之间的数据交互和外设设计
MPSoC是Xilinx基于16nm工艺推出的异构计算平台,由于灵活、稳定,在业界得到了广泛的使用。异构计算是一个比较新的领域,需要协调硬件设计、逻辑设计、软件设计,对工程师的要求很高。实际设计过程中,很多工程师对实现PS/PL之间的数据交互感到头疼。 本文将介绍主要的PS/PL之间的数据交互办法。
hankfu
2020/09/14
2.8K0
速读原著-TCP/IP(UDP和ARP之间的交互作用)
使用U D P,可以看到U D P与A R P典型实现之间的有趣的(而常常未被人提及)交互作用。我们用s o c k程序来产生一个包含8 1 9 2字节数据的U D P数据报。预测这将会在以太网上产生6个数据报片(见习题 11 . 3)。同时也确保在运行该程序前, A R P缓存是清空的,这样,在发送第一个数据报片前必须交换 A R P请求和应答。
cwl_java
2020/03/09
1.1K0
速读原著-TCP/IP(UDP和ARP之间的交互作用)
Mathematica和Mathtype之间数学公式的交互使用
   写论文离不开公式,特别是高深的数学,物理专业。而公式的推导往往是在Mathematica,Maple,Matalab中进行,而论文写作中,公式的编辑一般用专业的公式编辑软件像Mathtype。你是否曾经想过要把Mathematica中的公式复制到Mathtype中直接使用呢?是否想过将Mathtype编辑的公式转帖到Mathematica中进行使用呢?下面就以Mathematica和Mathtype之间的转换分享下我的体验。 (1)Mathematica公式转换到Mathetype中 首先将Mathematica中的公式复制成MathMl语言
Enjoy233
2019/03/05
2.3K0
Mathematica和Mathtype之间数学公式的交互使用
Flutter 和 iOS 之间的 Battle:手势交互谁才是老大?
跨平台框架都会面对和原生平台沟通的问题,Flutter 也不例外,在实际工程落地的过程中经常会碰到手势识别交互的问题。本文介绍了西瓜视频解决 Flutter 和 iOS 手势冲突的方案,详细内容如下。
ios-lan
2020/09/15
1.9K0
点击加载更多

相似问题

如何在不是我的叉子上重新定位公关?

10

更改和修改文件更大,可以从叉子进行公关。

10

从我的叉子上拔出

10

Github叉和拉:我的公关被接受了,如何继续我的叉子工作?

10

我如何在github从公关转变为公关选秀?

62
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档