LINUX.ORG.RU

Сколько времени и денег примерно может стоить реализация подобного игрового серверного приложения?


0

1

Ось: Linux.
Язык: C++.
Протоколы: UDP для событий, TCP для чего-нибудь другого.
Кол-во клиентов: 3...10K.
Тип клиента: риалтайм, 3D. Бегалка-стрелялка на каком-то готовом движке.
Реализовать:
- игровую логику, просчёт попаданий при выстрелах, какие-то ещё такие штуки.
- соединение с БД, хранит там статистику, профили юзверей.
- защиту от вмешательства в полезный траффик между клиентом и сервером;
- поддержку плагинов для добавления нового функционала серверу. Точно не определено, какого функционала, но задумка в этом направлении была высказана заказчиком.
- взаимодействие с платёжными системами - брать деньги за аккаунты.

Заказчик говорит о жёстких трёх месяцах. Да, точное ТЗ на двух страницах не определено. Отец говорит, что в строительстве заказчики тоже всегда называют срок нереальный, который уходит целиком ТОЛЬКО на обсуждение того, как всё будет сделано.

На других форумах получено мнение такое:
1. Писать ТЗ на два листа, считать для каждого пункта время, всё умножать на 2 и всё равно всё просрёте.
2. 6 месяцев - минимум. Только на прототип. Или год.
3. Не вылезать из-за компа, питаться редбуллами с кофе.

★☆

Последнее исправление: kiverattes (всего исправлений: 4)
Ответ на: комментарий от devl547

WoT-овцы так и сделали, до сих пор пожинаю плоды и ловят симпашки

hizel ★★★★★
()

Заказчик говорит о жёстких трёх месяцах.

6-9 месяцев на технодемо, если команда вменяемая и движок приличный

shty ★★★★★
()

3 человека на полгода-год.

Legioner ★★★★★
()

наличие такого вопроса говорит о том, что нифига вы ниасилите практически при любом раскладе.

даже лисп не поможет.

Rastafarra ★★★★
()
Ответ на: комментарий от Rastafarra

+1. Надо брать _хорошо_ соображающего человека, который будет заинтересован чем то кроме з-п и организует эту работу.

sergej ★★★★★
()

>Заказчик говорит о жёстких трёх месяцах. Да, точное ТЗ на двух страницах не определено.

он так и говорит: хочу штота, но за 3 месяца? в чем проблема то, боишься обидеть заказчика срывом сроков?

stave ★★★★★
()
Ответ на: комментарий от sergej

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

Организует? Т.е. вы тоже считаете, что не хватит одного человека?

kiverattes ★☆
() автор топика

Человек 30-40, каждому миллиона по 2р (оплата - только по факту сдачи), сделают.

Eddy_Em ☆☆☆☆☆
()

Представь себе Кризис: Онлайн. Прикинь сколько миллионов долларов придётся на это потратить. Найти отличия между ТЗ твоей задачи и ТЗ Кризис: Онлайн(хинт: их нет).
Это я к тому что ТЗ расплывчато рассказано, нужно больше подробностей для оценки.
Несколько пунктов из твоего сообщения, которые наиболее интересны:
.10к игроков - значит сервер должен либо использовать кластер, либо работать с минимальной логикой. И то придётся расширяться достаточно скоро.
.бегалка-стрелялка - здесь не хватит синхронизации как в каком-то WoW, La2. Здесь РИОЛТАЕМ. Это означает, что 10к игроков, шмаляющих друг в друга в одном участке карты могут убить всё нафиг. Всё твоё высокоустойчевое ПО и железо.
.просчёт попаданий при выстрелах - коллижн-детекшн пусть делается на клиентах. На других клиентах делать проверку на наличие попаданий без «сигнала» коллижн детекшна и банить.
.поддержку плагинов - это самая сложная часть любого проекта. Где-то можно обойтись 1-5 интерфейсами, а где-то приходится городить огромное число абстракций и целую систему плагинов, которую потом можно выпускать как отдельный продукт(как произошло с Thrift, например).
.взаимодействие с платёжными системами - если можно сделать через веб, то это не такая и проблема. Больше будет проблем если нужно поддерживать разные системы платежей.
.Заказчик говорит о жёстких трёх месяцах - посмейтесь над этим про себя и скажите что так не бывает. Смотри сам: изучение дизайн документа игры, по которому придётся делать серверную логику, проектирование системы, проектирование бд, проектирование системы плагинов, проектирование веб-системы+платежи, проектирование системы статистики, написание основы системы, написание игровой логики, написание системы плагинов, написание веб-системы+платежи, написание системы статистики.
.точное ТЗ на двух страницах не определено. ТЗ НЕ МОЖЕТ занимать 2 страницы. Хотя нет, может. Скажем... мп3-плеер для консоли, вот для него может. На написание ТЗ для такой системы уйдёт не меньше недель 2-3. Как продукт вашей деятельности, ТЗ будет занимать около 50 страниц, только на сервер(без веб-приложения с платежами, на которую уйдёт ещё страниц 5).
.В строительстве свои правила. В IT - свои. Увы, пока в IT не так привыкли к тому, что сроки срывают на год-два, в отличии от строительства.

И ещё немного:
.Писать ТЗ на два листа, считать для каждого пункта время, всё умножать на 2 и всё равно всё просрёте. Да! Только лучше начать с mindmap. За неделю разрастется на страниц 20. За пару дней ~10. Умножать все сроки и стоимость на Пи.
.1 месяц на ТЗ, 2 на написание основы, чтобы показать что вы работаете, а не хуи пинаете(например, побродить по миру игрушки и початиться с исполнителями). И ещё год на дописывание всего остального, если не больше.
.Вылезать из-за компа, не пить редбуллы и кофе. Хотя кофе да, но не доводить до передозировки. Почему не включать стресс-режим для организма? В первый месяц-два работа не будет требовать скорости. Нужно будет многое держать в уме и уметь трезво обдумывать. Вот уже ближе к дедлайну - ок, как хочешь.

Примерный расклад по людям:
1 веб-дизайнер
1 веб-кодер
1 веб-верстальщик
1 тимлид+проектировщик+главный кодер
2-3 джавакодера на сервер
1-2 цпп-кодера на клиент, для дописывания сетевой логики в клиенте

Почему джава? Потому что 10к людей РИОЛТАЕМ.
Зачем аж 3 человека на веб? Затем что заказчику не понравится голая страница без css и js, на которой просят ввести id «товара».

А теперь ВНИМАНИЕ! Это только на СЕРВЕР. Если и клиент(т.е. сама игра) ещё не написана, то размеры ТЗ смело умножай на 5 или вообще на 10, стоимость - на 10, в штат людей добавляй ещё 5-10 человек(главный кодер по клиенту+проектировщик, 2 моделлера-аниматора, 1 художник, 2 кодера цпп для игровой логики, 1 мастер по шейдерам, 1 дизайнер интерфейсов).

tia
()
Ответ на: комментарий от kiverattes

1 будет делать очень долго. Кол-во клиентов, измеряемое тысячами также настораживает. Потянет ли это все 1 сервер и как это надо написать чтобы потянул.

sergej ★★★★★
()

А теперь, чуть расскажу как я работал в одной конторке. Мы делали ММОРПГ. Клон Иви-онлайн.
Писали движок с нуля(с opengl, glut). И то, пришлось взять небольшие наработки одного кодера.
Всего нас было:
1 главный кодер-проектировщик.
2 кодера це/цепепе(я в их числе).
1 моделлер
1 художник
1 дизайнер
2 джава-кодера
sharaga.people.count гейм-дизайнеров(да, тупо все были частью процесса)

За год довели движок и сервер до состояния, при котором можно писать игровую логику.
По словам всех, на проект выделено 3 млн рур.
После написания самого движка, проект заморозили.

Задавайте свои вопросы, если что.

tia
()
Ответ на: комментарий от kiverattes

Нужен один заинтересованный человек, который будет каждый день крутиться и думать о проекте. У него и без кодинга будет задач полно. Именно поэтому нужен такой человек - главный кодер-проектировщик.

tia
()
Ответ на: комментарий от stave

Конечно, это будет не очень хорошо, но можно и сделать просто «что-то» за 3 месяца, а потом попросить за это «что-то» деньги. Скажем, сделать 2-д изометрическую бродилку, в духе mud'ов, но чтобы на ход строго давалась 1 секунда.
Спросят «ЧТО ЭТО ЗА ФИГНЯ, Я ХОТЕЛ 3Д» - ответь «это новая технология обмана зрения, которая позволяет ходить в 3д-мире, но не требует много ресурсов, это позволяет нам поддерживать такой большой онлайн!».
Спросят «ПОЧЕМУ ЗДЕСЬ ТОЛЬКО 1 ПУШКА, И ТО ЕЁ НЕ ВИДНО?!» - ответь «в тз было сказано что должно быть оружие, но не сказано чтобы для него была модель etc».
Это всё - плохой путь. Лучше сказать сразу заказчику что в эти сроки не уложить всю его идею, но можно попробовать уложить в такие-то сроки.

tia
()

пятьтыщмильонов

anonymous
()
Ответ на: комментарий от tia

>А теперь, чуть расскажу как я работал в одной конторке. Мы делали ММОРПГ. Клон Иви-онлайн. Писали движок с нуля(с opengl, glut). И то, пришлось взять небольшие наработки одного кодера.

ух ты ж, емое. случайно не димон был главным кодером? )

stave ★★★★★
()
Ответ на: комментарий от stave

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

tia
()

Ой, где-то я тебя сегодня уже видел :)

Gvidon ★★★★
()
Ответ на: комментарий от tia

>Это всё - плохой путь. Лучше сказать сразу заказчику что в эти сроки не уложить всю его идею, но можно попробовать уложить в такие-то сроки.

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

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

stave ★★★★★
()
Ответ на: комментарий от stave

