2011-08-24 56 views
0

我有一个用VB 6.0写的板球管理游戏(如足球经理)。它使用MS-Access作为后端和win-32 API调用来绘制UI屏幕。这是一个具有90,000多行代码的合理大型游戏。现在,我想用Java,Python,C++等其他技术重新编写游戏。基本上我想摆脱微软技术(最好是转向免费提供的技术)。语言和数据库适合数据驱动的游戏,如足球经理

所以,请帮我选择适用于应用逻辑,UI和数据库的正确技术。以下是我对三层的更广泛的要求。

应用程序逻辑:
游戏需要进行计算的1000在内存中的数据,并不断将数据写到文本文件(保存游戏文件)。它也需要做非常快速的数据库操作。

用户界面:
用户界面不需要非常强大。唯一的要求是能够以最小的动画效果开发出美观的屏幕。以下是当前屏幕图像的链接供您参考。 http://imageshack.us/g/148/89832593.png/
我可能还会在未来添加2D图形。

数据库:
该数据库包含含有多达300000条记录的大桌子周围20桌。再次,我想使用免费的数据库,如MySQL或平面文本文件。我很想知道像“足球经理”或“板球教练2011”这样的游戏所使用的数据库。

注意:请不要考虑学习所提议的技术所需的努力。我会照顾他们的。

更新:
现在我已经决定与C++和SQLite继续前进,请直接与我有关的IDE和基本工具/库,我应该使用开始。

我已经在使用“Visual Studio”和“Eclipse”的经验。我可以使用其中之一吗?或者我可以和QT一起去(我读过QT是跨平台的,但是,它只是用于移动开发,还是我可以将它用于桌面应用程序)?

And, 最初的IDE选择有多关键? 我可以在稍后阶段转移到其他IDE吗? 如果我使用Visual Studio,我是否会被绑定到Microsoft技术?

如果可能,请给我链接到任何示例来开发屏幕,如我在上面提供的链接。

回答

1

对于数据库,我会建议SQLite的:http://sqlite.org/

它是免费的,快速和无服务器。无服务器是关键。有一些缺点可以在他们的网站上阅读,但对于独立应用程序来说,它应该比使用文本文件好得多。

+0

Hello John,它是否具有Java和Python等语言的驱动程序? –

+0

@Srikanth:这里是一个包装的列表:http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers它看起来有一切在阳光下。 –

2

[我现在看到一个“在线游戏”是我的一个假设。因此,在阅读本文时请记住这一点。]

我会考虑您的托管选项。如果你想开源或者按照鞋子预算来运行它,并在最广泛的可用托管服务上运行它,那么你可能需要使用LAMP技术。这将排除我最喜欢的语言Java作为语言的基础选择。 PHP几乎总是在廉价的托管选项上可用。 Perl和Python在许多主机上也可用,但现在PHP几乎得到保证。但是,如果你将在“无论它需要”的环境中托管它,我是Java,Tomcat,JBoss等的忠实粉丝。但是这些技术虽然强大,但却花费了大量的时间加速使用,但更重要的是,要有效和高效地使用。

对于数据库来说,MySQL是一个很好的选择。 Postgresql是另一个免费的选择(在某些方面,或许MySQL是免费的,因为MySQL的Oracle连接)。但是MySQL很可能在很多便宜的主机上更容易获得。 MySQL也具备“非常快速的操作”资格。

无论数据库选择如何,您都可以抽象出您的数据库代码,以便在需要更改(或需要更改)时尽可能少用大惊小怪。在这方面,PHP和Java都有很好的ORM来帮助你。

看看游戏中使用什么样的数据模型比如* Manager标题会很有趣。我怀疑它很好地映射到关系数据库。但我个人在寻找一个很好的理由来涉足NoSQL解决方案。

HTML和CSS让客户端启动。

+0

Hello Marvo,我认为是后端的NoSQL解决方案。但我不确定如何实施它。进一步的指导将不胜感激。顺便说一下,我的应用程序是一个桌面应用程序。对不起,如果我的问题不够清楚。 –

+0

我认为你的问题非常清楚。我只是将自己的想法投射到你的想法上。 =) 我已经参加了关于用户组的NoSQL解决方案的几次会议,但就是这样。不过,我还没有听说过任何桌面解决方案。 – Marvo

+0

我还会提到Java是一种适用于桌面上运行的游戏的可行语言。它提供了可移植性,如果你使用Swing或类似的东西,在每个平台上看起来都是一样的,并且对于所讨论的游戏类型,它将提供必要的性能(假设游戏中的任何地方都没有抽搐元素)。需要安装一个JVM,但是,一个.NET解决方案也需要一个虚拟机。 (还有另一种选择我的语言的插件。) – Marvo