【问题标题】:Online browser game Architecture在线浏览器游戏架构
【发布时间】:2011-10-02 06:02:44
【问题描述】:

我想开发一款图形和功能丰富的在线浏览器游戏。我是这些技术的新手,所以请原谅我有任何含糊的问题:

  1. 我应该如何以及从哪里开始?
  2. 我的前端编程选择和工作流程应该是什么?
  3. 我的后端编程选择和工作流程应该是什么?
  4. 浏览器游戏需要游戏引擎吗?

【问题讨论】:

  • 游戏引擎是什么意思?
  • 你说的浏览器游戏是指“flash”游戏还是“纯HTML”游戏?
  • 再次原谅我,但你会称之为 Farmville 之类的游戏吗?

标签: architecture browser


【解决方案1】:

我应该如何以及从哪里开始?

我假设您已经对游戏的外观有了一定的了解。做一些心灵实验,看看你的愿景会走向何方。保持积极态度,不要让任何怀疑潜入你的脑海。尝试一些原型,评估它们并相应地调整您的计划。

如果您对将要使用的技术没有经验,几乎可以肯定您会遇到一些障碍,这些技术无法让您完全实现您想要的。它发生在每个人身上。从那个经验中学习并继续前进。

我的前端编程选择和工作流程应该是什么?

HTML5 解决方案将是最易于访问的,但可以说是最难实现的。你必须非常了解 Javascript。

Flash 解决方案可以毫不费力地制作出非常酷的图形效果,但有些人担心 Flash 的资源消耗。

Silverlight 是面向 Microsoft 开发人员的 Flash。它是用户最不方便访问的地方。

我的后端编程选择和工作流程应该是什么?

一些流行的网络框架:Ruby on Rails (Ruby)、Zend Framework (PHP)、ASP.NET MVC (.NET)、Django(Python)

我建议您始终以自上而下的方式实现功能:从 UI(用户希望看到/能够实现的内容)开始,到“业务逻辑”再到 DB。

随着 NOSQL 数据库的兴起,它们可能是合适的选择,而不是传统的关系数据库。选择 DB 时,请评估您的应用程序的读/写比率。通常的配方适用于读取比写入更频繁的应用程序。我怀疑游戏可能不是这种情况,所以你应该小心关注它们。

浏览器游戏需要游戏引擎吗?

我想您是在谈论成熟的游戏开发框架,而您只需要填写占位符吗?我不会选择这样的东西,甚至不知道选择。它会过多地限制我的选择。不过,我肯定会使用 3D 图形引擎等库来卸载不必要的功能,并专注于使我的游戏与众不同的地方。

但还有一个东西你可以称之为游戏引擎——它是你游戏的核心逻辑。我建议您注意并明确地建模此核心行为(很可能以 OOP 风格)。将所有内容集中在一个地方(而不是分散在整个代码库中)。与普通应用相比,游戏往往具有相当复杂的逻辑,如果你没有正确地对其进行建模,你以后可能会很难理解它。

【讨论】:

  • 非常感谢您提供如此详尽的回答
  • 只是补充一点:GWT 可以从 Java 代码生成 Javascript。所以如果你懂Java,你可能不需要懂javascript。
  • 他们在谈论 javascript 将超越世界。因此,学习一些知识并使用 node.js 做你的服务器端可能是明智的
【解决方案2】:

1.我应该如何以及从哪里开始?
对于一款网络游戏来说,我认为目前最流行的开发平台是Flash。如果你想做最新最好的,那就试试用 Canvas API 学习 HTML5。所以你有两个选择,也许你可以先检查一下哪一个最适合你?也许读一些文章或书籍?

2。我的前端编程选择和工作流程应该是什么?
对于 Flash,显然是 ActionScript。如果您想使用 HTML5,则必须使用 javascript。所有浏览器都支持 JavaScript。但请注意,如果您使用 HTML5,并非所有浏览器都支持所有 API。

3.我的后端编程选择和工作流程应该是什么?
对于后端编程,如果您想使用自己的服务器进行托管,我建议使用 Python。它很容易学习,并且仍然具有一些很棒的功能。至于工作流程,我不太明白这个问题,所以你介意在评论中解释一下吗?

4.浏览器游戏需要游戏引擎吗?
我同意其他人的观点:这取决于您所说的“游戏引擎”是什么意思。

