Перейти к содержанию

инетресная идея для выживания +псевдокод


Rozy

стоит ли мне заняться такой механикой?  

6 проголосовавших


Рекомендуемые сообщения

В теме 11 сообщений

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

За интересовала ли вас эта идея? стоит ли делать датапак с такой механикой?
может у вас есть ещё какие-то идее на эту тему?




примерный код (псевдо код) (делал чат гопоты так что не всё может быть идеально):
 

// Инициализация
названия_групп = ["Группа 1", "Группа 2", ...]
доступные_названия = stack(названия_групп)
следующий_номер_группы = len(названия_групп) + 1
используемые_названия = {}  // Сопоставление группы и её названия

// Одиночество и получение урона
для каждого игрока:
    если нет других игроков в радиусе 10 блоков:
        наносить постоянный урон

// Создание группы
для каждого игрока без группы:
    если >= 2 игрока находятся в радиусе 5 блоков:
        если доступные_названия не пуст:
            название = доступные_названия.pop()
        иначе:
            название = "Группа " + следующий_номер_группы
            следующий_номер_группы += 1
        назначить название новой группе
        сохранить название в используемые_названия с группой
        рассчитать центр группы как среднее координат всех игроков

// Исключение игрока из группы
для каждой группы:
    для каждого игрока в группе:
        если расстояние от центра группы > 10 блоков:
            исключить игрока из группы

// Периодическое обновление центра группы
для каждой группы с определённым интервалом:
    пересчитать центр группы как среднее координат всех игроков

// Объединение групп
для каждой группы A:
    для каждой другой группы B:
        если расстояние между центрами A и B <= 5 блоков:
            // Определение названия по группе с большим количеством игроков
            если кол-во игроков в A > кол-во игроков в B:
                новое_название = название группы A
            иначе:
                новое_название = название группы B
            
            // Объединение групп
            объединить группы A и B
            новый_центр = (центр_A + центр_B) / 2
            назначить новое название для объединённой группы
            пересчитать центр новой группы

// Удаление группы
если группа распадается:
    название = используемые_названия[группа]
    вернуть название в доступные_названия
    удалить группу из используемые_названия

 

Ссылка на комментарий
Поделиться на другие сайты

  • Rozy изменил название на инетресная идея для выживания +псевдокод
Только что, Crystal Story Team сказал:

Делай, хорошая идея.

ток у меня есть небольшое ощущение что датапак может не выдержать и возможно это надо будет делать модом, а в этом у меня не так много опыта

Ссылка на комментарий
Поделиться на другие сайты

В 26.10.2024 в 12:43, Shomen сказал:

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

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

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, DoggeKey сказал:

Смотрел фиксая. Там игроки сразу умирали

эээээ, и как это всязано? моя идея не как не всязана с тем что там и как было у фиксая

Ссылка на комментарий
Поделиться на другие сайты

13 минут назад, NecRoZ сказал:

эээээ, и как это всязано? моя идея не как не всязана с тем что там и как было у фиксая

верю

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...