Онлайн браузерная игра Архитектура - PullRequest
2 голосов
/ 10 июля 2011

Я хочу разработать браузерную онлайн-игру с большим количеством графики и функциональности. Я новичок в этих технологиях, поэтому простите меня за любые смутные вопросы:

  1. Как и с чего мне начать?
  2. Каким должен быть мой внешний интерфейс программирования и рабочий процесс?
  3. Каким должен быть мой внутренний программный выбор и рабочий процесс?
  4. Нужен ли игровой движок для браузерной игры?

Ответы [ 4 ]

2 голосов
/ 10 июля 2011

Как и с чего мне начать?

Полагаю, у вас уже есть видение того, как должна выглядеть игра. Проведите мысленные эксперименты и посмотрите, куда ведет ваше зрение. Будьте позитивны и не позволяйте никаким сомнениям проникнуть в ваш разум. Попробуйте некоторые прототипы, оцените их и скорректируйте свои планы соответственно.

Если у вас нет опыта в технологиях, которые вы собираетесь использовать, почти наверняка вы столкнетесь с некоторыми препятствиями, когда эти технологии не позволяют вам достичь именно того, чего вы хотите. С кем не бывает. Учитесь на этом опыте и двигайтесь дальше.

Каким должен быть мой внешний интерфейс программирования и рабочий процесс?

HTML5 решение будет наиболее доступным, но, пожалуй, наиболее трудным для реализации. Вы должны очень хорошо знать Javascript.

Flash решение может иметь действительно классные графические эффекты без особых усилий, но некоторые люди обеспокоены потреблением ресурсов Flash.

Silverlight - это Flash для разработчиков Microsoft. Это наименее доступно для пользователей.

Какими должны быть мои варианты внутреннего программирования и рабочий процесс?

Некоторые популярные веб-фреймворки: Ruby on Rails (Ruby), Zend Framework (PHP), ASP.NET MVC (.NET), Джанго (Python)

Я бы посоветовал вам всегда реализовывать функции в нисходящем порядке: начните с пользовательского интерфейса (то, что пользователь хочет видеть / сможет достичь) до «бизнес-логики» вплоть до БД.

С появлением баз данных NOSQL они могут подходить лучше, чем традиционные реляционные базы данных. При выборе БД оцените соотношение чтения / записи вашего приложения. Обычные рецепты предназначены для приложений, в которых чтение происходит чаще, чем запись. Я подозреваю, что это не относится к играм, поэтому будьте осторожны, следуя им.

Нужен ли игровой движок для браузерной игры?

Полагаю, вы говорите о полномасштабной среде разработки игр, где вам остается только заполнить заполнители? Я бы не выбрал такую ​​вещь, и даже не знал бы о выборе. Это слишком ограничит мои возможности. Тем не менее, я бы определенно использовал некоторые библиотеки, такие как 3D Graphics Engine, чтобы избавиться от несущественных функций и сосредоточиться на том, что делает мою игру уникальной.

Но есть еще одна вещь, которую вы можете назвать игровым движком - это основная логика вашей игры. Я бы посоветовал вам обратить внимание и явно смоделировать это основное поведение (скорее всего, в стиле ООП). Соберите все в одном месте (а не разбросайте по всей базе кода). Игры, как правило, имеют довольно сложную логику по сравнению с обычными приложениями, и если вы не смоделируете ее должным образом, вам может быть трудно понять ее позже.

1 голос
/ 12 июля 2011

Как и с чего мне начать?

Сначала идет планирование.Вы должны решить, какой будет ваша игра, и придерживаться плана.Вы также должны принять решение о нескольких вещах, таких как:

  • Кто является намеченным рынком?Сколько пользователей?
  • Насколько большой команде нужно развиваться?
  • Какой будет модель дохода?(оплата за скачивание или рекламу)
  • На какой платформе (нормально ли работает Flash - нужно ли работать в IOS или HTML5, Java или .net)?
  • Вам нужен облачный или распределенный сервер?
  • Дизайн персонажей и игровой процесс?
  • Какой бюджет нужен для разработки этой игры?Любой спонсор?

Каким должен быть мой выбор внешнего и внутреннего программирования и рабочий процесс?

Вы всегда можете решить самостоятельно, но всеВернемся к требованию. Подскажите, сколько оценил пользователь, это сервер-клиент или просто отдельная игра.Мой совет: попробуйте взглянуть на успешные примеры и учиться там.Не тратьте время на проб и ошибок.Одним из примеров является тематическое исследование Angry Bird: Chrome Пример использования: ссылка Angry Bird и ссылка на исследование Angry Bird

Нужен ли мне игровой движок длябраузерная игра?

Если ваше определение игрового движка соответствует Википедии ссылка на Википедию :

"Игровые движки предоставляют набор инструментов визуальной разработкив дополнение к повторно используемым программным компонентам. ", мой ответ будет:

  • , если это небольшая игра, мой ответ на один уровень (или пользовательский интерфейс) - нет.
  • , еслиэто большая игра, многоуровневая (или пользовательский интерфейс) мой ответ, это да.Вы не хотите кодировать каждый уровень в коде.

Надеюсь, это поможет.

1 голос
/ 10 июля 2011

1. Как и с чего мне начать?
Для онлайн-игры, я думаю, наиболее популярной платформой для разработки на данный момент является Flash. Если вы хотите сделать самое последнее и самое лучшее, попробуйте изучить HTML5 с помощью Canvas API. Таким образом, у вас есть два варианта, может быть, вы можете начать с проверки, какой из них подходит вам больше всего? Может быть, прочитали несколько статей или книг?

2. Каким должен быть мой внешний интерфейс программирования и рабочий процесс?
Для Flash, очевидно, ActionScript. Если вы хотите использовать HTML5, вам придется пойти на JavaScript. JavaScript поддерживается во всех браузерах. Но будьте осторожны, если вы используете HTML5, не все API поддерживаются во всех браузерах.

3. Какими должны быть мои варианты внутреннего программирования и рабочий процесс?
Для внутреннего программирования, если вы хотите использовать свой собственный сервер для хостинга, я бы порекомендовал Python. Это легко учиться и все еще иметь некоторые замечательные функции. Что касается рабочего процесса, я не совсем понимаю вопрос, поэтому не могли бы вы объяснить его в комментарии?

4. Нужен ли игровой движок для браузерной игры?
Я согласен с остальными: это зависит от того, что вы подразумеваете под «игровым движком».

1 голос
/ 10 июля 2011
  • 1) Графика, основные функции базы данных и структура базы данных
  • 2) JavaScript, jquery, CSS, HTML
  • 3) PHP, оболочка, crontab
  • 4) Зависит от того, что вы подразумеваете под «движком игры»

Вы можете увидеть простой пример здесь http://riseofkings.net/

Объясните для рамок:

Framework - это пара методов и классов, с которыми вы работаете, и Framework помогает вам быстрее выполнять код.

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...