Articles of 游戏devise

如何为其状态随时间变化的对象devise一个类

我有一个14人的足球队(11个主动+ 3个替补)。 球队正在参加世界各地的不同比赛。 我有两种截然不同的devise思路,我想知道在这里是否有更好的方法。 语言是Python,数据库是Mongo。 我的要求: 在比赛的任何时候,我都想知道一名球员的现状。 (替补,主动,受伤)以及罚款卡,如果他们有任何。 如果他们正在玩,我想知道他们什么时候开始。 如果他们回来坐着或受伤,我想知道他们最近的开始时间和结束时间。 我希望能够检索有关过去比赛的信息。 对于过去比赛的任何球员,我只需要知道他们的最新状态(如上所述) 这里是我关于数据库集合的想法: Players collection: – Player ID – Player Name – Player Tshirt Size Teams collection: – Team ID – Team Player IDs [] – Team Name – Team logo Matches collection: – Match ID – Team ID – Match Location – Match Time […]

如何模拟类在c#中序列化友好?

这只是代码的一小部分,但为了这个例子,让我们说我有一个类Stat class Stat { private string _name public Name { get { return _name; } } public Stat(string name) { _name = name; } } 当我用例如TinyJSON对types为Stat的对象进行连续化时,它会产生: { "Name": "some random name" } 所以我想我会用公有属性创建StatData而不是getter,所以我可以使用它来进行序列化。 class StatData { public string name } 据我所知,我现在有两个select: 写转换器方法,并在序列化请求时,将Stat转换为StatData并将StatData序列化。 优点:保留单一的责任原则 缺点:更多的代码和嵌套的依赖关系 在Stat类中使用private StatData _data ,并像以前一样使用getter,并添加如: ToJSON()方法on Stat 优点:公共界面 缺点:generics处理inheritance,例如: StatComposite和序列化依赖 是否有任何其他方法或潜在的devise模式来处理这个问题?

确定和重新考虑被困目标时寻路

我有一个游戏,有一个基于网格的地图的多个path寻找代理(A *)。 玩家可以通过构建墙壁,地板等来改变地图,并且代理将移动以构建玩家所要求的内容。 我称之为代理将完成构建任务的任务。 当代理人决定要执行哪个构建任务时,我已经实现了一个简单的距离启发式。 由于任何时候游戏中都可能有100个构建任务,就我所能看到的而言,在进行pathsearch之前,做一个洪水填充来检查特定代理是否可以访问任务是不可能的,寻找锻炼。 目前,如果一个特工努力寻find一个任务的path(例如,想象一下,玩家已经围住了代理人的墙壁,所以它不能逃脱一个房间),任务被存储为无法到达的东西和一个新的项目被寻找。 我也从任务中进行填充,并维护一个包含任务的区域,以便不考虑这个区域的任何其他任务。 我的问题是, 我怎样才能确定什么时候可以从无法访问的商店中发布商品,或者什么时候可以清除locking区域? 我虽然做了一些定时到期的事情,以至于无法达成的事项最终会被重新考虑,但是这个解决scheme有几个问题。 我的另一个想法是每隔一段时间从目标到代理的path寻找,如果有新的path可行,清理项目并让它重新考虑。 这些解决scheme都不是最佳的,我觉得我错过了一些显而易见的东西。 这是我想传达的问题的一个相当缺乏的图表。

我如何爬上一个窗台

我目前正在团结一个3D游戏。 我希望我的玩家能够抓住窗台,爬上去。 请给我通知你,我是新来的,所以一个基本和容易遵循的例子将是很好的。 谢谢

实体 – 组件 – 系统devise

我读了很多关于ECS(战略)模式的内容,并且有几个问题。 考虑简单的空间游戏。 那里有星星。 明星是一个entity 。 如果我想做一个星系呢? 让银河成为一个entity看起来是合理的。 另一方面,星系只是一组星星。 在通常的面向对象devise中,我只是把它作为一个拥有星星/星星vector的类。 建立一个只是其他实体的容器的entity是否合法? 在某些时候不会刹车吗? 现在考虑行星系统。 它看起来像地球也是一个entity 。 但是将一颗行星与它的母星联系起来是明智的。 可能一个实体指的是另一个(有指针,或类似的东西)? 你将如何撰写? 提前致谢。

独立的球员评分系统,攻击者和防守者

想象一下,一个塔防游戏,每个玩家在防守或攻击方面都非常专业(玩家可以是所有游戏中的任何一个)。 在每场比赛中,攻击者和防守者分别得分。 我想要一个最好的防守者的排行榜和一个单独的排行榜为最好的攻击者。 在这种情况下什么是适当的球员评分系统? 理想的系统也是有效的,因为即使只有一小部分可能的攻击者/防守者组合实际上被发挥,它也产生可靠的排名。 我知道的所有评分系统(例如Elo评分或微软TrueSkill)都假设两个球员都是平等对待的。 我会非常感谢任何有关评分系统的指针。

在游戏创建中使用的基本algorithm和框架的一些例子

我知道这听起来像一个广泛的话题,我被要求从我的应用工作描述之一有这些技能。 问题是我已经使用Unity3d 2到3年了,但是我不确定他们要求什么,如果你能给我一个名字列表或者一些例子,最好的办法就是开始。 谢谢。

飞机客运观点现场

我正在建设一个统一的游戏,飞机上有许多场景,乘客坐在窗户附近,飞机必须起飞和降落。 我在互联网上的任何地方都找不到类似场景的例子。 所以我想知道哪个是最好的方法来做到这一点: 模拟飞机物理,飞机通过每个检查点的“检查站”系统( 当前解决scheme ) 用统一animation系统animation飞机(尝试它,但感觉真的很便宜) 静态的平面,但让事情在他周围移动(可能在飞机内有更好的照明,因为它是静态的) 360°video 目前的解决scheme工作正常,但我正在寻求改进。 我发现森林里的介绍场景和我想要达到的效果非常相似,我想知道他们是怎么做到的。 目前的系统是这样工作的: 飞机有两个引擎脚本控制飞机的速度。 另一个脚本控制飞机的轭,滚动和俯仰。 最后一个脚本是“自动驾驶仪”,每个检查站都告诉飞机要去哪里,速度如何。 你必须调整值,直到你有一个很好的结果,这可能是非常耗时的。 谢谢 !

如何不断降低速度?

我正在开发一个使用iPhone的GameSalad框架的高尔夫游戏。 我有一个名为speed的整型值为5000的属性。我也有一个名为speedControl的布尔属性,它最初是false。 当球被按下,sppedControl为true时,我用game.speed(即5000)加速。 现在我想每0.5秒减less一次球的速度,所以我添加了一个计时器行为并将其设置为每0.5秒。 定时器的每一个滴答声,我把更改属性game.speed设置为game.speed-300。 但它不工作。 对不起,我没有名誉,所以我不能给你发送截图。 请帮帮我。 我对GameSalad很新,这是我的第一个项目。

游戏devise教育

我对电子游戏devise师的职业生涯非常感兴趣。 澄清我的意思是其中一个人弄清楚机制,故事,水平和艺术如何一起工作。 对网站上的任何devise师我应该寻找什么专上教育? 我知道,他们通常对游戏开发的所有不同部分都有所了解,但是有什么具体的东西我应该寻找,这将有助于作为一个基地?