Игра автоматически один раз в 3 месяца производит сброс текущих значений "уровень" и "опыт" для всех активных игроков. Накопленный в закончившемся сезоне опыт прибавляет к "старому" (
чтобы иметь возможность вернуть к текущему состоянию игры и не потерять ни уровня ни вновьнакопленного опыта за заезды). Для удобства "сезон" начинаем 1 день зимы, 1 день весны, 1 днь лета и 1 день осени.
Меняем таблицу опыта (деенжные вознаграждения за достижения уровня) так чтобы за те отведенные 3 месяца у игроков были шансы достичь предельных уровней (пользоваться техникой на полную катушку и реализовать свои усилия или денежные вложения) но не слишком быстро
lvl - XP(текущая схема) - XP(новая схема)
0 - 10 - 10
1 - 30 - 20
2 - 100 - 40
3 - 300 - 70
4 - 1 000 - 120
5 - 3 000 - 200
.. полная таблица будет в конце и она конечно обсуждаема..
Таким образом люди в начале сезона вынуждены ехать на Пони/Бимбо и они стимулированы кататься как можно больше (и набирать опыт) В этой фазе критически важно быстрее получить доступ к РЧ как источнику "халявных денег и призов". Будет круто если даже за проигрыш люди будут получть хотя бы 10% опыта от того, что им должно было им причитаться за участие в заезде но это можно попрвить и позже.
Периодичность обнуления позволит задействовать на проекте весь арсенал транспорта естественным образом. Постепенно люди будут покупать разные машины и разные обвесы к ней в зависимости от текущего уровня. У всех будет понимание что через 3 месяца все покупки пригодится вновь (в новом сезоне). Поэтому потребность покупать ключи и прочие кубки никуда не исчезает. Напротив арсенал техники и деталей которые есть у администрации в этой концепции становятся востребованы.
Это всё может помочь вернуть в игру "старичков", которые ушли потому что устали от однообразия. Если система будет жизнеспособна появится смысл пытаться привлечь новичков и даст им возможность не прост присоединиться к сообществу, но и быстро в нём освоиться. Понимание что через 3 месяца если ты натворил ошибок у тебя есть шанс "выстрелить" должно помочь проекту получить "новую кровь"
Не в первую очередь но после перевода системы на новые рельсы можно позволить перенести часть своих достижений в новый сезон хотя бы в виде не нулевого стартового уровня а вычислить его (например: для игроков до 5 уровня обнуляем .. для игроков до 10 уровня присваиваем 2 уровень для игроков старше 10 уровня уменьшаем текущее значение на 8 при этом опыт во всех случаях сбрасываем в 0 )
Для реализации предложения потребуется (помимо согласия игроков/администрации)
А. В таблице пользователей (активных) сделать дополнительно несколько полей:
- добавить 4 поля у каждого активного игрока
1. поле для хранения старого значения опыта
2. поле для хранения старого значения уровня
3. флаг что игрок уже переведён на новую систему
4. флаг обнуления
пункт 3 нужен для возвращения в игру кого то позже чем другие.. если этот механизм приживется и кто-то из архивных игроков вернется их опыт полученный не сгорел.. мы перепишем его на всякие пожарные только один раз в поля 2 и 3 для каждого игрока.. (чтобы иметь возможность вернуться)
пункт 4 для тех кто уже переведен на новый механизм. Метка которая покажет что мы его в текущей итерации обнулили
Б. Далее в файле конфигурации где прописано сколько нужно для получения опыта и сколько при этом выдается денег закомментировать существующую систему (это хэшь массив .. около 16 строк кода) и повторить его с новыми значениями
В. Написать функцию которая будет делать обнуление на автомате.. подобная той что вычисляет результаты РЧ и подводит итоги. Она так же должна работать по таймеру. Определяем например что у нас обнуление всегда происходит ровно первого числа в марте в июне в сентябре и в декабре (то есть 4 раза в году) и в этот день мы:
- Если флаг в поле 3 указывает что игрок ещё не "старик" значения из полей LVL, EXP пересохраняем в поля 1 и 2
- Записываем в поле 3 что игрок переведен на новый алгоритм.
- Если он уже на "новом алгоритме" опыт который за это время игрок накопил добавляем к тому что ранее было накоплено (чтобы и этот опыт не сгорел если вдруг мы вернуться решим, если вдруг окажется что игрок в старой системе получит новый уровень то как только мы вернемся к старой системе ему система и денег выдаст и уровень новый насчитает)
- в поле отвечающее за опыт пишем нуль
- если для игроков достигших за истекший сезон какого то уровня определяем новое значение
Собственно всё
---
Немного анализа:
На сегодня у нас в игре порядка 50 человек.. предположим все в отпусках и активных игроков окажется 100
За неделю (прошлую, завершенную)
- три человека проехали более 100 заездов (это 6%)
- двое проехали меньше 100 но больше 50 (это 4%)
- семь человек не проехали даже 10 заездов (это 15%)
- десять проехали "кандидатский минимум" (это 21%)
- оставшиеся игроки (54%) проехали менее 50 заездов...
За неделю сейчас 5тый уровень дающий доступ к РЧ не получил бы наверное никто (условно 4 недели) просто по тому что участники имели бы низкий рейтинг и начисляемые за победу очки были бы малы.. в то же время за неделю существенно увеличилось бы число заездов (все хотят в РЧ и не напрягаясь попасть в 1 и 2 лигу чтобы получить деньги и призы...)
Деньги подарки автомашины и прочее имцщество не отбираем.. если всё плохо (непонравилось) у нас старые значения сохранены и откат будет состоять в том что сначала хэшьмассив новый стираем а старый раскомментируем.. затем удаляем выполнение функции сезонного обнуления а затем в таблице пользователей переписываем значения из полей 1 и 2 в те поля что сейчас LVL и EXP..
дальше система сама разберется кто за это время успел получить опыт и ему надо бабла выдать..
LVL - xp(текущая схема) - xp(новая схема)
0 - 10 - 10
1 - 30 - 20
2 - 100 - 40
3 - 300 - 70
4 - 1 000 - 120
5 - 3 000 - 200
6 - 10 000 - 330
7 - 30 000 - 540
8 - 100 000 - 880
9 - 300 000 - 1 430
10 - 1 000 000 - 2 320
11 - 3 000 000 - 3 760
12 - 10 000 000 - 6 090
13 - 30 000 000 - 9 860
14 - 100 000 000 - 15 960
15 - 300 000 000 - 25 830
16 - 1 000 000 000 - 41 790
Если это всё приживётся есть ещё несколько предложений которые могут улучшить и разнообразить игровые процессы. Они коечно в реализации сложнее но не так чтоб сильно сложнее предложеного варианта...)
Очень коротко их перечень: