Войти
ФлеймФорумПроЭкты

Chthonic Terror MMORPG

Страницы: 1 2 3 4 5 6 Следующая »
#0
3:10, 8 июля 2014

Название: Chthonic Terror
Жанр: MMORPG
Движок: Void Between The Stars - http://www.gamedev.ru/projects/forum/?id=193095
Язык разработки: С++
Лицензия: Public Domain

Изображение

Фхтагн!
Я планирую сделать новую и интересную MMORPG.

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

Я не знаю ни одной игры, похожей на то, что я собираюсь делать.
Отличительные черты Chthonic Terror:
- Полностью разрушаемый мир, как в minecraft, только кубики ужасно маленькие.
- Перманентная смерть, реки крови и горы трупов. Как в crimsonland, только в 3д от 1-го лица. В крови можно будет буквально утонуть и помереть.
- Плоская шкала прокачки без капа.
- Никакого доната, никакой рекламы, никакой абонентки. Игра будет абсолютно бесплатной. Не Free 2 play, а по-настоящему Free. Public Domain.
- Правильная экономика: все, что можно будет в игре получить, будет выбиваться из монстров или других игроков.
- Другие законы физики, размерность пространства больше 3, путешествия во времени и пространстве, например, бегать по потолку и замедлять время.

Репозиторий проекта: https://github.com/NuclearMyth/ChthonicTerror
Все наработки по проекту - общественное достояние. Весь ход разработки будет освещен в этой теме.
Я - руководитель проекта, программист, гейм-дизайнер, ведущий художник и звукорежиссер проекта.
Я так крут, что справился бы и один, но если Вы хотите присоединиться, пишите, посмотрим, какую черновую работу я смогу на Вас спихнуть.

Прямо сейчас дизайн формируется у меня в голове, и, прежде чем начать программирование, я задам пару вопросов.
В игре нужен огромный мир. Это очень важная фича, поэтому, пожалуйста, скажите, какого размера мир лично Вы считаете огромным?
Каких монстров Вы бы хотели видеть в игре?
Какое оружие Вы бы хотели видеть в игре?
Что лично для Вас важнее в ММОРПГ: сюжет и квесты или боевка и геймплей?
Что интереснее - PvP или PvE ?


#1
9:00, 8 июля 2014

PVE.
меч+магия.
в жопу замедло и бег по потолкам.

#2
11:10, 8 июля 2014

Вий
> Я так крут, что справился бы и один, но если Вы хотите присоединиться, пишите,
> посмотрим, какую черновую работу я смогу на Вас спихнуть.

Не вижу смысла продолжать эту тему.
В любом случае, удачи.

#3
15:44, 8 июля 2014

Вий
> замедлять время.
Не очень совместимо с онлайн. Или как-то планируешь выкрутиться?

> В игре нужен огромный мир. Это очень важная фича, поэтому, пожалуйста, скажите,
> какого размера мир лично Вы считаете огромным?
Ну, линейный размер не могу сказать, зависит от степени наполненности. Главное чтоб было что исследовать.
Например - начинаем на нубоострове, он сам по себе приличного размера (из скажем десятка зон, ну, зависит от игры и от того что считать зоной), потом через пару дней выбираемся на "большую землю", и обнаруживаем что она раз в 10 больше, ну т.е. примерно как в большинстве ММОРПГ. А потом, когда освоились и начали эти зоны посещать, понимаем что это только одна из плоскостей\планет, а их еще штук 5 или лучше 10. Вот это сойдет за огромный мир.
И эти планеты\плоскости именно параллельные, а не так что с 1 по 50 уровень на одной качаемся, с 50-100 на другой, и в результате на каждом уровне есть смысл только в одном-двух подземельях качаться - тогда огромности как-то и не чувствуешь, чувствуешь только предстоящую бездну кача.

Если же такой прогрессии нет и у нас просто однородная сетка из разных сгенерированных зон - наверное можно считать огромным когда рука устает скроллить от одного края до другого на глобальной карте.


> Какое оружие Вы бы хотели видеть в игре?
Арбалеты, дробовики. А хотя в целом без разницы.

> Что лично для Вас важнее в ММОРПГ: сюжет и квесты или боевка и геймплей?
От сюжета важно только чтоб он был. Ну т.е. чтоб была глобальная цель, доминация вражескую расу или хотя бы планету от наступающей гнили. А какие там квесты уже не суть, мелкие цели можно и самому себе придумывать.

> Что интереснее - PvP или PvE ?
PvE+охота на нубов(желательно идеологически обоснованная, т.е. RvR). А PvE нужен чтобы эти нубы были, т.е. чтобы игрок большую часть времени проводил качаясь на мобах и оказывался не готов к борьбе с человеком.

#4
16:01, 8 июля 2014

Я один увидел слова "Другие законы физики, размерность пространства больше 3" ?

