背景信息:我最近决定承担一个制作社交浏览器游戏的项目。 目前我没有什么大不了的,但是我尤其想尝试制作一个有趣的Facebook应用程序,让我和我的朋友可以玩(也许它变得越来越流行,但我不要误入歧途)。
首先,我想说明一下,我总体而言在编程方面处于中等水平(我已经开发了一个php / mysql网站,使用Java制作了粗糙的3d游戏引擎,进行了一些嵌入式C编程等工作-提出了一个我需要的帮助级别)。 如前所述,我知道php并且可以使用sql数据库。 我的JavaScript可能很普通,因为我没有广泛使用它,但是我正在学习并且并不太觉得困难。 我一点也不了解flash,但似乎趋势是朝着html5和canvas发展。
直截了当的问题:我想从html5 + javascript,mySQL数据库和php开始。 但是,我不太确定如何将其集成到游戏中。 我主要关心的是使用什么工具在客户端和服务器之间进行通信。 我说所有相关的计算(例如,资源)都保留在服务器端是错误的,因为高级用户可能会遭到入侵?
其次,您将如何在客户端和服务器之间发送数据(显然无法发布和重新加载页面)? 我以前使用过ajax,但是我不确定这是否是可行的方法。
我不需要复杂的答案(尽管我不会抱怨!)。 如果有人能简单地指出我正确的方向,我将不胜感激。 谢谢!
*我想我应该补充一点,游戏应该是交互式的,而不是基于文本的(因为在这里可以简单地发布)
***对同一问题感兴趣的任何人,请查看以下内容: nodejs:Ajax与Socket.IO的优缺点 (我之前未发现此问题的原因是我不知道套接字连接)
扩展我之前的评论:
现在,在html5游戏中,有两个选项可用于在客户端和服务器之间进行通信。 您选择哪种游戏取决于您制作的是哪种游戏。 对于实时的多人类型的通信,您应该使用websockets ,而不是常规的AJAX来实现基于回合的更多功能(在此处插入强制性的“使用jQuery”)。
另外,是的,您希望保留相关的计算服务器端。 只需使用javascript将数据传递到服务器,然后显示该数据(请考虑MVC框架,其中Javascript是视图)
旁注:如果您确实制作多人/实时游戏,则应避免在MySQL中存储玩家的当前位置,因为这会使您的速度大大降低。 到那时,您最好再做其他事情。
如果您想开发一个Facebook游戏,那么最好的资源可能是Facebook发布的描述Facebook API本身的Facebook开发者页面。