Среда, 25 Декабря 2024, 09:49

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Кузница Богов
maxsimusДата: Суббота, 20 Ноября 2010, 22:57 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Название - Кузница Богов (Forge of the Gods)
Жанр - Браузерная ММОРПГ
Язык - PHP
Похожие игры - barbars.ru, vten.ru

Здравствуйте уважаемые форумчане, об игре из соображений безопасности много рассказать не могу, игра еще на стадии разработки.
Возникла такая проблемка - разделение игроков на арене по сумме параметров
Допустим это арена 3 на 3, требуется разделить игроков на 2 команды (по 3 игрока в каждой), используя их сумму параметров
Тут скорее математика, чем программирование, есть люди понимающие в этом?

скрин:


немного похвастаюсь художником=)


Магический мир (HTML5) - гейм-дизайн
Кузница богов (HTML5) - гейм-дизайн
Max Speed - гейм-дизайн
Битва титанов - гейм-дизайн
Танки - гейм-дизайн
Война за власть - гейм-дизайнер
Кузница Богов (Forge of the gods) - гейм-дизайн
TheShowMustGoOnДата: Суббота, 20 Ноября 2010, 23:12 | Сообщение # 2
I think I'm a banana tree
Сейчас нет на сайте
maxsimus, Напиши какие есть параметры и на что они влияют. Как они улучшаются (пример приведи). Можно будет прикинуть как с минимальным "кровопролитием" разбросать игроков smile
Арты, кстати, классные smile


You Take My Breath Away
vicmadДата: Суббота, 20 Ноября 2010, 23:15 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Предлагаю делить игроков на "Богов" и "убогих", богов вместе а убогих в кучу. Баланса игрового никакого но зато реальщики будут довольны. Остальных завлекать в игру лозунгами типа "... почувствуй себя Мясом..,!"

шучу biggrin

TheShowMustGoOnДата: Суббота, 20 Ноября 2010, 23:18 | Сообщение # 4
I think I'm a banana tree
Сейчас нет на сайте
Quote (vicmad)
почувствуй себя Мясом..,!

Зря шутишь smile Идея может не из лучших, но фраза звучит хорошо)))
З.Ы. Утащил фразу в блокнот))


You Take My Breath Away

Сообщение отредактировал TheShowMustGoOn - Суббота, 20 Ноября 2010, 23:19
maxsimusДата: Суббота, 20 Ноября 2010, 23:21 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
TheShowMustGoOn, параметры не важны, важнно по сумме параметров разделять, допустим в очереди стоят:

1. Вася - 7500
2. Петя - 5000
3. Коля - 5000
4. Максим - 7000
5. Олег- 5000
6. Ваня - 5000

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

Команда № 1
1. Вася - 7500
2. Петя - 5000
3. Коля - 5000
сумма - 17.500

Команда № 2
4. Максим - 7000
5. Олег- 5000
6. Ваня - 5000
сумма - 17.000

разница всего в 500


Магический мир (HTML5) - гейм-дизайн
Кузница богов (HTML5) - гейм-дизайн
Max Speed - гейм-дизайн
Битва титанов - гейм-дизайн
Танки - гейм-дизайн
Война за власть - гейм-дизайнер
Кузница Богов (Forge of the gods) - гейм-дизайн


Сообщение отредактировал maxsimus - Суббота, 20 Ноября 2010, 23:27
lvovandДата: Суббота, 20 Ноября 2010, 23:32 | Сообщение # 6
старожил
Сейчас нет на сайте
навскидку, вот у тебя 6 игроков 1,2,3,4,5,6
сделай сравнение возможных команд
123 456
124 356
125 346
126 345
234 156
345 126

где разность параметров минимальна, на том варианте и остановиться


Разработка и продвижение сайтов. Дизайн

Сообщение отредактировал lvovand - Суббота, 20 Ноября 2010, 23:33
TheShowMustGoOnДата: Суббота, 20 Ноября 2010, 23:33 | Сообщение # 7
I think I'm a banana tree
Сейчас нет на сайте
maxsimus, Сложно в такое время трезво мыслить))
Общее кол-во участников делим на 2 (в данном случае число = 3, ведь участников 6). Берем данные 3х участников и складываем их. Получившаяся цифра должна быть не больше чем сумма параметров всех 6 участников деленная на 2, но и не сильно мала (для этого сперва берутся для вычисления персонажи с самыми большими параметрами). Оставшиеся 3 игрока идут во 2 команду.
Как-то так)) можно еще мелочи какие-нибудь добавить).
... а можно сделать лобби и пусть игроки вручную друг друга балансируют ))


