我想知道如何用SDL lib创建一个fps游戏?
有没有可以用例子解释的书籍?
这赢得了大多数开放式问题.你可以写一本书.但让我们安心指向正确的方向......
第一步,你需要这样一个项目的良好调试技巧.选择史蒂夫麦康奈尔的代码完成.阅读整个事情.投入的时间比你能阅读/试验的任何东西都要多.
获取一些游戏的一些源代码.任何游戏.确保在看到大而复杂的东西之前看到一些简单的东西,并且当你看到他们可能拥有的任何游戏代码时,请记住,他们可以让你有更多的时间进入它.这一点的重点是看代码结构.
获得3D数学的参考,不必深入,但你需要知道像点产品前后的东西,能够弄清楚如何在世界上为你的相机创建矩阵等.(即使你写了0%的渲染代码)
(编辑)这是一本关于3D数学的好书,3D游戏编程和计算机图形学,第二版(游戏开发系列)这不是你在大学里学到的那种,它更像是三角形和更先进的实用概念之间的交叉:如何为自己创建简单物理,高效碰撞检测等工具箱
您需要了解有关渲染和管道的知识.SDL为您提供了支持,但请确保您了解其正在做的事情的概念.
阅读有关实际系统设计的信息.您的各种系统必须互锁.好好想想.你的系统在C或C++中可能只是一个很好的系统,它是你的数据/控制将如何计算的思想,而不是你如何完美地模拟设计模式(虽然这些非常有用,但粗略)
人工智能的基础知识,不是"真正的"人工智能,而是功能性人工智能; 有一个很大的不同.状态机很好开始,并且足以用于简单的FPS.
了解一下估算和规划.您没有时间做任何您想要做的事情来正确制作FPS.你将不得不进行分类并学习如何分类; 它们是两个不同的东西,后者很难.经验是这里最好的老师.(虽然传说中的麦康奈尔也有这方面的书)
有一个系统可以将您的游戏玩法插入到关卡中.如果只是你作为程序员,那么最好的办法就是为现有的编辑程序(如3DS Max)编写一个插件.我强烈推荐Max over Maya为程序员.Maya脚本很不错,但它更适合聪明的非程序员.我发现3DS Max更多地考虑程序员如何创建和编辑你的世界.
您可以花费YEARS制作工具来让您正确地执行此操作,因此您希望以可以快速准确编辑的方式执行操作如果您制作自己的编辑器,请将其合并到游戏世界中.如果你的世界不是真正的3D并且你想要快速提高水平,你可以将你的等级数据保存为这样的东西,这将节省你很多时间,其中X是墙,其他字母是游戏对象,这是一个污垢简单的解析器可以转换为游戏对象和世界坐标
xxxxxxxxxxxxxxxxxxxxxxxx xx..........P..........x xxxxxxx...........I....x xR....xxx...........E..x xx.................0xxxx xxxxxxxxxxxxxxxxxxxxxxxx
但这一切都取决于你的游戏.我的观点是,您将需要求助于"贫民窟编码"如何将您的游戏数据传输到您的世界非常重要,您需要考虑一些既快速实施又快速与您合作的东西.
它归结为什么是你的目标?如果要学习以绝对正确的方式编写代码,期望花费大部分时间来迭代一个月前看起来不错的代码,但现在您已经意识到您的要求是什么,它可能真的使用另一个传递.不要害怕改写,您这样做,学到很多东西,但如果你的目标是功能,你可能需要找出在破解一些东西(比如嵌入游戏数据河畔坐标转换成代码文件),它IS OK(确定)黑客,只要你知道你在哪里攻击,并小心地将它与你的好代码分开,这样你就可以回去并在你有机会时正确编写代码.
最重要的是,您需要确定您的目标是什么,学习或功能,并找到介于两者之间的快乐媒介.
在fileshack下载地震3来源并从中学习.