我的游戏有不同的游戏类型,即时间试验,无限游戏等。
每种游戏类型都有不同的时间规则和潜在的碰撞规则。 显然,在时间试验中,当时间耗尽时游戏结束。
我目前正在通过'硬编码'将游戏类型添加到程序中,因此每次我想添加新的游戏类型时,我都必须重新编译整个程序。
基本上,为了使添加游戏类型更容易,我不想重新编译所有内容。因此,潜在的新游戏类型可以是可下载的内容,只需将新类型放入游戏文件夹即可。
怎么会这样做呢?我假设它是使用libs或dll或其他东西(我对此知之甚少,所以我可能完全不正确)。
我希望一切都有道理,我希望你们能帮助我,或者至少让我指向解释这种方法的书或文章的方向。
提前致谢。
答案 0 :(得分:5)
使用本机DLL实现游戏可扩展性是IMO不是一个好主意,特别是如果代码不是从头开始设计的。
您最好使用一些脚本语言,如LUA或Python,因此可以添加游戏模式而无需编写和编译C ++代码。这些很容易实现(特别是如果你使用一些绑定/包装库),但需要你设计一个脚本API,这可能是一个非常重要的任务(取决于你希望游戏可以修改多少)。这是游戏行业中非常标准的方法 - 大多数商业游戏最近都有某种脚本支持。
通常,趋势是将尽可能多的代码从核心(C ++)移动到脚本,因为这些脚本更易于开发,维护和修改。许多现代游戏在游戏性逻辑(用脚本语言编写)和游戏引擎(用C ++或其他编译语言编写)之间有着非常清晰的区别。