You Take My Breath Away
maxsimusДата: Суббота, 20 Ноября 2010, 23:42 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Quote (TheShowMustGoOn)
а можно сделать лобби и пусть игроки вручную друг друга балансируют ))

не, вручную точно нельзя делать
А то что ты описал выши это я и сам представляю себе, нужна формула или её подобие
но всё равно спасибо за совет=)


Магический мир (HTML5) - гейм-дизайн
Кузница богов (HTML5) - гейм-дизайн
Max Speed - гейм-дизайн
Битва титанов - гейм-дизайн
Танки - гейм-дизайн
Война за власть - гейм-дизайнер
Кузница Богов (Forge of the gods) - гейм-дизайн
LorderonДата: Суббота, 20 Ноября 2010, 23:46 | Сообщение # 9
старожил
Сейчас нет на сайте
Quote (maxsimus)
не, вручную точно нельзя делать
А то что ты описал выши это я и сам представляю себе, нужна формула или её подобие
но всё равно спасибо за совет=)

Можно посредством массива.
maxsimusДата: Суббота, 20 Ноября 2010, 23:56 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Quote (Lorderon)

Можно посредством массива.

можно подробней
саму сортировку и тп


Магический мир (HTML5) - гейм-дизайн
Кузница богов (HTML5) - гейм-дизайн
Max Speed - гейм-дизайн
Битва титанов - гейм-дизайн
Танки - гейм-дизайн
Война за власть - гейм-дизайнер
Кузница Богов (Forge of the gods) - гейм-дизайн
Serg1971Дата: Воскресенье, 21 Ноября 2010, 00:11 | Сообщение # 11
Весёлый программист
Сейчас нет на сайте
maxsimus, дам тебе алгоритм попроще, если у тебя чётное количество игроков... Выстраиваешь их очки в порядке убывания, методом пузырьковой сортировки массива. Потом делишь так: первого сверху - в левую команду, следующего в правую, следующего снова в правую, другого в левую, и повторяешь цикл... Проверь - нормально работает! И на код хорошо ложиться! smile

maxsimusДата: Воскресенье, 21 Ноября 2010, 00:19 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Serg1971, так это методом тыка получается, параметры у игроков могут быть разные
Quote (maxsimus)
1. Вася - 7500
2. Петя - 5000
3. Коля - 5000
4. Максим - 7000
5. Олег- 5000
6. Ваня - 5000

твоим способом может получится:
Команда №1
Вася - 7500
Максим - 7000
Коля - 5000
Команда №2
Олег- 5000
Ваня - 5000
Петя - 5000
--
то-есть вторая команда получится намного слабее

Добавлено (21.11.2010, 00:19)
---------------------------------------------
Можно было бы применить этот метод если бы числа были не такие большие. Тут же идёт речь о тысячах и разница может быть большой. Если в простых играх там параметры 20 25 30, то тут же 500 1000 5000 и тп
Потому нужен алгоритм по лучше))
А именно со всеми возможными вариантами


Магический мир (HTML5) - гейм-дизайн
Кузница богов (HTML5) - гейм-дизайн
Max Speed - гейм-дизайн
Битва титанов - гейм-дизайн
Танки - гейм-дизайн
Война за власть - гейм-дизайнер
Кузница Богов (Forge of the gods) - гейм-дизайн
Serg1971Дата: Воскресенье, 21 Ноября 2010, 00:26 | Сообщение # 13
Весёлый программист
Сейчас нет на сайте
Quote (Serg1971)
Выстраиваешь их очки в порядке убывания, методом пузырьковой сортировки массива.

Сортировка сначала нужна! Метод пузырька в массивах - это выстраивание значений по рангу - по возрастанию и убыванию...
Quote (maxsimus)
1. Вася - 7500 2. Петя - 5000 3. Коля - 5000 4. Максим - 7000 5. Олег- 5000 6. Ваня - 5000

после сортировки:
1. Вася - 7500
4. Максим - 7000
2. Петя - 5000
3. Коля - 5000
5. Олег- 5000
6. Ваня - 5000
Делим по алгоритму...
1. Вася - 7500 4. Максим - 7000
3. Коля - 5000 2. Петя - 5000
5. Олег- 5000 6. Ваня - 5000
Работает при любых числах...