#5
19:26, 8 июля 2014

Нет, ты не единственный, кто это увидел и у кого когнитивный диссонанс начался.

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

И какие конкретно законы физики будут другими, и какими именно?
Или имеется в виду просто нарушения законов физики, когда при каких-то условиях можно будет по потолкам и стенам бегать?

Какие путешествия во времени?!
В инстансах разве что ли? Но вряд ли они в такой игре будут. А как могут быть путешествия во времени в ММО мире? Один игрок путешествует в прошлое и из за этого всех остальных вернут в то состояние, которое этому прошлому моменту соответствует? И все объекты мира тоже?

#6
19:26, 8 июля 2014

VoidSpirit
> "Другие законы физики, размерность пространства больше 3" ?
Ты только это увидел?

tvorez
> Не вижу смысла продолжать эту тему.
зРЯ!

kipar
> потом через пару дней выбираемся на "большую землю"
Лучше остров сам увеличивается с каждым заходов игрока. Парящий остров, чтобы не иметь ограничение при нарастании.

kipar
> а не так что с 1 по 50 уровень на одной качаемся, с 50-100 на другой
Лучше уровень не идет последовательно, а меняются скачкообразно в разнобой (то 50, то 22 стали - пока все перебором не пройдет, заполняя сжигая шкалу опыта в обратную сторону на каждом этапе). А сам уровень - это эпоха в развитии острова, словно номер уровня персонажа = год/век виртуальной жизни города.

З.Ы. А год/век - это отдельные серверы, чтобы упростить в реализации (игрока будут перекидывать по серверам)...

#7
19:27, 8 июля 2014

Вий
> Какое оружие Вы бы хотели видеть в игре?
Камни, палки, лассо, кольт... шерифы киберпанка, большие линзы и колготки...
Или брандспойт, который модернизируется на протяжение всей игры (как в игре The Last Remnant, в смысле оружие)

Вий
> Каких монстров Вы бы хотели видеть в игре?
Из энциклопедий про насекомых. Или монстроужасная флора, а мы серпом, серпом... не просто они нас хватают, а мы выжигаем сорняки. СТОП! Водометом! На острове саранца наседает на флору расцветающую (за счет этого и остров растет, а если саранча поедает - уменьшается остров и... неудачники выпадают с острова! Или кланы сталкивают другие кланы - места всем не хватает). ВОт значит, а если игроки успешно тушат пожары и прогоняют саранчу (она огненная, вот ведь в чем фишка), тогда остров растет и растет (вода еще ведь питает, от водометов).

Но это еще не все! Когда игрока скидывают в другую эпоху (уровень же скачкообразно идет), можно кое-кому и напакостить, вредничать! Игрок ведь оставляет всегда фантома после прохождения и смены уровня в развитии.
Ну а как это сказывается на другом игроке жертве - это уж ты сам - там раз плюнуть реализовать.
//Это эпично, весь мир скажет спасибо.


З.Ы.
... а вода кровавая, если что! Пту, это и есть кровь. Может легко "за борт" смыть, кровищеее

#8
20:00, 8 июля 2014

Ciaphas
> Нет, ты не единственный, кто это увидел и у кого когнитивный диссонанс начался.
> Я надеюсь, автор в курсе, что графически не возможно изобразить пространство с
> размерностью больше трех?
> Поэтому дополнительные измерения это что? Параллельные миры просто будут, или
> что?
Ну ты как будто в прошлые игры Вия не играл. Там и 4d и другие законы физики, так что за эту часть я спокоен.

#9
20:11, 8 июля 2014

AI давай!

#10
20:56, 8 июля 2014

StepEver
4 измерения вот - http://www.gamedev.ru/flame/forum/?id=155834
Под "другие законы физики" он наверное тоже подходит. Ну и всякие Unlimited horror3d.

#11
2:14, 9 июля 2014

Приблизительный план работ:
1. Написать кроссплатформенный слой движка Void Between The Stars
  1.1 Версия для Mac OS X
  1.2 Версия для Windows
2. Написать рендерер движка Void Between The Stars
  2.1 Местность
  2.2 Реки крови
  2.3 Персонажи, трупы, предметы
3. Написать сингл-плеерный прототип Chthonic Horror (что-то вроде Horror 3d на движке Void Between The Stars)
  3.1 Сделать полностью разрушаемый мир
  3.2 Сделать бег по потолку
  3.3 Сделать горы трупов.
  3.4 Сделать реки крови
  3.5 Сделать так, чтобы в крови можно быо утонуть и помереть.
4. Написать игровой сервер и многопользовательский прототип Chthonic Terror (без регистрации и СМС)
  4.1 Сетевой слой движка для Mac OS X
  4.2 Сетевой слой движка для Linux
  4.3 Сетевой слой движка для Windows
  4.4 Слой мультиплеерного взаимодействие
  4.5 Перенос логики Chthonic Horror в сеть
