软游网-免费.绿色热门软件一站式下载-高速、纯净、安全、无捆绑

如何用linux系统设计小游戏?

时间:2024-11-13 08:04 点击:62 编辑:admin

一、如何用linux系统设计小游戏?

使用c语言(ansi c)编写一些控制台小游戏(死循环刷新等),扫雷 贪吃蛇 这些都是可以的然后可以考虑使用curses.h函数库再考虑一下termio.h termios.h函数库参考这本书《C语言课程设计与游戏开发实践教程》

二、类DOTA游戏如何设计多样化的技能系统?

这个嘛,我觉得我还是能答的,因为我曾经设计了DOTA2的一款RPG,虽然未完(逃

有道云笔记有道云笔记有道云笔记有道云笔记

当然没翻译完,因为弃坑了233

以上是数据驱动类型的技能,还有脚本驱动类型的技能。

===========================================================

上面很多答主讲的其实都是数据驱动类型的技能,也就是data-driven,简单的来说,就是把通用的技能肢解成若干方面。

一个数据驱动的技能是一串键值的集合。键值是单一的、基于树的结构,用于储存包含了键/值对的嵌套部分。

一个典型的数据驱动类型技能框架是这样定义的,当然指的是dota2:

"datadriven_skeleton"{ // General // ---------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityTextureName" "spellicon" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityType" "DOTA_ABILITY_TYPE_BASIC" "MaxLevel" "7" "RequiredLevel" "-4" "LevelsBetweenUpgrades" "7" "AbilityCastPoint" "0.0" "AbilityCastAnimation" "ACT_DOTA_ATTACK" "AnimationPlaybackRate" "1" "AnimationIgnoresModelScale" "1" // Stats //---------------------------------------------------------------------------------------- "AbilityDamage" "0 0 0 0" "AbilityManaCost" "0 0 0 0" "AbilityCooldown" "0.0 0.0 0.0 0.0" "AbilityCastRange" "0" "AbilityCastRangeBuffer" "250" "AbilityChannelTime" "0.0 0.0 0.0 0.0" "AbilityChannelledManaCostPerSecond" "30 35 40 45" "AbilityDuration" "0.0 0.0 0.0 0.0" "AoERadius" "250" // ...}

可以看到,一个技能被拆分成了很多很多各自独立,相辅相成的部分,目标选取限定、图标资源、技能类型、最高等级、升级等级要求、升级等级间隔要求、施法点、施法动画、目标阵营限定、目标类型限定、粒子效果、伤害、CD、耗蓝、施法时间、施法前摇、施法后摇、持续时间、AOE范围……

这些部分又各自有各自的关键字,将他们依据自己的创意组合在一起,可以快速地组合出非常非常多的技能,就是数据驱动类型技能存在的最大意义。

第二个意义在于,数据驱动类型技能是一个框架,它的存在是最通用的一个模板。就拿非常有特点的,冰魂的大招来说。冰魂大招的具体实现压根不是在数据驱动类型所能实现的,但是如果你解包了文件之后你会看到,冰魂大招确确实实存在于数据驱动类型技能表里头。为什么?就是因为数据驱动类型给了你一个框架,你先把数据给我填上去,再去谈脚本实现。

脚本驱动的技能确实给力,它相对于前者更底层,控制更多的东西,甚至可以一定意义上改变游戏的规则(在冰魂大招里体现为禁止生命回复),但是如果所有的东西都拿脚本来写,整个代码会变得混乱不堪,充斥着这样那样的变量和语句,无法提炼出技能的核心数据。

因此,数据驱动往往和脚本驱动统一在一起,有纯数据驱动的技能,也有数据驱动里包含脚本驱动的技能,还有少数纯脚本驱动的技能,不过前两者占大多数。数据驱动提供技能最基本的类型和框架设定,同时为脚本提供了接口,怎么实现,由脚本提供者去考虑。

==============================================

因此,你说一个普适的技能系统是不存在的,即时战斗的和回合制的能一样吗?宝石迷宫和暗黑破坏神能一样吗?这跟2D\2.5D\3D没关系,画面跟系统不是一回事(大多数情况下,你说fez我也没辙)

你先要选定一个游戏类型,仔细思考其职业、系统上会涉及到的东西,然后用一个尽可能大而全的框架把你的构思框住,细细肢解,最后非常特殊的再单独使用脚本实现。因此不要急着去做这个通用的框架,把能想到的都想了,把框不住的东西问了程序看能不能单独实现,再去肢解。肢解也不要一次就弄完,反复想想,能不能分得更细,更科学,更有结构性,你在架构上多花一个小时,或许后期实现能省十个小时。

三、如何设计一个易扩展的游戏技能系统?

我个人对这个问题非常感兴趣,因为我花了至少5年在设计和实践(我自己经历了大小7个项目,虽然大多最后因为其他原因都没上)这样一套机制并且可以说基本解决了这个问题!我并不想藏着他,我也和很多朋友分享了,同时也感谢他们提出了很多意见,包括细节和优化等方面,正因为互相之间的借鉴和交流,我到今天已经把这套机制归纳的非常好了,还是想把它分享给更多想做好游戏的人,希望大家能进一步交流,把它更完善化,以形成一种规范,这套机制适用于任何类型的游戏开发,因为他是一个很棒的思路。

首先分析一下可扩展性:我从一个设计师的角度来看,所谓的可扩展性是——你并不知道策划下一个设计的是什么,但是你需要在尽可能不改动核心代码的基础上去把它实现了,并且在调试的时候(甚至是上线之后要做调整的时候),你可以并不伤筋动骨的去修改它。这里除了你要有好的代码规范外,还需要抽象一套机制来实现它。

最早开始想这套机制的动力是因为我在起凡工作,看了代码之后我感觉是完全无扩展性的,当我想要设计一个新的英雄的时候,要去修改代码已经几乎是不可能的了,于是我便思考,如果我要做一套WoW的技能、buff系统,应该是怎样的呢?于是我总结、归纳、抽象了这样一套东西,并且最早在三国争霸2项目中投入实际使用。

2年前我在GameRes发过相关的帖子:

[技术交流] Buff机制及其实际运用AOE机制的DSL及其实际运用[技术交流]不要用海量表项压垮“技能流程”

实际上,好的策划的脑洞是非常大的,你真不知道他会设计出什么样的技能,但你并不能说一些设计因为无法实现就理所应当被埋没了,(我对策划设计Dota类游戏的思路要求是开放的,发挥想象力的:

[设计思想] 游戏系统设计思路的牢笼 一味追求实用性

)因此我想了这样一个机制,他们的核心在于:

1,明确区别了AOE\Buff和技能3块,策划应该从这个角度出发思考问题。

2,这既然是一套机制,你可以把它用在任何游戏的框架当中。比如我要做一个Dota传奇的卡牌游戏,一样可以用这套机制,但是核心在于——你的策划要有能力归纳出游戏中的回调点。

当然我们在使用这套机制的时候,逻辑上实现并没有任何问题,但是我们一样会遇到一些从逻辑变成动画的困难,尤其是当我们的战斗在服务器上一瞬间完成了,但是要把结果告诉客户端吗,并且有客户端重新验算一遍的时候,因此我在之后有总结了一套作法,来完成这个事情:

[技术交流]手游回合制游戏战斗机制归纳式设计

这个解决的是,当你有各种有趣的buff,但是又想不大改客户端的时候,你应该这样去建立这个框架。你可以想象如果你做一个MT类型的游戏,战斗是服务器一瞬间的,但你又要客户端重演,我们举个例子:

比如我门设计了在MT类型游戏中加入地形因素:可以有火海,火海每回合开始的时候对所有场上敌我英雄造成火焰伤害。

然后有个英雄是一只凤凰,凤凰有2个被动效果:

1,受到火焰伤害的时候变成治疗自己相当于伤害值的血量。

2,战斗中第一次死亡可以复活,回复最大生命值50%,如果在火海中则回复100%。

这样一个英雄和地形,我们如何实现呢?如果你看了我上面的几套机制,并且理解了,那基本没有难度,你根本不需要硬编码。但这里有个问题,我如何让客户端重现?这就是上面这篇说的关键了。

希望以上这些我多年的经验总结能够对游戏人有所帮助!

——————————2015 08 15 更新一条 ——————————————

看来感兴趣的人还是不少的,于是我发了一些关于这套机制的实际运用方式在GameRes上,主要是想说——这套东西核心还是离不开策划的设计的,同时放开脑洞去思考,才是最重要的

[技术交流]通用型buff机制在实战中的运用

四、ui设计包括游戏设计吗?

ui设计主要是手机的界面设计,不包括游戏设计的

五、选择动漫设计还是游戏设计?

动漫设计主要是针对动漫的人物、场景设计。游戏设计的分类更加多,包括游戏程序设计、2d美工(如原画)、3d美工(如3d造型)等等。两者的区别在于:

一、动漫对计算机基础要求没那么高。游戏设计无论程序还是美工,都更需要熟练使用一些软件。

二、动漫设计对美术功底的硬性要求没游戏美工高。

三、在大环境下,游戏设计更加功利化一点,现在动漫产业比较惨淡。

六、系统设计的概要设计和详细设计的区别?

概要设计和详细设计是系统设计的两个阶段,它们之间有一些重要的区别。

1. 范围:概要设计是系统设计的高层阶段,主要关注整体系统的架构、模块划分和功能组织等方面;而详细设计是在概要设计的基础上,更加详细地定义各个模块的内部结构、数据结构、算法和接口设计等。

2. 抽象级别:概要设计是对系统的整体抽象,强调系统的组织和协调;详细设计是对系统的具体实现进行细化,涉及到具体的代码实现和算法设计。

3. 目标与目的:概要设计的目标是确定系统的总体架构和功能组成,使得开发团队对系统有一个整体的理解,可以在此基础上进行开发;详细设计的目的是明确系统的实现细节,为程序员提供具体的实现指导。

4. 输出文档:概要设计通常会生成概要设计文档,其中包括系统的总体架构图、模块划分、功能描述等;详细设计会生成详细设计文档,其中包括各个模块的详细设计方案、算法描述、接口定义等。

总的来说,概要设计是对系统的整体抽象和规划,而详细设计是对系统的具体实现进行详细的设计和规范。概要设计为详细设计提供了一个框架和指导,详细设计则是概要设计的具体实现和细化。

七、导视系统设计的医院设计?

为病人创造一个温暖、舒适的视觉环境,为患者提供一个方便、清晰的视觉导向是医院标识一直的追求。

医院标识致力于送上完美的服务,让微笑洋溢每一个瞬间。  标识标牌事业部在进行医院标识系统规划设计之前,会先综合考虑医院服务的对象和地理位置,再将微笑服务具体化为直观、明确、快捷的视觉网络,将对患者的关爱体现为热情、温暖亲切的图文信息交流;将医院、患者、家庭、社会之间的联系呈现为彼此自律的文化沟通;将整个医疗过程设计为科学、有序、高效的导向流程。

八、元气骑士技能设计?

小皮游戏里有更详细的职业介绍。 解析,所以在使用一些高费的武器时也能保证蓝量,适合稳扎稳打的玩家朋友使用:一段时间内吸收所有伤害,不止一个圣骑士圣骑士 解锁条件,不容易缺蓝:1美刀 技能-能量护盾。 大概就是这样一个基本状况。升满星之后吸收的伤害将转化成能量,技能也是偏防御。

升满星之后技能可以回蓝:防御非常强大

九、游戏设计和动漫设计哪个好?

动漫设计主要是针对动漫的人物、场景设计。游戏设计的分类更加多,包括游戏程序设计、2d美工(如原画)、3d美工(如3d造型)等等。两者的区别在于:

一、动漫对计算机基础要求没那么高。游戏设计无论程序还是美工,都更需要熟练使用一些软件。

二、动漫设计对美术功底的硬性要求没游戏美工高。

三、在大环境下,游戏设计更加功利化一点,现在动漫产业比较惨淡。动漫设计:

十、ui设计与游戏ui设计区别?

游戏原画是绘画中游戏中场景角色设计, 游戏UI是用户界面的交互设计。 关于游戏原画的技能提升,轻微课平台有较多的资料。绘画学习较肝,对于掌握绘画技能点有帮助。 游戏原画: 游戏原画特指以游戏的内容进行计算机二维创作绘画或手绘制作,并以绘制的设计为基础在后期工序中用三维软件创建虚拟实体化,在编程人员努力后,最终成为游戏组成的一部分。 游戏UI: 游戏UI设计也叫做UI设计,只是针对游戏行业而已。 UI设计(或称界面设计)是指对软件的人机交互、操作逻辑、界面美观的整体设计。UI设计分为实体UI和虚拟UI,互联网常用的UI设计是虚拟UI,UI即User Interface(用户界面)的简称。

相关阅读