Сообщение отредактировал Serg1971 - Воскресенье, 21 Ноября 2010, 00:27
maxsimusДата: Воскресенье, 21 Ноября 2010, 00:42 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
Serg1971, интересно, а если сделать чтоб в очередь набиралось 20 игроков, в это время система проверяет суммы параметров и пытается подобрать равные команды, сможешь расписать для этого алгоритм? Потомучто если брать с 6 игроками может получится что у всех 5000, а у одного 7000, в итоге равных команд не сделать

Магический мир (HTML5) - гейм-дизайн
Кузница богов (HTML5) - гейм-дизайн
Max Speed - гейм-дизайн
Битва титанов - гейм-дизайн
Танки - гейм-дизайн
Война за власть - гейм-дизайнер
Кузница Богов (Forge of the gods) - гейм-дизайн
Serg1971Дата: Воскресенье, 21 Ноября 2010, 00:46 | Сообщение # 15
Весёлый программист
Сейчас нет на сайте
maxsimus, Ты мне - сколько игроков говори и сколько команд(по сколько человек) надо, для разных случаев - разные алгоритмы...

maxsimusДата: Воскресенье, 21 Ноября 2010, 00:49 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
смотри, если вот так
20
7
6
2
1
0
То получается
команда 1
20
2
1
команда 2
7
6
0
не самый лучший вариант по этому методу. Или я где то ошибся

Добавлено (21.11.2010, 00:49)
---------------------------------------------

Quote (Serg1971)
maxsimus, Ты мне - сколько игроков говори и сколько команд(по сколько человек) надо, для разных случаев - разные алгоритмы...

арена, 2 команды, по 3 игрока в каждой


Магический мир (HTML5) - гейм-дизайн
Кузница богов (HTML5) - гейм-дизайн
Max Speed - гейм-дизайн
Битва титанов - гейм-дизайн
Танки - гейм-дизайн
Война за власть - гейм-дизайнер
Кузница Богов (Forge of the gods) - гейм-дизайн
Serg1971Дата: Воскресенье, 21 Ноября 2010, 00:58 | Сообщение # 17
Весёлый программист
Сейчас нет на сайте
Quote (maxsimus)
20 7 6 2 1 0

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


maxsimusДата: Воскресенье, 21 Ноября 2010, 01:05 | Сообщение # 18
постоянный участник
Сейчас нет на сайте
Serg1971
Quote (maxsimus)
интересно, а если сделать чтоб в очередь набиралось 20 игроков, в это время система проверяет суммы параметров и пытается подобрать равные команды, сможешь расписать для этого алгоритм?

Если знаешь канечна как реализовать=)


Магический мир (HTML5) - гейм-дизайн
Кузница богов (HTML5) - гейм-дизайн
Max Speed - гейм-дизайн
Битва титанов - гейм-дизайн
Танки - гейм-дизайн
Война за власть - гейм-дизайнер
Кузница Богов (Forge of the gods) - гейм-дизайн
Serg1971Дата: Воскресенье, 21 Ноября 2010, 01:09 | Сообщение # 19
Весёлый программист
Сейчас нет на сайте
Максимально сколько в очереди стоять может? И всего две команды набирается из них, да? По порядку, или по рангу параметров, чтоб выдержать одинаковые команды? То есть можно брать - 1, 12, 16 и 3, 4,19 ?

maxsimusДата: Воскресенье, 21 Ноября 2010, 01:13 | Сообщение # 20
постоянный участник
Сейчас нет на сайте
Хотя стопе
вроде понятно как 20 распределить теперь, выделяем эти 6, убираем из списка. Мы ведь отсортировали его весь, значит в любом случае всё будет кул. И далее смотрим оставшиеся

Добавлено (21.11.2010, 01:13)
---------------------------------------------

Quote (Serg1971)
Максимально сколько в очереди стоять может?

20
Quote (maxsimus)
И всего две команды набирается из них, да?

да, две команды по 3 человека в каждой
Quote (Serg1971)
По порядку, или по рангу параметров, чтоб выдержать одинаковые команды?

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


Магический мир (HTML5) - гейм-дизайн
Кузница богов (HTML5) - гейм-дизайн
Max Speed - гейм-дизайн
Битва титанов - гейм-дизайн
Танки - гейм-дизайн
Война за власть - гейм-дизайнер
Кузница Богов (Forge of the gods) - гейм-дизайн


Сообщение отредактировал maxsimus - Воскресенье, 21 Ноября 2010, 01:15
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг