XGM: The Game

» не публикуется
XGM: The Game - онлайн многопользовательская браузерная игра по мотивам вымышленных сценариев про XGM сообщество.
Идея игры зародилась после окончания XGM New Year Game. Изначально предлагалось сделать игру на базе неё, но это будет довольно затратно (только половина писалась хорошо + сильная привязка к в8).

Философия

Определилась некоторая философия для данного стартапа:
  1. Это должно быть интересно;
  2. Система не должна быть сложной;
  3. В это можно играть на ранней стадии;
  4. Это не должно быть долгостроем.

Технологии

На данный момент определён следующий стек технологий:
Сервер: Apache, NodeJS, MongoDB
Back-end фреймворк: Express
Игровой движок: ?
» Старое (отклонено)
Веб-сервер (пока на той же машине, что и XGM): apache, php, mysql
Back-end фреймворк: Symfony 3
Сервер WebSocket (обмена данными в реальном времени): Ratchet
Front-End фреймворк: AngularJS 1
Редактор ландшафта: Tiled Map Editor
Клиентский игровой движок: Phaser

Геймплей

По геймплею в данный момент следующие ориентировки (на основе ответов на стадии проектирования):

Кто есть игрок? Что он имеет?

Игрок - тактик и коллекционер предметов в данном случае.

Что есть игровой мир? О чём он?

Конечно, хочется уникальный игровой мир, но ещё больше хочется, чтобы были отсылки и к xgm. Меньше всего хочется фентези-стайла с палладинами.

Как игрок взаимодействует с миром (объектами, помещениями, NPC)?

Игрок собирает предметы, чтобы использовать их в сражениях. Он может выиграть их в сражениях, купить, или задонатить. Соответственно, он может продать или подарить другому игроку.
Самое банальное - босс и его слуги, которых нужно убить, нпс-торговцы, с которыми можно вести дела, нпс-персонажи, которые могут давать мини-задания с золотом в награду (кстати, этого очень не хватило в нг-игре, возможно, исправилась бы ситуации с абузом).

Как он взаимодействует с другими игроками?

  • фракции игроков сражаются друг против друга
  • игроки взаимодействуют против общих враждебных NPC
  • игроки сражаются против NPC другой фракции

Как можно описать новичка?

Новичку должны сопутствовать успехи, чтобы он быстро втянулся в игру. Для этого можно, например, выдать хорошие предметы и выставить его с другими новичками против общего противника (PVE). После набора нужного уровня (побед над mob-противниками), у него откроется доступ к PVP.
Mob-противники - это что то вроде босса-тюления - много здоровья, слабая атака.

Как можно описать опытного игрока?

Опытный игрок сможет участвовать в PVP. Поскольку, упор в игре на тактику, а не размер цифр, опытный игрок своими предметами "переиграет" другого игрока с более дорогими предметами.

Как описать эксперта в игре?

Так же, как и опытного. Единственное, что такие игроки должны возвращаться к игре, у них должен быть стимул. Один из таких стимулов - это топы. Топов должно быть много - топ новичков, топ убийц, топ богачей и т.д. Место в топе - это всегда приятно и мотивирует.
Кроме того, предметы должны обладать запасом "прочности", чтобы игрок не мог использовать тот же предмет до бесконечности. Соответственно, у игроков будет постоянная прибыль и постоянные убытки.

Как можно получать удовольствие на каждой из этих стадий?

Новички - удовольствие от быстрых побед и продвижения вперёд в топах.
Опытные и эксперты - удовольствие от тактики игры.

Чем поддерживать азарт?

Постоянные топы игроков по разным показателям.

Прогресс

Что уже готово:
  • Авторизация через профиль XGM (пока просто вводом user id, в будущем - OAuth)
  • Верстка главной страницы
  • Фундамент клиентской оболочки
  • Структура сущностей и их отношений (локация-фракция, юнит-локация, позиция-локация, ...)
  • Редактор объектов (сущностей)
  • Импорт и экспорт карт из Tiled Map Editor, используя специальный тайлсет
  • Функционал для парсинга путей на карте + алгоритм поиска путей

Что требуется сейчас

Сюжет

