我是一名热衷于武术的学生,尽管我不会称自己为专家。我更愿意将自己视为永恒的白带,不断寻求知识。
虽然我对各种武术有基本的了解,包括拳击、希腊罗马摔跤、德国和意大利长剑、苏格兰后手、柔术(传统和巴西)、萨瓦特和柔道,但我的专业知识全面有限。然而,超越不同武术的一个概念是“型”。
就其最简单的形式而言,型是单独练习的预定动作序列。型式旨在完善技术、增强平衡性并培养心理纪律。它们有助于记忆和重复基本动作。
考虑到自 19 世纪大多数现代武术体系编纂以来教育学的进步,关于型作为教学方法的有效性一直存在争论。
然而,本文的范围并不深入探讨这一争论。相反,我的目标是使用 kata 的概念来介绍一系列可以在Unity或任何其他游戏引擎中执行的练习,以增强您对引擎的理解并提高您的游戏开发技能。
与套路类似,我建议的练习是为了训练和模拟,它们永远不能取代工作经验,你应该调整和塑造它们以适应你喜欢的工作风格。
另一方面,必须记住,游戏开发是一个无政府状态的领域,规则很少,除了一些实用的指导方针,例如避免在周五或假期之前发布项目。
事不宜迟,让我们深入研究 katas 本身:
研讨会是我们将探索的第一个型。从本质上讲,Workshop 是一个永恒的 Unity 项目,您可以在其中实验、测试新概念并探索最近发布的功能。
将其用作概念验证的舞台。当您有一个新的游戏创意并希望快速对其进行原型设计而不用担心名称、设计或除核心游戏玩法(这应该是您的主要关注点)之外的任何内容时,创意工坊提供了一个理想的环境。
将其用作常用代码的存储库。某些代码片段不可避免地会被重用,但您可能不想每次都依赖于网络搜索。例如,在我的工作室中,我有自定义代码片段,用于处理按钮、游戏状态、暂停菜单以及每个游戏所需的各种其他基本元素。这些片段节省了时间和精力,无需为每个新游戏编写自定义代码。
如果您从在线源复制代码,则此方法的一个有用提示是确保您理解复制的代码,重写它以遵循项目的风格和标准,并添加指示其来源的注释。代码作者可能会更新他们的实现,或者您可能会忘记使用特定解决方案的上下文,但注释可以提供必要的信息。
利用它来学习、实验和测试新功能。通过将 Workshop 项目保持更新到最新版本(您可以为 LTS 版本维护一个单独的分支),您可以探索新功能,而无需创建全新项目或更糟的负担,尝试将它们融入您正在进行的项目。
您是否曾经在玩游戏时想知道“他们是如何做到这一点的?”现在是你找出答案的机会。当您缺乏自己的游戏开发想法或处于项目之间时,请选择您最近玩过的游戏,从该游戏中选择机制、效果或功能,然后尝试克隆它。
当我提到克隆时,我指的并不是精确的复制品,而是捕捉所选元素的本质。
例如,我最近对《蜘蛛侠:迈尔斯·莫拉莱斯》中的运动系统很着迷。然而,尝试克隆如此复杂的 3D 动作游戏的整个运动系统将是相当具有挑战性的。相反,我会专注于克隆最吸引我的方面,例如网络摆动。为了实现这一目标,我不需要完整的蜘蛛侠模型或详细的建筑物。一个简单的立方体响应玩家按钮的按下并创建一条绳子,玩家角色可以通过绳子摆动并向前移动,这足以复制原始游戏中体验到的移动自由度。
为自己设定严格的时间限制。请记住,您并不是在创建整个游戏,而是从现有游戏中克隆单个元素。为全日制学生和在职开发人员分配大约六个工作日(相当于三个周末)的充足时间。
这是利用研讨会的绝佳机会。它提供了一个理想的空间来存储您的克隆项目。如果您决定进一步追求某个特定概念,您可以轻松地将其复制到自己的项目中,而无需筛选废弃的 Git 项目列表。
如果您感觉自己的作品集有些不足,那么这个练习是增强它的绝佳方法。采用克隆的元素,并通过添加菜单、暂停功能、背景音乐和解释您的目标的介绍来对其进行完善。这样的成品比一份充满精彩但未完成的游戏创意的文件更能给招聘人员留下深刻的印象。
每次克隆练习后,进行简短的事后分析。反思哪些行之有效,找出弱点,考虑未来的改进,并汲取任何值得发扬光大的宝贵经验教训。
有时候,我也会沉迷于小丑表演。我选择一个技术上有趣的想法,或者结合了我希望学习或重温的几个技术组件,但没有商业潜力或实用价值。
小丑的目的是消除追求完美的压力。当从事旨在盈利或向他人展示的项目时,设计决策变得更加有意识。小丑可以让您专注于加深特定领域的知识。
例如,几年前我开始了一个名为“Wizardry Exchange”的项目。该应用程序可将现实世界的货币(加元、欧元、英镑或美元)转换为哈利波特宇宙中使用的货币(克纳特、镰刀和加隆)。该项目涉及前端的 Unity3D WebGL、后端的 Go、自定义缓存系统以及使用 Docker 在 AWS 上的部署。
这是一个实用的或有用的项目吗?一点也不!前端不需要 Unity,Go 对于一些简单的端点来说太过分了,而且应用程序可以在土豆上运行,更不用说 AWS 了。
那么,为什么要经历这些麻烦呢?要了解 Unity 中的WebGL ,请使用 Go 进行服务器开发,并获得在AWS上使用 Docker 构建和部署应用程序的经验。最终的结果并不像获取知识的过程那么重要。
这三个 katas 可以帮助您加深对 Unity 或任何游戏引擎的理解。
我想提请大家注意我之前使用的一个特定短语: “训练方案” 。
这种方法指导了我超过 15 年的工程实践。我认为从大学毕业就像获得黑带一样,与柔道(腰带系统的起源)类似,黑带意味着掌握基础知识而不是精通。
预计在获得黑带后,人们会进行独立研究,以进一步发展他们的柔道艺术技能。
同样,毕业后,您有责任建立培训方案以不断提高您的技术技能并获取知识。虽然您可以通过工作获得知识,但可能缺乏指导和个人发展。
因此,制定一个培训方案来提高您的工程技能至关重要。这样,如果出现机会,例如公司空缺新职位、当前工作终止或在其他地方遇到诱人的职位,您所拥有的不仅仅是工作经验。
请记住,与大学不同,您的工作不一定会优先考虑将您的才能提升到一定程度。做好工作就可以了,但区分两者有时可能具有挑战性。制定适当的培训方案可以保障您的职业成长。
我希望您已经发现这些型,即使没有用,至少也很有趣,并且它们可能会开启一种提高您的技术技能的新方法。
也发布在这里。