Как сделать браузерную игру
как сделать(создать свою) браузерную онлайн игру
Это было написано специально для темы: Принцип создания браузерной игры
Я уже много лет горю идеей с нуля создать браузерную онлайн игру с радостью поделюсь выводами, к которым я пришёл по данному вопросу за столь длительное изучение этого вопроса. всё по пунктам:
A. ТЕОРИЯ
Время Ворда и Блакнота.
На этом этапе я советовал бы пользоваться этими двумя прожками и писать, записывать, конспектировать всё что вам приходит в голову.
Не просто придумать, а придумать, продумать и развить эту Идею, иначе ваша идея может со временем вам разонравиться, а развивая её, вы не только подогреете собственный интерес к ней но и увеличится ваш энтузиазм что тоже является не маловажным при создании и разработке чего либо.
На этом этапе необходимо самому себе ответить на вопрос: “в каком Мире и времени будет проходить игровое действие?” и “какого жанра будет ваш мир?”:
Стандартные игровые временные:
– Каменный век
– Средние Века
– Реальность
– Кибер-панк
– Футуристическое будущее
Далее стоит выбрать в каком жанре будет ваша игра:
– Arcade, Quests, Fighting, Racing, Strategy, FPS, TPS и др.
а так же определить возможности взаимодействия с другими игроками, какой будет ваша игра:
– Одиночая Игра
– Игра несколькими игроками сразу
– MMO и др.
Это один из важнейших этапов создания игры, к которому вы будите возвращаться ещё не раз!
На этом этапе надо подумать и ответить на нижеследующие вопросы:
– какие действия будут доступны игроку?
тут я бы советовал записывать все мысли что приходят в голову (как правило в хаотичной последовательности) затем прочесть записи добавить те что пришли во время прочтения, затем убрать те что представляют собой одно и тоже (бывает что по началу мысли кажутся разными а в последствии понимаете что это один и тот же бред) затем идёте вниз по списку и добавляете больше конкретики к каждой мысли. что бы потом не спрашивать у своего мозга: “Что ты имел ввиду под этой фразой?”
Необходимо так же продумать ещё и такие вещи как:
– Взаимодействие игрока с окружающим миром.
Что он может и при каких условиях. К примеру Войти в пещеру
– Взаимодействие игрока с другими игроками.
К примеру Торговля, Нападения
– Социальную составляющую (Добавление в друзья, Публикация в соц. сетях, Реферальные программы)
Если это РПГ то надо так же продумать:
– Рассы
– Классы
– Профессии
– Способности(Магия)
– Всевозможные предметы (их типы и классификация)
– Древо развития персонажей
Если Стратегия то надо продумать :
– Строения
– Юнитов
– Древо развития Игрока
Для любой игры характерны:
– Игровые ресурсы
Они бывают виртуальные (зарабатываемые в игре) и реальные (реал, донат)
Для других жанров описывать подробно не буду, думаю логика этого пункта ясна.
О чём ещё тут можно подумать: донат ( что вы будите продавать если будите – какие услуги), аккаунты, петы, флай, Рейды, Пати, Свадьбы, Апгрейды – это ведь всё тоже часть геймплея. всё на геймплее мозг высох. иду дальше)
В Общем в этом пункте вы описываете всё то чем предстоит заниматься игрокам и всё что он может, с чем они взаимодействуют , как они взаиможействуют . Стоит отметить тот факт что вы уже выбрали жанр игры и теперь у вас есть рамки за которые вам не желательно выходить, что бы не нарушать жанр, иначе у вас будет смешивание жанров, что не есть очень хорошо т.к. это куда сложней в реализации и продумывании логики движка.
По чему Приблизительный: Да потому что Экономика – это совокупность отношений, складывающихся в системе производства, распределения, обмена и потребления(Wiki). Вот так. Короче тут надо придумать каким способом будут добываться игровые ресурсы. Как часто они будут добываться? В Каком количестве? Можно ли улучшить скорость, количество добываемых ресурсов (если да то думаем как? и идём в пункт А.3. записывать) Так же подумать как будут расцениваться в игре предметы, Юниты , Сзтоения, Способности, от чего будет зависить их стоимость и что на неё будет влиять. (чуете сколько предстоит работы?)
Почему “накидать” а не сделать идеальную экономику сразу же?
Экономика на самом деле очень сложная часть игры и достигается баланс в экономике только спустя многие дни или даже месяца. В общем лучше сперва сделать то что надо сбалансировать, затем уже заниматься балансом.
Поэтому – накидать. причём в процессе “набрасывания” вы уже почувствуете какой она должна быть.
P.S. Я бы советовал задействовать в этом пункте Excel.
Сюжет это та ниточка которая связывает Игрокам руки и ноги, заставляя распутывать себя, интригуя неожиданными поворотами и фиеричными развязками.
Какой бы классный Геймплей вы не придумали без сюжета игра потеряет к себе интерес.
B. ИНТЕРАКТИВ в картинках
Пришёл этап рисования.
Не советовал бы я сразу после Раздела – А браться за программирование т.к. Всё вышеописанное это лишь Идея, без чёткого визуального восприятия таковой. Вот что бы это исправить и нужен ещё 1 раздел.
Тут всё немного попроще. Здесь представляем что мы Игрок перед которым форма регистрации с полями:
1. Зарисовываем форму что бы понять как будут распологаться поля, кнопки, подсказки, иконти и т.п.(если у вас есть перечисленные элементы)
зарегились (в воображаемой форме) что дальше. дальше наверное письмо с подтверждением почты но это можно пропустить пока. далее начинается самое интересное, надо представить себе Интерфейс.
т.е. Вот зарегился игрок или просто ввёл свои данные для того что бы войти в игру. и что он будет видить при входе в игру. Интерфейс это у нас расположение кнопок и окон несущих различную информацию.
так же стоит подумать о визуальном виде всяческих подсказок и оповещалок (новый квест, достижения, сообщения)
хоп. Достижения. go Раздел А пункт 3.
Далее представляем каждое окошко по очереди которыми вы хотите наградить игру, это могут быть:
– Окно Заданий
– Окно Достижений
– Окно Настроек
– Окно Экипировки
– Окно Инвентпря
– Окно Крафта
– и разные другие примочки.
Я бы советовал на самом деле в ходе визуализации, перед зарисовкой, записывать что именно вы хотите видеть и на каком этапе, т.е. Какие кнопки, как называются?, что они делают. и другие элементы в зависимости от жанра. затем уже имея набор необходимых элементов из них делать Интерфейс. так слегка проще. Но в этом пункте вы тоже будете периодически возвращаться к истокам что бы: добавить, подправить, перенести, убрать
не бойтесь изменений. главное что бы интерфейс был удобным и понятным. иначе пользователь не разберётся в нём и покинет игру.
Советы:
– не используйте сразу супер графику и рисунки, сперва лучше сделать для тестовой версии игры графику от балды, что бы не терять время на её рисовку, а рисовать уже утверждённые вещи.
– Рассчитывайте при позиционировании элементов на то что у вас может появиться идея ещё что нибудь вставить рядом с каким нибудь элементом. либо что элементов может быть множество. к примеру квестовые оповещения вдруг у вас будет оповещение тип:
– Квест Выполнен
– Уровень Повышен
– У вас Новое Задание
– У Вас Новое задание
т.е. тут 4 оповещалки сразу. и если такого не предусмотреть, то либо вёрстка полетит к чертям либо игрок не увидит 3 других оповещения.
Первый этап практики я бы отметил это создание Архитектуры базы данных.
тут надо правильно распределять по таблицам данные которые вы хотите сохранять на сервере.
К примеру таблица `users` с полями: id, login, passsword, email, gender, birthday, charborn, avatar
таблица `world` с полями: id, x, y, city, url, type
и таких таблиц будет не мало. Ну не менее 20 вроде, для средненькой сложности игрушки.
При этом так же надо уже учитывать какие связи будут между таблицами.
на этом этапе уже необходимо продумывать логику движка игры:
– какие будут события и условия;
– Определять всевозможные Типы и Структуры для элементов игры;
– анализировать насколько схожи условия;
– возможность написания универсальных функций;
описывать этот этап смысла особого я не вижу, т.к. врятли кто поймёт о чём идёт речь
это уже жёсткий кодинг.
на этом этапе продумывается логика клиентской части Игры:
В принципе вы это уже сделали в разделе B
но на этом этапе оно всё реализуется.
тоже описывать не буду т.к. тот же кодинг те же действия что и с серверной частью.
D. КОММАНДА
Я реалист.
В одиночку всё вышеперечисленное сделает лишь Настоящий Гений, я имею ввиду то что:
- все задумки и идеи будут реализованы;
- оно будет функционировать без фатальных багов;
- игра не загнётся за первый месяц;
А так глядя на мир трезвыми глазами и здравым рассудком могу сказать что длятого что бы сделать свою браузерную игру надо учиться не только:
- программировать на (JS,PHP,MySQL),
- верстать (HTML, CSS),
- рисовать (Photoshop, CorelDraw, Flash),
- тестировать,
- строить архитектуры БД
но так же Вам придётся научиться управлять человеческими ресурсами которые будут в вашей команде.
А для начала необходимо эти ресурсы приобрести, точнее заполучить.
Далее назначать им задачи, а полученный от них результат компоновать в единый “продукт”.
Большенство из нас и тех кто это читает прогеры, соответственно Вам скорей всего понадобится хотя бы 1 нормальный художник т.к. браузерная игра должна сперва визуально привлечь игрока, а привлекает игра своими картинками и иллюстрациями, при наличии изображений унылого характера, вы только оттолкнёте пользователей.
Так же нужен хороший дизайнер. который из ваших зарисовок Раздела В должен будет сделать “канфетку”.
В некоторых случаях, при отвутствии знаний или опыта, могут потребоваться:
- Верстальщики,
- PHP-Програмисты,
- JavaScript-програмисты,
- SEO-шники
- а в некоторых случаях Деньги и Мозги ^^
P.S. Я не стал описывать процесс создания GUI т.к. это ещё больше текста и это наверное отдельная тема.
Вот вроде в общих словах Вам описал: “что нужно что бы самому сделать и создать браузерную онлайн игру?” ( с нуля )
В общем процесс этот весьма увлекательный, но и весьма Трудоёмкий, а так же сложный.
Я уже года эдак 2 – 3 хочу сделать игру вот добрался до раздела С =Р
Всё вышеописанное является моим ИМХО. возможно я где то не прав, но как мне думается схема вполне приемлема.
Если есть ошиПки сори. я безграмотный
Создаем многопользовательскую браузерную игру. Часть первая. Клиент-серверная архитектура
-
Переводы, 7 июня 2017 в 18:08
Рассказывает Алвин Лин, разработчик программного обеспечения из Нью-Йорка
В 2014 году я впервые побывал на CodeDay в Нью-Йорке. И хотя CodeDay не совсем хакатон, это было моё первое знакомство с подобными мероприятиями. Там мы с моим другом Кеннетом Ли написали многопользовательскую игру в танчики. Так как несколько моих друзей спрашивали меня о том, как я её написал, я решил описать процесс её создания.
В этом посте я вкратце опишу ход своих рассуждений и покажу, как воссоздать архитектуру, а также дам некоторые советы, если вы захотите сделать игру сами. Этот пост рассчитан на тех, кто владеет основами JavaScript и Node.js. Если вы с ними не знакомы, то есть много замечательных онлайн-ресурсов, где можно их изучить.
Прим. перев. На нашем сайте есть много познавательных материалов как по JavaScript, так и по Node.js — обязательно найдёте что-нибудь подходящее.
Бэкенд игры написан на Node.js с использованием веб-сокетов, которые позволяют серверу и клиенту общаться в режиме реального времени. Со стороны клиента игра отображается в HTML5-элементе Canvas . Для начала нам, конечно же, понадобится Node.js. В этой статье описана работа с версией 6.3.1, но вы можете использовать любую версию выше 0.12.
Прим. перев. Если вы не знакомы с веб-сокетами, рекомендуем прочитать наш вводный материал.
Создание проекта
Для начала установите зависимости. Создайте папку проекта, перейдите в неё и запустите следующий код:
Для быстрой настройки сервера целесообразно использовать фреймворк Express, а для обработки веб-сокетов на сервере — пакет socket.io. В файл server.js поместите следующий код:
Это довольно типичный код для сервера на связке Node.js + Express. Он устанавливает зависимости и основные маршруты сервера. Для этого демонстрационного приложения используется только один файл index.html и папка static . Создайте их в корневой папке проекта. Файл index.html довольно простой:
Ваш пользовательский интерфейс может содержать куда больше элементов, поэтому для более крупных проектов CSS-стили лучше помещать в отдельный файл. Для простоты я оставлю CSS в коде HTML. Обратите внимание, что я включил в код скрипт socket.io.js . Он автоматически заработает в рамках пакета socket.io при запуске сервера.
Теперь нужно настроить веб-сокеты на сервере. В конец файла server.js добавьте:
Пока что в игре нет никаких функций, поэтому в обработчик веб-сокетов ничего добавлять не нужно. Для тестирования допишите следующие строки в конец файла server.js :
Эта функция будет отправлять сообщение с именем message и содержимым hi всем подключенным веб-сокетам. Позже не забудьте удалить эту часть кода, так как она предназначена только для тестирования.
2 марта – 1 мая, Минск, беcплатно
В папке static создайте файл с именем game.js . Вы можете написать короткую функцию для регистрации сообщений от сервера, чтобы убедиться в том, что вы их получаете. В файле static/game.js пропишите следующее:
Запустите сервер командой node server.js и в любом браузере перейдите по ссылке http://localhost:5000. Если вы откроете окно разработчика (нажать правую кнопку мыши → Проверить (Inspect)), то увидите, как каждую секунду приходит новое сообщение:
Как правило, socket.emit(name, data) отправляет сообщение с заданным именем и данными серверу, если запрос идет от клиента, и наоборот, если запрос идет от сервера. Для получения сообщений по конкретному имени используется следующая команда:
С помощью socket.emit() вы можете отправить любое сообщение. Можно также передавать объекты JSON, что для нас очень удобно. Это позволяет мгновенно передавать информацию в игре от сервера к клиенту и обратно, что является основой многопользовательской игры.
Теперь пусть клиент отправляет некоторые состояния клавиатуры. Поместите следующий код в конец файла static/game.js :
Это стандартный код, который позволяет отслеживать нажатие клавиш W , A , S , D . После этого добавьте сообщение, которое оповестит сервер о том, что в игре появился новый участник, и создайте цикл, который будет сообщать серверу о нажатии клавиш.
Эта часть кода позволит отправлять на сервер информацию о состоянии клавиатуры клиента 60 раз в секунду. Теперь необходимо прописать эту ситуацию со стороны сервера. В конец файла server.js добавьте следующие строки:
Давайте разберёмся с этим кодом. Вы будете хранить информацию о всех подключенных пользователях в виде объектов JSON. Так как у каждого подключённого к серверу сокета есть уникальный id, клавиша будет представлять собой id сокета подключённого игрока. Значение же будет другим объектом JSON, содержащим координаты x и y .
Когда сервер получит сообщение о том, что присоединился новый игрок, он добавит новый вход в объект игроков при помощи id сокета, который будет в этом сообщении. Когда сервер получит сообщение о движении, то обновит информацию об игроке, который связан с этим сокетом, если он существует.
io.sockets.emit() — это запрос, который будет отправлять сообщение и данные ВСЕМ подключённым сокетам. Сервер будет отправлять это состояние всем подключённым клиентам 60 раз в секунду.
На данном этапе клиент ещё ничего не делает с этой информацией, поэтому добавьте со стороны клиента обработчик, который будет отображать данные от сервера в Canvas .
Этот код обращается к id Canvas ( #canvas ) и рисует там. Каждый раз, когда от сервера будет поступать сообщение о состоянии, данные в Canvas будут обнуляться, и на нём в виде зеленых кружков будут заново отображаться все игроки.
Теперь каждый новый игрок сможет видеть состояние всех подключенных игроков на Canvas . Запустите сервер командой node server.js и откройте в браузере два окна. При переходе по ссылке http://localhost:5000 вы должны будете увидеть нечто похожее:
Вот и всё! Если у вас возникли проблемы, посмотрите архив с исходным кодом.
Некоторые тонкости
Когда будете разрабатывать более функциональную игру, целесообразно разделить код на несколько файлов.
Такие многопользовательские игры — отличный пример архитектуры MVC (модель-представление-контроллер). Вся логическая часть должна обрабатываться на сервере, а всё, что должен делать клиент — это отправлять входные пользовательские данные на сервер и отображать информацию, которую получает от сервера.
Однако в этом демо-проекте есть несколько недостатков. Обновление игры связано со слушателем сокета. Если бы я хотел повлиять на ход игры, то мог бы написать в консоли браузера следующее:
Теперь данные о движении будут отправляться на сервер в зависимости от характеристик компьютера более 60 раз в секунду. Это приведёт к тому, что игрок будет передвигаться невероятно быстро. Так мы переходим к концепции определения полномочного сервера.
Ни на каком этапе клиент не должен контролировать какие-либо данные на сервере. Например, никогда не нужно размещать на сервере код, который позволит клиенту определять своё положение/здоровье на основе данных, которые передаются через сокет, так как пользователь сможет легко подделать сообщение, исходящее из сокета, как показано выше.
Когда я создавал свою первую многопользовательскую игру, я написал код так, что игрок мог стрелять тогда, когда отправлялось сообщение о стрельбе, которое со стороны клиента было связано с нажатием кнопки мыши. Умелый игрок мог воспользоваться этим, вставив строчку на JavaScript, очень похожую на ту, что упоминалась выше, чтобы заполучить почти неограниченную скорость стрельбы.
Лучшая аналогия, которую я могу привести, заключается в том, что клиенты должны посылать на сервер только информацию о своих намерениях, которые затем будут обрабатываться и использоваться для изменения состояния игроков, если они валидны.
В идеале циклы обновлений как у клиента, так и на сервере не должны зависеть от сокетов. Попытайтесь сделать так, чтобы обновления игры находились за пределами блока socket.on() . В противном случае вы можете получить много странных нелогичных действий из-за того, что обновление игры будет связано с обновлением сокета.
Кроме того, старайтесь избегать такого кода:
В этом отрезке кода обновление координаты х для игрока связано с частотой смены кадров в игре. SetInterval() не всегда гарантирует соблюдение интервала, вместо этого напишите нечто подобное:
Это не так изящно, зато обеспечит более плавную и последовательную работу. Усложните демо-проект и попробуйте сделать так, чтобы обновление осуществлялось согласно времени, а не частоте смены кадров. Если не захотите на этом останавливаться, попытайтесь создать на сервере физический движок, который будет управлять движениями игроков.
Также можно сделать так, чтобы из игры удалялись отключенные игроки. Когда сокет отключается, автоматически отправляется сообщение о разъединении. Это можно прописать так:
Также попытайтесь создать собственный физический движок. Это сложно, но весело. Если захотите попробовать, то рекомендую прочитать книгу «The Nature of Code», в которой есть много полезных идей.
Если хотите посмотреть на гораздо более продвинутый пример, вот игра, которую я сделал, а также исходный код, если вы хотите узнать, как это было написано. На этом всё. Спасибо, что прочитали!
Создание браузерной игры. Как заработать миллион?
К браузерным играм не привыкли относиться всерьез, но на самом деле – это неплохой бизнес для небольшой команды друзей, у которых нет денег, но есть светлые мысли. А если еще и деньги есть, то тогда все значительно упрощается.
На самом деле создать браузерную онлайн игру может любой, у кого есть желание учиться, но не думайте, что вас ждет легкая прогулка. Даже если вы мастер на все руки (программист и дизайнер в одном флаконе), то придется потратить уйму времени. Если же вы не владеете ни кодом, ни карандашом, то затраты будут финансовыми.
Как создать браузерную игру ничего не изучая?
Ответ – никак. Для начала нужно будет выучить HTML – язык разметки, который работает в связке с каскадной таблицей стилей – CSS. Эти языки располагают текст и изображения на странице, собирая картинку из множества фрагментов. Поскольку вы намерены сделать именно браузерную игру, то ей обязательно понадобится сайт, желательно красивый и функциональный. Поэтому не обойтись без JavaScript – самого простого способа визуализировать вашу игру на стороне геймера. Этот язык позволяет менять местами элементы страницы без ее перезагрузки. По сути, JavaScript управляет элементами CSS и HTML в реальном времени.
Для создания браузерной игры придется выучить HTML, CSS, PHP и JavaScript, так что бессонные ночи вам гарантированы
Язык программирования PHP нужен для создания движка игры. Он используется на сервере для обработки данных, поступающих от разных геймеров. Это – ядро, которое приводит в действие все внутренние механизмы.
Я не хочу ничего учить, но у меня есть деньги
Поздравляем, вы избежали многих проблем. И тут же получили новые. Чтобы сделать браузерную игру хорошего качества (в плохую никто играть не будет) нужно иметь хорошую команду разработчиков, а хорошие спецы стоят денег. Если брать по минимуму, то вам необходимы:
- Программист – 2 штуки
- Дизайнер и художник – 2 штуки
- Гейм-дизайнер – 1 штука
- Комьюнити-менеджер – 1 штука
- Гейм-мастер – 1 штука.
Если у вас нет личных знакомств, то придется обращаться к аутсорсингу. Обычно такие ребята трутся на биржах фрилансеров, самой популярной их которых является www.fl.ru/.
Всех необходимых работников можно найти на биржах фрилансеров
Правда, в этом случае нужно быть очень осторожным, поскольку фрилансеры привыкли регулярно срывать сроки. Как говорят опытные руководители, можно бесконечно смотреть на 3 вещи: как течет память, как горит дедлайн и как не работает фрилансер.
Во сколько обойдется разработка?
Во столько, сколько у вас есть денег. Вот здесь приведены примерные выкладки и структура расходов на создание среднестатистической браузерки. Итоговая сумма – 25 миллионов рублей. Однако не стоит пугаться этой цифры. В статье автор посчитал расходы на разработку по максимуму, так что при желании эту сумму модно уменьшить в разы и даже десятки раз. Или увеличить, если ваш папа – прокурор. Безусловно, такие проекты, как Drakensang Online или City of Steam требуют сумм как минимум с шестью нулями, но простую табличную браузерку можно сделать за пару десятков тысяч рублей.
В конце концов, вы всегда можете обратиться к краудфандингу. Пути Кикстартера неисповедимы, взлететь там может любой проект. Главное правильно подать блюдо.
Этапы разработки
Создание браузерной игры с нуля можно разделить на несколько этапов:
1. Поиск идеи
Поскольку у вас вряд ли есть 25 миллионов рублей и вы вряд ли являетесь гением в программировании и дизайне, единственное, чем вы можете зацепить пользователя, это необычный сеттинг. Даже пресловутая кампания из эльфов, орков, людей и гномов способна увлечь клиента, если погрузить их в необычную среду или заставить делать странные вещи. Например, игра Ботва Онлайн была написана «по приколу» четырьмя людьми в свободное от работы время, но благодаря своему необычному сеттингу быстро стала успешным бизнес проектом.
2. Разработка сюжета
Сюжет очень важен (если конечно, вы не делаете стратегию). Если у самого воображения не хватает, наймите кого-нибудь, у кого оно есть. В крайнем случае, обратитесь к аутсорсингу и найдите толкового копирайтера, у которого уже есть опыт создания квестов.
3. Создание игры
Даже если вы выучили вдоль и поперек JavaScript и CSS, вы все еще ничего не знаете о том, как создать браузерную игру. Это примерно то же самое, как если бы вы выучили теорию плавания, ни разу не побывав в бассейне. Лучший выход в этом случае – воспользоваться самоучителем. Вот здесь можно многое узнать о разработке игр, причем не только браузерных.
Скорее всего, ваша первая браузерка будет выглядеть так. Это – легендарный Бойцовский Клуб
4. Продвижение проекта
Последний этап, на котором дело в свои руки берут комьюнити-менеджер и специалист по маркетингу (если таковой имеется). В крупных компаниях на долю рекламы уходит примерно 60% бюджета, поэтому на эту статью денег лучше не жалеть. Если же ваши финансы поют романсы, то тогда не остается ничего другого, как самому перепахивать игровые форумы и завлекать геймеров всеми возможными способами.
Как создать браузерную игру с помощью конструктора
Оказывается, ушлые программисты уже давно создали кучу конструкторов MMO, которые могут помочь новичку создать браузерную онлайн игру бесплатно. Это не значит, что вы можете успокоиться и удалить все закладки по программированию, но с помощью конструктора можно здорово ускорить процесс.
Популярный игровой конструктор Construct 2
Большой популярностью пользуется MMO Constructor – отечественный продукт, в котором можно создать все элементы полноценной браузерной RPG. Взамен авторы требуют совсем ничего – 50% от прибыли проекта. Разобраться в конструкторе непросто, но добрые люди уже написали гайды. Также чтобы создать браузерную игру, можно воспользоваться такими программами, как Construct Classic, Eclipse, FPS Creator.
Больше информации о конструкторах можно узнать на форуме Gcup, где тусуются все: и продвинутые геймдевы, и зеленые новички.
Так что там насчет миллиона?
Любая, даже мобильная игра должна приносить прибыль. Иначе нет никакого смысла тратить свое и чужое время. Дабы сделать свой проект финансово успешным, нужно слушать, что говорят опытные разработчики и делать то же самое:
- Не жадничайте! Более 80% игроков вообще не платят, либо платят копейки. Однако они создают массовку, на которую подтягивается крупная рыба. Сконцентрируйтесь на ней. Остальным дайте возможность резвиться бесплатно.
- Постарайтесь сделать так, чтобы донаторы не сильно выделялись из общей массы, иначе масса уйдет, оставив вас без донаторов и без денег. В общем, бряцайте мускулами аккуратно.
- Лучше всего тратят деньги те, кто не хочет тратить свое время, поэтому монетизируйте наиболее рутинные операции. Не разменивайтесь по мелочам.
- Уроки истории создания игр показывают, то онлайн-проект должен быть бесконечным. Если у геймера появится чувство, что ему нечего делать — он уйдет, а туда, где нет онлайна, новый геймер не придет никогда.
Напоследок хочется сказать – не так страшен черт, как его малюют. Даже лучшие геймдевы когда-то начинали с нуля, и кто знает, может быть именно вы станете следующим Джоном Кармаком или Ричардом Гэрриотом?
Источники:
http://www.cyberforum.ru/blogs/229423/blog1083.html
http://tproger.ru/translations/multiplayer-browser-game-1/
http://gametarget.ru/articles/sozdanie-brauzernoy-igryi-kak-zarabotat-million