在线浏览器游戏架构

时间:2011-07-10 13:30:53

标签: architecture browser

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

  1. 我应该从哪里开始?
  2. 我的前端编程选择和工作流程应该是什么?
  3. 我的后端编程选择和工作流程应该是什么?
  4. 我是否需要一款适用于浏览器游戏的游戏引擎?

4 个答案:

答案 0 :(得分:2)

我应该从哪里开始?

我认为你已经了解了游戏的外观。做一些心灵实验,看看你的愿景在哪里。要积极,不要让任何怀疑进入你的脑海。尝试一些原型设计,评估它们并相应地调整您的计划。

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

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

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

Flash 解决方案可以轻松实现非常酷的图形效果,但有些人担心Flash的资源消耗。

Silverlight 是适用于Microsoft开发人员的Flash。它是用户最不易访问的。

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

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

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

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

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

我想你是在谈论成熟的游戏开发框架,你只需要填写占位符?我不会选择这样的东西,甚至不知道选择。这会过多地限制我的选择。但是,我当然会使用像3D Graphics Engine这样的库来卸载不必要的功能,并专注于让我的游戏独一无二的。

但还有一件事你可以称之为游戏引擎 - 它是你游戏的核心逻辑。我建议你注意并明确地模拟这个核心行为(最有可能的是,在OOP风格中)。将它们集中在一个地方(而不是遍布整个代码库)。与普通应用相比,游戏往往具有相当复杂的逻辑,如果你没有正确建模,你最终可能会很难理解它。

答案 1 :(得分:1)

  • 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
}

答案 2 :(得分:1)

<强> 1。我该如何以及从哪里开始?
对于在线游戏,我认为目前最流行的开发平台是Flash。如果你想做最新和最好的,那么尝试使用Canvas API学习HTML5。所以你有两个选择,也许你可以先检查哪一个最适合你?读一些文章或书籍可能吗?

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

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

<强> 4。我需要一个游戏引擎用于浏览器游戏吗?
我赞同其他人:这取决于你对“游戏引擎”的意思。

答案 3 :(得分:1)

我应该从哪里开始?

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

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

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

你总是可以自己决定,但一切都回到了要求.Esp估计用户的数量,是服务器客户端还是只是一个独立的游戏。我的建议是尝试看看成功的案例研究并从那里学习。不要浪费时间做反复试验。一个例子是愤怒的小鸟案例研究: Chrome Case study:Angry Bird linkAngry Bird case study link

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

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

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

  • 如果它是一个小游戏,一个级别(或UI),我的答案就不是。
  • 如果它是一个大型游戏,多级别(或UI)我的回答是肯定的。您不希望对代码中的每个级别进行编码。

希望有所帮助。