5年多以前,我正在玩DirectSound和Direct3D,我发现它真的令人兴奋,尽管用C++花了很多时间才能获得一些好的结果.那时我还是一名大学生.现在我主要拥有C#和PHP的企业开发经验,而且我是为了生活而做的.我们国家的游戏开发真的没有机会赚钱.每天越来越多我发现我错过了什么.所以我决定每天花一个小时左右来编程以获得乐趣.
所以我的想法是建立一个世界模拟.我想从一些简单的东西开始 - 一些类似人类的生物 - 就像模拟人生3一样,但更简单,基本的需求,基本的动画,最小的图形资产 - 我想它不会是一个城市,而只是一个大房子开始.我们的想法是拥有某种服务器应用程序,它将世界数据存储在MySQL数据库中,以及一些客户端应用程序 - 无体AI机器人模拟运动以及与世界和彼此的一些交互.但没有3D它就不会有趣.所以也有3D客户端 - 我可以进入虚拟世界并看到AI机器人的生活.当机器人进入可见区域时,它变成了材料 - 加载网格和动画,所以我可以看到它.当我离开时,机器人再次失去了他们的3D网状物体,但他们的虚拟生命仍在继续.
随着时间的推移,我希望能够像一些可扩展的脚本沙箱一样来试验各种AI算法等等.但我并不打算创建一个成熟的MMORPG:D
我已经寻找了许多我需要的东西(免费和开源),现在我必须做出选择:
OGRE3D + enet(或RakNet).旧的好C++.但是它不会让我慢下来,以至于我不再玩得开心吗?
CrystalSpace.正式不是游戏引擎,但非常接近.再次使用C++.
MOgre(用于.NET的OGRE3D包装器)+ lidgren(已在某些游戏项目中使用的网络库).好 - 我喜欢C#,它适合快速编程,也可以用于编写脚本.
XNA似乎只是一个框架,而不是引擎,所以真的有疑虑,我应该看看XNA游戏工作室:(
Panda3D - 具有正反馈的完整游戏引擎.我真的很想将所有工具集放在一个软件包中,它作为一个初学者友好的引擎有很好的评论...如果你了解Python.在C++方面,Panda3D几乎不存在文档.我有使用Python的经验,但我听说它很容易学习.如果它会很有趣又充满挑战,那么我想我会从另一种编程语言的经验中受益.
你会建议哪一个,不是因为高级功能或良好的平台支持,而是为了有趣,简单的工作流程和可扩展性,因此我可以创建和集成我需要的所有组件 - 服务器与数据库,AI机器人和3D客户申请?