我正在写一个非常简单的Java游戏。让我简要描述一下:
.... 我遇到的问题是源代码日复一日变得越来越复杂。而且我认为我在某种程度上使用了错误的方法,因为不断改变实施,我感到很累。这是我的方法:
我来自C ++背景,我很乐意编写'静态'库,例如:堆栈,队列,链接列表,树...游戏对我来说真是一个很大的挑战,特别是我必须使用Java。我理解核心编程是一样的,所以拿起Java并不是那么糟糕。但是,查找Java API的时间并不少。此外,游戏逻辑真的很难写。当此对象移动时,其他对象受到影响...,因此为方法创建测试取决于许多其他方法...等。 我真的需要一个建议。谁能分享一些如何给我写游戏的经验?我只有两周的时间来完成这项任务。我现在有45个班级,我觉得很失落,因为我写得越多越复杂:(!
祝你好运, Chan Nguyen
答案 0 :(得分:1)
首先开始像java程序员一样思考。将游戏中的每件事视为一个对象,如棋盘,考虑它所具有的属性和方法,它的界面,它与其他对象的交互方式。 如果你需要帮助,这里有一个很好的教程,可以指导你一步一步地做一个简单的java游戏,这可能会让你在正确的思维框架下开始自己的编程。我强烈建议您按照教程.http://www.cokeandcode.com/asteroidstutorial使用他们用于开发interfaz的库。
答案 1 :(得分:0)
我尊重游戏代码架构师:游戏是在运行时具有紧急属性的复杂系统,异常强烈的交互要求(UI,控件)使得许多OOP理论值得怀疑。重用游戏代码可能很困难。而且,许多前期规划工作都浪费了时间。
我认识的大多数游戏程序员,无论是开始还是退伍军人,都是通过“正确执行”迭代过程获得成功的。例如
1)写一个最小的原型。使用您能想到的最简单,最明显的架构,让一个非常基本的系统工作。 (我的家伙可以在屏幕上跑来跑去)。最多5或10个物品
2)一遍又一遍地添加功能(点数,规则,陷阱,NPC行为等)和游戏测试。这种黑客入侵可能会导致代码结构不合理,但大多数编码人员都可以使其工作。
3)重写。程序员咬紧牙关他们在(2)中必须做的一些黑客攻击,并希望将其全部抛弃并重写。抵制这种冲动,直到游戏可测试(例如,plyaers有时可以享受它,或者一个新功能需要重写)。然后,从头开始重写几乎所有的东西。这比你期望的更快,并且产生结构良好,结构良好的代码。
游戏编码器会进行测试,但对所有代码的全面测试很少见。有两个原因:出现和文化。游戏在运行时具有紧急属性(“是的,但是当NPC在......时被杀死时,点数可能会变为负值”)。由于游戏通常用于娱乐目的,因此存在快速和宽松测试的文化。游戏并不像导弹控制代码那么重要。
我希望有更多编码经验的人能够回答这个问题。 (我写了一些代码,但我倾向于快速而肮脏的脚本类型编码风格 - 我知道很多编码器比我更好。)