Нужно написать сюжет. Он должен быть вымышленный, без прямого упоминания актуальных пользователей ресурса.
За основу можно взять историю XGM, историю NY Event 2016 и набросок Кета.
Кет:
Когда-то на этой земле небыло никакого государства. Многочисленные кланы, поклонявшиеся богам-животным, вели кровопролитную войну.
Шли дни и годы, века и тысячелетия. Люди убивали друг друга за охотничьи угодья, пахотные земли, руды, нефть, уран, магические кристаллы... Всё, до чего могли дотянуться сразу несколько кланов, становилось причиной потасовки. Мелкие племена погибали, крупные прирастали пленниками и наложницами.
Грохот мечей, каменных топоров и ракетных снарядов утих лишь тогда, когда шесть самых больших кланов — по странному совпадению, поклонявшимся одинаковым звериным богам — шести Тюленям — решили заключить союз. Народы поменьше, чудом уцелевшие в вековой мясорубке, смиренно поставили подпись под их договорам, перейдя в подданство новорожденного государства.
Божественные Тюлени, вторя своим поклонникам, оставили вражду и вместе избрали вождя достойнейшего из людей, нарекли страну своим именем и пообещали возвращаться каждый год, чтобы подтвердить власть правителя или найти нового. На всём материке, от Пушистого Полюса до Великой Степи, воцарился мир.
Но днажды, через много столетий, в период власти вождя Базилиуса, злобный дух решил нарушить процветание страны Божественных Тюленей. У духа было много имён — Седьмой Тюлень, Злой Тюлений бог или просто Злой Тюлений. Эту историю вы все прекрасно знаете. Герои всей страны объединились и одержали над ним победу. А потом закатили пир на весь мир.
Но после пира обнаружилось, что пропал один из волшебных предметов, отобранных Тюлением у других богов и принесённых в мир смертных. Щит Киборга. Его забрал [имя персонажа] — глава знатного рода страны Божественных Тюленей, обиженный на своих богов за то, что они не избрали его вождём. Желая реванша, он приказал своим подручным перековать исполинский щит в железные доспехи и, облачённый в них, стал неуязвим и нарёк себя [имя персонажа] Киборгом. Обретя силу, он поднял восстание против власти вождя Базилиуса. Многие поддержали бунт, и уже скоро новая сила — братство Железной Руки — оставила во власти Божественных Тюленей только север материка, Пушистый Полюс, заняв обширные области тайги, ставшие теперь Железной тайгой. За оставшуюся часть, Степи Скитаний, всё ещё велась борьба.
Они бы продвинулись и дальше, но пришла новая беда. [Имя персонажа] не знал, что Щит Киборга был нужен Тюлению не для того, чтобы отбивать удары. Щит таинственным образом сохранил жизнь поверженному злодею. При переплавке злая сила Тюления высвободилась из металла, и теперь повсюду стали появляться жуткие тюленеподобные монстры, порождения его волшебства.
Эта беда не остановила войну страны Божественных Тюленей и братства Железной Руки, но заставила их отвлечься от междусобиц на борьбу с новым воплощением старого противника.
Имеется три фракции и локации для них:
  • Железная Рука (Кибертайга, тайга);
  • Божественные Тюлени (Пушистый Полюс, арктика);
  • Обыватели (Степи Скитаний, степь), нейтральная фракция.
Были ещё предложены фракции клоунов и кетских племён, но тут довольно узкая тема получается. Можно с этим поколдовать.

Арт для персонажей

Нужно продумать, как вообще будем реализовывать арт для персонажей.
Возможные варианты:
  • Простые спрайты. Тут стоит проблема, как будем рисовать множество вариаций предметов-аттачей.
  • Генерация спрайтов из 3D
  • Костная модель
После чего приступаем к разработке.

2D арт

Требуется человек, который будет рисовать арты иконок для множества сущностей - предметов, локаций, типов юнитов. Кроме того, требуется арт для различной мелочи вроде значков действий.

Разработка игрового пространства на основе существующих карт

Чем я сейчас и занимаюсь.

 

Просмотров: 6 917



ScorpioT1000 #51 - 1 год назад 0
Допилил аккаунт аттачмент бота, работает хорошо.
Продолжаю работать над локациями.
Nikson12 #52 - 10 месяцев назад 0
Как идут дела?
GF RaiseD #53 - 10 месяцев назад 0
Nikson12, тсс. Тюлений услышит и вернётся с небытия. Так что тихо...

Вроде бы дела не идут уже некоторое время, полагаю всё зашевелится когда будет получена предновогодняя мотивация/азарт.
Nikson12 #54 - 10 месяцев назад 0
Жалко конечно, но поиграть уже хочется...
ScorpioT1000 #55 - 10 месяцев назад 0
Зибада выдал мне стек NodeJS + MongoDB, я забил на то, что делал до этого и решил использовать готовый клиент-серверный игровой движок.
Пока стоит выбор за движком. PHP было не лучшим выбором для бекенда =)
GF RaiseD #56 - 10 месяцев назад 0
Берусь за 2D-Арт. Но для начала нужно взять несколько литров водки, наготовить бутербродов и решить что конкретно, как и в чём рисовать и где этот арт будет применяться. Тут, конечно, грешок.
Единственное что пока понял графика - изометрическая. Господа участники, может перезапустим генератор идей? НЕ делать же всё это в последние недели.
Nosferoh #57 - 10 месяцев назад 0
В игре графика будет в стиле пиксельарт или нет. Надеюсь, нет. Тогда я уточню пару вещей. Быть может, и я чего нарисую.
Nikson12 #58 - 10 месяцев назад (отредактировано ) 0
Мне предыстория с шаманом больше нравилась...
А по делу: можно ли узнать, как примерно бой будет выглядеть графически?
Nosferoh #59 - 9 месяцев назад 0
В игре графика будет в стиле пиксельарт или нет?
Это вопрос.
ScorpioT1000 #60 - 9 месяцев назад (отредактировано ) 0
Нет, не пиксель арт.
Анимации постараемся костевые сделать.
Меня сейчас больше всего беспокоит клиент-серверная составляющая. Есть один крутой движок, он очень круто работает с мультиплеером, по отклику не отличишь он stand-alone игры. Но остальное всё на очень базовом уровне.
Пример работы этого движка: vimeo.com/71436905

Ниче, вроде поднял шайтан-машину)) imgur.com/uhnQGqw
бтв, он читает Tiled Map Editor, так что редактор тайлов писать не придется)
ScorpioT1000 #61 - 9 месяцев назад (отредактировано ) 1
Перевел на чтение ландшафта из Tiled Map Editor ! Сейчас допиливаю работу с игроками
прикреплены файлы
ScorpioT1000 #62 - 8 месяцев назад 0
По xgm the game всё не так то просто оказалось - движок зарелизили в 2013, саппорт не отвечает, бета переносится на февраль-март 2017.
LeikyS #63 - 6 месяцев назад 0
Ну как успехи?
ssbbssc #64 - 5 месяцев назад 0
ScorpioT1000:
sacred с мобильного напомнило
Nikson12 #65 - 2 месяца назад 0
Как идут дела?
Взвейтесь соколы орлами