Если говорить относительно исполнителя, то прибыль будет - деньги за выполнение проекта. И то, только если всё оговорено.
Если говорить относительно заказчика, то конечно нет смысла работать над таким проектом. Лучше набрать команду разработчиков и штамповать казуалки. Как только команда привыкнет, сможет показывать максимальный КПД в текущем составе(например, не придётся тратить время на синхронизацию разных проект-файлов от разных IDE, на выбор VCS, привыкать к одному стилю, исправлять ошибки проектирования etc), у заказчика будет достаточно денег, можно начать что-то бОльшее.

От лимона? Ну нет. Вполне можно уложиться со всеми деталями в 1 млн долларов. Конечно, это не Кризис: Онлайн, но тем не менее.
Хорошая команда - да.
Год - да.

tia
()

3 месяца у Вас уйдёт на нормальный диздок. 3..10К онлайн для стрелялки не реально на одном двух серверах.
Это интересная ниша, в которой толстой задницей сидит одна мне известная игра - APB.

Ещё мне известно, что ваш заказчик более чем на 100% евгей. Если покупать движок, то это будет скорее всего UE3 - 1 млн. $

И это только движок. Причёсывание его займёт у Вас два года. В APB на группу игроков 30-80 человек ( точно не помню ) создаётся свой инстанс и скорее всего запускается сервер отдельным процессом. Понимаете что Вам придётся оптимизировать, для того чтобы учитывать попадание пулек? Физику? И возможно, добавление машинок? =)

Если сурово и перректально, то два программиста и два художника без нормальных диздоков за редбулл и кофе - 2-3 года...Но это будет сурово и у вас онлайн не будет больше 300 человек. Люди просто не пойдут.

Вот идея вашему заказчику: Super Contra Online! На flash.

И пусть будет как все и не пыркается.

У нас даже нормальных 3d-творцов-то днём с огнём =)

m4n71k0r
()
Ответ на: комментарий от tia

>От лимона? Ну нет. Вполне можно уложиться со всеми деталями в 1 млн долларов. Конечно, это не Кризис: Онлайн, но тем не менее.

Только зарплаты описанной тобой команды(10 чел) тянут тысяч на 300-400 с налогами. не считая веба, раскрутки, нехватки художников, тестеров и прочего-прочего.

Если говорить относительно исполнителя, то прибыль будет - деньги за выполнение проекта. И то, только если всё оговорено.

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

stave ★★★★★
()

Да. Хочу добавить, что APB сделана как раз на UE2 или UE2.5, а это 750 000 $ примерно. Но у Electronic Arts таки были такие деньги =)

m4n71k0r
()
Ответ на: комментарий от stave

>Только зарплаты описанной тобой команды
Я к тому что в 1 млн уложиться реально.

так что основная задача - срубить с него бабла/набрать опыта.

Именно.

tia
()

1. Нереально.
2. Заказчик дебил:

Заказчик говорит о жёстких трёх месяцах.

Да, точное ТЗ на двух страницах не определено.


Реализовать:


Кол-во клиентов: 3...10K.


Язык: C++.



Обосретесь.

Love5an
()

> просчёт попаданий при выстрелах

За три месяца не реализуемо

ACR
()
Ответ на: комментарий от tia

.бегалка-стрелялка - здесь не хватит синхронизации как в каком-то WoW, La2. Здесь РИОЛТАЕМ.

ну-ка, ну-ка, и в чём отличие с WoW? или Вы в него не играли? :)

shty ★★★★★
()

>Заказчик говорит о жёстких трёх месяцах.

Вспоминается «Сталин и дураки»(с): "- Нет, идея очень интересная, - бормочет он(Сталин) наконец, машинально нащупывая под столом бутылку хванчкары. – И мы, старые большевики, не склонны к сантиментам. Но… Но. Но?.. Тут его опять Жуков выручил. Он тоже глядел-глядел на академика Сахарова и спрашивает вдруг: - Парень, а ты воевал? Сахаров обиделся и надулся. А Жуков к Сталину оборачивается и ему укоризненно: - И откуда ж у нас, Иосиф Виссарионыч, такие людоеды вырастают? "

slackwarrior ★★★★★
()
Ответ на: комментарий от shty

Нашел кого спрашивать, это же tia, 19-летний иксперт в питоне, функциональном программировании,D, лиспе и веб-разработке.

;Grand sionvied

anonymous
()
Ответ на: комментарий от anonymous

Недовольный анонимус такой анонимус.

ну-ка, ну-ка, и в чём отличие с WoW? или Вы в него не играли? :)

В том, что в вашем WoW нужно только синхронизировать координаты игроков, их местоположение и некоторые другие мелочи.
В ШУТАРЕ нужно в реальном времени обрабатывать collision detection попаданий пуль(или каких ещё снарядов), просчитывать физику от различных снарядов(РОКЕТДЖАМП), когда в вашем WoW collision detection ограничивается гео-картой, которая проверяется на сервере, а всё остальное - пошаговый бой, в котором на один шаг даётся определённое малое время.

tia
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.