作者:Yahle
曾用网名:Dogvane
原载:http://www.cnblogs.com/yahle
版权所有。转载时必须以链接形式注明作者和原始出处。
1 体系结构
1.1 传统的网站的架构
传统的网站一般都是以N层结构一般N为3,就是我们常说的三层架构。
3层架构分为数据层、业务逻辑层、页面显示层。
1.2 WebGame的架构
WebGame可以看作是网站和游戏的结合体,因此它具备了这两类系统的特性。我们不但可以把WebGame看作是一个网站,也可以把它看作是一个网络游戏。
的网站是B/S结构,网络游戏则是C/S结构,WebGame则是这两者的结合我们暂且称之为B/C/S结构。既在用户眼里,它是一个通过浏览器范围的网站。在服务器系统里,它又是一个传统的C/S结构的网络游戏。
从上图分析,用户通过浏览器访问服务器的时候,首先是访问网页服务器,如windows平台下的IIS,linux下的Apache。在通过网页服务器,以某种特殊的方式(分布式访问,如.net下的remoting)去访问游戏服务器,通知游戏逻辑服务器执行玩家操作,并从游戏逻辑服务器里获得游戏相关的信息,或者直接通过访问数据库而获得游戏数据。
1.2.1 为什么要将服务器分为游戏服务器和网页服务器
网页服务器的特点是触发执行,及当有用户访问网页的时候,才会执行该网页的程序代码。而我们常见的WebGame(Ogame,Travian)这些游戏实际上是需要24小时不间断执行的,因此网页服务器的执行方式并不适合与游戏。因此我们另外需要一个应用程序来执行这些24小时不间断要做的事情。这也就是我们需要增加一个游戏服务器的原因。
1.3 Web三国的架构
因为目前Web三国是非商业开发,因此如果照搬上面的WebGame架构来设计,会导致开发周期过长,开发效率低下的问题。实际上在开发初期,Web三国是按照上面的架构去开发,碰上了上述问题,才换了另外一种结构。
实际性现在Web三国的结构和WebGame架构差不多,只不过将游戏服务器集成到网页服务器里,项目里按照传统的网站架构,将游戏分为:数据层、游戏逻辑层、页面层。
至于如何实现24小时不间断处理,者是通过在游戏启动时,创建一个线程去处理。这个是asp.net里的一个功能,我不清楚php里是否也有这样的功能。
分享到:
相关推荐
总结起来,"Webgame(最终幻想)源码"是一个使用PHP作为主要开发语言的网页游戏项目,结合了Web开发的便利性和"最终幻想"的游戏元素。通过学习和分析这个项目,开发者可以深入了解PHP游戏开发,同时接触到ASP.NET和C#...
深入研究这个源码,开发者可以学习到如何构建一个完整的Web游戏系统,包括服务器架构设计、数据库设计、用户认证流程、游戏逻辑实现等。同时,通过分析源码,也可以提升对PHP编程和MySQL数据库管理的理解,对于想要...
### WebGame大型游戏...通过上述分析可以看出,“WebGame大型游戏架构书”不仅提供了一个清晰的游戏设计框架,还详细介绍了游戏开发过程中的关键技术点和实现细节。这对于理解和学习WebGame开发具有重要的参考价值。
《最终幻想webgame(access)》是一款基于网页的在线游戏,其源码可供学习和研究。这款游戏使用了big5编码,这是一种繁体中文字符编码,主要用于处理台湾、香港等地的中文文本。通过分析这款网页游戏的源码,我们...
- **定义与特点**:Webgame,即网页游戏,是一种通过浏览器即可运行的游戏形式。它无需安装客户端,玩家可以直接通过网络浏览器进行游戏体验。这类游戏通常具有较低的硬件需求、便捷的访问性等特点。 - **开发技术栈...
【一个js的webgame引擎】是一个在2007年夏天研发的JavaScript游戏开发框架,专为构建Web游戏提供基础支持。尽管这个引擎在当时可能处于不完整状态,特别是其人工智能(AI)部分尚未实现,但我们可以从这个项目中探讨...
总的来说,"Web象棋游戏 开源"是一个涵盖Web开发、服务器端编程、用户界面设计、游戏逻辑和在线通信的综合项目,对于想要学习和实践JSP开发、了解B/S架构以及游戏开发的初学者来说,是一个非常有价值的参考资料。
【标题】"Webgame ASP JavaScript在线游戏源代码"揭示了这是一个使用ASP(Active Server Pages)技术和JavaScript编程语言构建的在线游戏平台的源码资源。ASP是微软开发的一种服务器端脚本环境,常用于动态网页的...
Unity3D是一款强大的跨平台游戏开发工具,专用于创建交互式3D和2D应用程序,包括游戏、模拟和可视化项目。这款引擎以其易用性、灵活性和高效的性能而闻名,支持Windows、Mac、Linux、Android、iOS等多个平台,并且...
资源名称:webgame网页游戏开发设计简明教程 中文WORD版本文档是webgame网页游戏开发设计简明教程;webgame程序构成:三大部分。第一是数据流程。第二是程序。第三是美术。其中,数据流程包括了功能。也只有在功能中...
【标题】"侠域网页游戏WebGame源代码" 涉及的知识点主要集中在网页游戏开发、PHP编程语言以及Web应用程序架构上。侠域网页游戏是一款基于Web平台的游戏,其源代码的公开提供了深入理解此类游戏开发过程和技术实现的...
描述: "本文档主要讲述的是网页游戏开发入门教程(webgame+design);希望对大家的学习会有帮助;感兴趣的朋友可以过来看看" 知识点: 1. 网页游戏开发基础:该文档是一份入门级教程,主要面向对PHP5网页游戏开发感...
假设我们要开发一个简单的策略游戏,其中包含以下元素: - **地图**:用于定义游戏世界的空间布局。 - **城市**:玩家可以在地图上建立城市,每个城市可以拥有不同的建筑。 - **建筑**:每种建筑具有不同的功能,如...
- **Webgame定义**:Webgame是一种基于Web浏览器的游戏形式,玩家无需安装客户端软件即可通过互联网进行游戏。 - **开发环境**: - 后端语言推荐PHP,因其简单易学且广泛应用于Web开发领域。 - 数据库推荐MySQL,...
6. **游戏框架分层**: 一个良好的游戏架构应该有明确的层次,如视图层(显示游戏画面)、逻辑层(处理游戏规则和事件)和数据层(存储和管理游戏状态)。这样的设计有利于代码的复用、维护和扩展。 7. **学习资源**...
本资源提供了一个基于FLASH技术的多人在线游戏社区的完整源码和服务端,旨在帮助开发者理解和构建类似的WebGame平台。以下是对这个项目的详细解析。 首先,我们要明确的是,FLASH是一种广泛应用于网页动画和游戏...
10. **游戏架构设计**:使用Flex开发游戏,还需要考虑如何组织游戏的架构,例如MVC(Model-View-Controller)、MVVM(Model-View-ViewModel)等设计模式可以帮助保持代码的整洁和可维护性。 总之,使用Flex框架开发...
### 网页游戏架构与开发入门 #### 网页游戏的概念与特点 网页游戏是一种结合了网站和游戏特性的新型游戏形态。不同于传统意义上的客户端游戏,网页游戏无需安装客户端,用户仅需通过浏览器即可体验游戏内容。这种...
WebGame是一种基于Web浏览器的游戏,通常使用Flash技术来实现丰富的图形界面和交互性。在这个特定的资源包中,我们关注的是ActionScript(AS)源代码,它是Flash开发的主要编程语言。 ActionScript是基于ECMAScript...