为了给你一些背景,我是一个大学的计算机科学学生,正在学习使用Godot做游戏开发。我从来不知道要从哪里开始一个真正的项目,我也不觉得我的原始想法是好的。

开始一个全新的项目从零开始确实令人望而却步,所以我决定学习游戏开发的最好方法是重现我已经熟悉的游戏。我决定重现游戏Peggle。

在这个过程中我学到了很多,现在我对我的下一个项目感到更加自信,但我想分享我学到的经验,帮助刚刚开始的人。

  • 预先规划

我的一个主要问题是,我完全没有做任何预先规划。没有纹理,没有概念,什么场景或脚本将包含什么内容或功能,没有任何想法,只有我想重现Peggle的想法。这导致我定义了一些变量两次,或者在错误的地方定义它们(例如,保存击中物体的音效的变量放在物体中,而不是放在球中)

我想在我的下一个项目中,制作一个GDD(游戏设计文档)或仅仅是一个纸张,记录最基本的概念——例如记录需要的变量和最佳位置,规划纹理的外观等。但是,最初这可能看起来很麻烦,所以我不认为需要预先规划一切,如果这会阻止你开始。至少在开始之前知道一般概念是有必要的。

  • 一致性(纹理,编程等)

这是一个我开始了几个月后才完成的项目,所以当我学习了更多关于Godot的知识,看到更多的技巧后,我决定的编程风格改变了。我决定不更新我的老代码,直到我完成整个项目。但是,我认为你应该坚持你的代码风格一致。对于我来说,我学到了可以在Godot的UI中连接按钮的信号,这比通过代码来连接要容易得多。当我试图在我的代码中调试问题时,因为这个原因,我的代码很难跟随,导致我感到失望和困惑。我认为你应该坚持你的编程风格一致,即使这意味着需要去改变你的老代码。上面提到的文档也会帮助你做到这一点——记录每个东西的位置和如何编程会有很大的帮助。另外,我只是在需要时才制作纹理,导致我的菜单和纹理的视觉不一致。因为我没有一个按钮或菜单的模板,我认为更好的是在开始制作纹理之前就制作好所有的纹理,或者制作一个模板可以重复使用它们。

这些东西可能看起来很直观,但对于刚刚开始的人来说,这些东西是通过工作学习的。另外,我制作了一个YouTube视频,记录了整个过程,如果你想看到更多关于我的第一个项目的过程,我附上了视频。

总的来说,我认为重现一个我熟悉的游戏的想法是一个很好的想法,它教会我了很多关于开发。选择一个简单的2D游戏,如Flappy Bird,Geometry Dash等,然后试着理解它是如何开发的。

希望这可以帮助刚刚开始的人!