过去一年来,我一直在学习如何编码。 我从FCC开始,在7周内(一个月的实际编码)进行了前端认证*,加入了Chingus,学习了一些JavaScript,然后涉足了vuejs / d3js / python / django甚至一点机器学习。 我真的不知道我打算怎么做。 我只是跟随有趣的事情。 不过最近,我加入了P1xt的游戏小组,并完全改变了方向。
*因此本部分最初说了3周,但我可能还记得这个错误吗? 我查看了我的FCC页面,然后从4月13日开始(即将迎来周年纪念日),并于6月4日结束。 整个时间跨度为7周,但我也回美国探亲,所以我休了3周的时间。 总而言之,仍然为此感到骄傲。
我想花一些时间有意识地反映我学到的东西,我认为这也是分享的好机会。 因此,在这里,我们将努力保持连贯一致,buuuuuuuut没有任何承诺。
这个星期深入研究了很多事情,并试图巩固一个为期三个月的计划。 我喜欢使用asana来跟踪我的所有任务,因此将我的编码计划放在那是有意义的,唯一的问题是没有真正的公共选择。 幸运的是,这里有僵局。

您可以在https://instagantt.com/shared/s/614271304992587/latest中查看我的进度和资源列表。 第一次列出内容时,我在说明中有指向该资源的链接。 您在积压中看到的是我正在考虑添加到计划中的内容。 我希望我可以在每周的星期日或星期一进行更新。 因此,请继续关注我成为游戏开发人员的旅程。
基本上在接下来的3个月里,我想完成
- 阅读视频游戏讲故事,C#黄皮书,掌握Unity 2D游戏开发
- 学习微积分
- Udemy在Unity中掌握手机游戏开发课程
- 可能会找到更多的C#资源,尤其是在面向对象编程方面。
本周重要课程
遵循本指南https://code.visualstudio.com/docs/other/dotnet
并且不要忘记使用dotnet来启动新项目。 我一直在统一地做事情,却忘记了如何设置C#,因此当我决定遵循一些基本的C#指南时,我不记得开始一个新项目,也无法访问调试和智能感知。
第二件事是,如果在csc上的Windows上找到您的路径变量,那么您可以像这样通过终端编译代码:
csc.exe hello.cs
csc路径为c:\ Windows \ Microsoft.NET \ Framework \ xxxx
- 故事发生冲突。
- 如果您有一个已命名的角色,那么他们应该有一个发达的角色,包括历史/语音/欲望/欲望/缺陷等。
- 不要像MGS2那样,他们在11分钟的介绍中编织了重要的游戏元素和无关紧要的废话。 如果可能,不要显示。
- 让人们关心主角。 他们的需求应该与英雄相同。 想半条命。
- 记住角色弧和英雄旅程。 考虑一下您讲的故事。 不仅您的英雄应该拥有角色弧。
- DIALOUGE是解释某些事情的最后手段。
- VILLAIN非常重要。 他们应该对英雄构成重大挑战。 如果它们太简单或太弱,那么就会严重损害玩家对英雄的看法。 而且,他们应该有合乎逻辑的需求和欲望。 那里不是拥有Magneto和邪恶突变兄弟会的X战警,反派应该认为自己很好。
- 通过类扩展角色。 例如,有一个具有一些基本属性的人员类,然后有一个英雄类对其进行扩展并添加您需要的其他内容。
- 这也意味着您应该事先计划好行为。 每个角色应具有哪些属性?
- 没有一个对象会直接影响另一个对象的状态。 因此,如果您有英雄和敌人对象,并且英雄攻击了敌人,则英雄对象不应访问敌人对象的HP并直接扣除它,它应该在敌人上调用一个名为TakeDamage的方法或其他方法。
- Unity中的三种更新方法
Update():这用于您要不断检查或运行的大多数事情。
FixedUpdate():这是用于物理的最佳更新函数。
LateUpdate():最适合于相机移动或其他所有内容更新后要更新的其他项目。
- Calc很难……如果您想找到一种更好的方法直观地查看发生了什么,请首先查看微积分的本质。
- 激励自己去学习它也可能很难。 这就是使我进入如何完成该课程的更详细计划的原因。 反过来,这也使我对其他所有内容都更加详细。
- 使用系统; 系统中描述了许多有用的方法,而using语句告诉C#使用系统中的东西。
- 一个类是一个容器,您需要为每个类创建一个标识符(类通常使用大写形式,例如:MyClass,并且应与文件MyClass.cs的名称匹配)。 在C#中,一切都存在于一个类中。
- static关键字可确保始终存在以下方法,您可以按名称进行调用。 对此仍然有些困惑,但是后来被保证会提供更好的解释。
- void关键字表示此方法将不返回值。
- 您可以通过放置参考引用来传递变量 在前。 例如:(MyMethod(ref int x))。 x在此方法中的任何更改也将更新x的外部,因为…您通过引用将其传递。
- 如果您希望某个方法仅能更新一个值而不读取该值,则可以使用out关键字,如MyMethod(out int x)中一样。
- 变量通常以驼峰形式输入,例如myVariable
- 所有语句都返回一个值。 x = 5; 将返回5。因此您可以执行x = y = z = 5的操作; 并将所有三个变量设置为5。
- 变量的作用域仅限于在其中定义的块,并且c#不允许您定义与外部作用域中的名称相同的变量。
查看哈佛关于游戏设计的课程https://cs50.github.io/games/。 我曾考虑过涉足此领域,但我不想学习其他游戏引擎。 我可能会在接下来的几周内阅读这些说明,以了解是否可以收集一些游戏设计概念。
游戏设计非常有趣。 在过去的一周里,我非常努力,很高兴看到进展。 最初,我将数据科学和机器学习视为要去的方向,但我只是觉得那是为了找份工作。 当然,这很有趣,但这并不一定激励我。
但是本周的游戏设计让我思考了很多不同的事物,它们都非常有趣和令人兴奋。 幸运的是,我现在每周可以轻松地花20个小时学习。
到第二周!