5. Сделать дроп лута из монстров и игроков
6. Проработать ролевую модель с плоской шкалой прокачки без капа.
7. Сделать другие законы физики
  7.1 Путешествия в пространстве
  7.2 Путешествия во времени (в другое время)
  7.3 Размерность пространства больше 3
  7.4 Замедление времени
8. Игровой чат

#12
4:07, 9 июля 2014

Оценка нагрузки на сервер.
Цель - держать 10 000 игроков.
Сверхцель - держать 10 000 игроков на 1 сервере с 256 MB RAM, 1 ядром 3.5 ГГц и 500 ГБ трафика в месяц (стоит такое удовольствие $2 в месяц)
В пересчете на 1 игрока это будет 25.6 kb RAM, 350 КГц процессор, 1.5 мегабайта данных в сутки.
С памятью и процессором все отлично, а вот с сетью возможны проблемы.
1.5 мегабайта в сутки, это 1 килобайт в минуту или 17 байт в секунду.
С другой стороны, игрок будет совершать порядка 60 действий в минуту, то есть 1 действие в секунду.
Пустой udp пакет занимает 52 байта.
Действие игрока, если не заморачиваться, можно представить как его результирующее состояние, то есть:
- номер игрока (2 байта)
- положение (3 флота по 4 байта)
- ориентация (2 флота по 4 байта)
- флаги движения (1 байт)
то есть порядка 23 байта на игрока.
В поле зрения, например, будет в среднем 10 игроков. Это 230 байт состояния + 52 байта заголовков = 282 байта на пакет.
Каждому игроку нужно слать по крайней мере 60 пакетов в минуту. В месяц это: 31 * 24 * 60 * 60 * 282 * 10000 = 6.8 ТБ
При этом в секунду сервер будет отдавать 21 мегабит данных.
Цена в 25 уе за 1 ТБ превышения означает 158 уе в месяц за превышение (итого 2 + 158 = 160 уе в месяц)
Дорого. Лучше вместо этого взять 2x 3.3GHz, 2GB RAM, 7TB bandwidth за 60 баксов в месяц.
И по сети все ОК будет, и памяти будет завались.
Ок, если для начала ограничиться машиной за 2 уе, то она должна по сети держать 10000*0.5/7 = 714 игроков.
Если из 15 таких машин собрать кластер, выйдет те же 10 000 игроков за 30 уе в месяц, аж в 2 раза дешевле!
Значит, так и будем считать.

Кластер из 15 машин.
Каждая должна держать 700 игроков.
На игрока придется 265 килобайт памяти и 5 МГц процессора.

Но на самом деле для хранения всех данных об игроке понадобится вряд ли более 4 килобайт.
Это всего 3 мегабайта на всех игроков.
И в оставшиеся 253 мегабайта должен уместиться весь полностью разрушаемый мир.

Допустим, мир кубический, состоит из вокселов, каждый из которых кодируется 1 битом.
2 122 317 824 вокселов в мире, или мир - куб со стороной в 1285 вокселов. Если каждый воксел - 10 см, то мир будет кубом со стороной в 128 метров.
Высота в 128 метров - ОК. А вот территория 128*128 метров - явно не "огромный мир".
Если стримать мир с диска, то в нашем распоряжении будет примерно 7 ГБ. Это в 28 раз больше. Примерно 512 на 512 метров. Лучше, но все еще мало.
Если зажать мир в октальное дерево, то, наверное, можно добиться сжатия примерно в 64 раза. Это даст нам мир 4096 на 4096 метров. Чтобы пробежать такой мир из конца в конец по прямой без препятствий, нужно около 30 минут. Если таких миров будет 15 штук (по количеству серверов), то чтобы пробежать сшитый из лоскутов мир из конца в конец нужно будет уже около 2 часов.
Пожалуй, это уже можно назвать огромным миром.

Для модификации мира понадобится быстрая запись на диск, но, т.к. на сервере SSD, думаю, проблем тут не возникнет.

Ограничения:
- 1 воксель полностью уничтожимого мира должен занимать порядка 0.015 бита, причем отпечаток в памяти не должен превышать 253 мегабайт.
- для передачи состояния наблюдаемых 10 игроков должно использоваться не более 230 байт в секунду.

#13
5:29, 9 июля 2014

  Воксель явно не может кодироваться одним битом (есть/нет), нужен еще цвет -- 3 байта или 2 байта на индекс из большой таблицы или 16-битный цвет. Это если не приписывать вокселю нормаль. А еще может быть плотность, или тип вокселя -- для отражения разного материала объектов. Хотя бы еще байт тогда.

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

#14
9:19, 9 июля 2014

а почему вообще куб?
где "размерность пространства больше 3"?

Страницы: 1 2 3 4 5 6 Следующая »
ФлеймФорумПроЭкты

Тема в архиве.