【讨论】:

    【解决方案3】:
    • 1) 图形、基本数据库功能和数据库结构
    • 2) javascript、jquery、CSS、HTML
    • 3) PHP、shell、crontab
    • 4) 这取决于您所说的“游戏引擎”是什么意思

    你可以在这里看到简单的例子http://riseofkings.net/

    框架说明:

    框架是您使用的几个方法和类,框架可以帮助您更快地处理代码。

    class db
    {
        function db(){
             mysql_connect("localhost", "name", "pass");
             mysql_select_db("game");
             $result = query("SELECT user,important,data FROM users WHERE ....");
             $this->user_data = mysql_fetch_assoc($result);
        }
    
    
        function query($query){
             $result = mysql_query($query);
             if ($result) { return $result; }
        }
    }
    $db = new db();
    

    你可以像这样使用它

    if ($db->user_data['user'] == 1)
    {
        //do something
    }
    

    【讨论】:

    • 投反对票。我不认为 PHP 是一种前端语言。 PHP 没有浏览器支持吧?
    • 我的意思是像一个 3D 游戏引擎?
    • @bertzzie:我的意思是你可以用 PHP 做前端……@Ash:浏览器中的 3D?
    • 不是浏览器中的 3d 我的意思是我们有 3d 游戏引擎用于 3d 游戏我需要有 2d 游戏引擎用于浏览器游戏吗?
    • 如我所说,数据库函数、从数据库中选择某些内容的函数等
    【解决方案4】:

    我应该如何以及从哪里开始?

    首先是计划。你应该决定你的游戏会是什么样子,并坚持这个计划。 您还必须决定几件事,例如:

    • 目标市场是谁?有多少用户?
    • 开发团队需要多大的规模?
    • 收入模式是什么? (按下载或广告付费)
    • 什么平台(Flash 可以 - 你需要在 IOS 或 HTML5、Java 还是 .net 中运行)?
    • 您需要云后端还是分布式后端?
    • 角色设计和游戏玩法设计?
    • 开发这款游戏需要多少预算?有赞助商吗?

    我的前端和后端编程选择和工作流程应该是什么?

    您总是可以自己决定,但一切都回到需求。Esp 估计有多少用户,是服务器客户端还是单机游戏。我的建议是尝试看看成功的案例研究并从中学习。不要浪费时间进行反复试验。一个例子是愤怒的小鸟案例研究: Chrome Case study:Angry Bird linkAngry Bird case study link

    浏览器游戏需要游戏引擎吗?

    如果你对游戏引擎的定义是根据维基百科Wikipedia link

    “游戏引擎除了可重用的软件组件外,还提供了一套可视化开发工具。”,我的回答是:

    • 如果它是一个小游戏,我的答案是一个关卡(或 UI)。
    • 如果是大型游戏,多层次(或 UI)我的回答是肯定的。您不想编写代码中的每个级别。

    希望对您有所帮助。

    【讨论】:

    • 谢谢,我可能听起来很愚蠢,但我想知道像 Farmville 这样的游戏需要游戏引擎吗?我现在正在开发的游戏就像是 Farmville,但它的内容、功能和图形类似于 Farmville,但它确实具有客户端服务器架构、多人游戏支持等。除了将通过 Facebook 连接的那些。
    • 我打算用 Action Script 在 Flash 中开发游戏,并让 AS 与后端 PHP 和数据库通勤,用于登录控制、用户身份验证和页面布局等其他功能。我将使用 HTML和Java Script。我错过了什么吗?该案例研究帮助很大。请您告诉我在哪里可以找到更多关于游戏开发的案例研究,例如 Farmville 或 Angry Birds 等?非常感谢您的回复。
    • 是的,它只是一个单级 (UI) 游戏,没有多个级别或 UI。只有一个背景图像在游戏开始时加载并在整个游戏过程中保持静止,但也有很少有动画在该背景图像上运行,告诉用户当前进度等。
    • 您可以使用 Google 并输入:“FarmVille 案例研究”,是的,很明显您不需要任何游戏引擎。我不明白如果您想在 Flash 上创建游戏,为什么还需要 Javascript。如果您选择 HTML5 而不是使用 Flash,我可以理解您为什么仍然需要 Javascript。
    • 嗯,核心游戏将在 Flash 中,但我需要 HTML 来在浏览器中进行布局,对吗?之后会有用户登录认证等,比如用户是想从FB连接还是直接玩等等,输入的id和密码需要加密等,然后发送到服务器打开或显示用户过去的数据。所有我相信这不能用 HTML 完成?
    猜你喜欢
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2017-08-08
    • 2013-02-01
    相关资源
    最近更新 更多