Всем привет!
У меня есть сырой движок мада, написанный "с нуля". Писался он мной и моим другом в качестве развлечения для двух программистов в свободное время. Мы не ставили задачу сделать суперпупер мир, набрать 10 тысяч игроков и радоваться этому факту. Почему мы его не дописали? Времени в итоге стало все меньше, работа и дом отнимали много сил, в свободное время все же хотелось заняться чем-то более полезным. Итак, что имеется.
Движок написан на Java, среда разработки - Intellij Idea. Движок, как я уже говорил, находится в довольно сыром состоянии.
Из того, что НЕ реализовано:
Дофига всего
Навскидку,
1) Неотлаженный код клиент-сервер (периодически выскакивают NPE, нужно все выловить и прилизать).
2) Нету инструмента для сохранения бд игроков - сейчас тестовые игроки создаются прямо в коде движка, нужно написать класс, который будет брать откуда-то данные и создавать игроков, и вообще управлять аккаунтами.
3) Объекты (вещи) в маде находятся в зачаточном состоянии. Изначально мы сделали объекты, но потом начали переписывать их по принципу прототипов (есть объект-прототип короткий меч, из него можно получить Огнедыщащий клинок возмездия - примерно как генерация магических вещей в диабло или уникальные вещи в сфере миров), но в итоге этот код находится в зачаточном уровне.
4) Игровая механика практически нулевая. Я брал кусочки из аднд 3.5 (потому что я его хорошо знаю
) - есть несколько профессий, есть пара заклинаний и т.п. Но это наверно скорее плюс, чем минус.
5) АИ мобов в зачаточном состоянии, планировалось сделать им склейку мозга мобов из сферы миров и lineage (на этом месте не надо ржать
почитайте про то как мобы в lineage выбирают себе цели, уровень агрессии - тут долго и лениво расписывать).
Что реализовано, тоже навскидку:
1) Собственно сам какой никакой движок.
2) Простой, но мощный конструктор для рас. Итоговая раса состоит из трех частей - тип (нежить, гуманоид и т.п.), собсвенно раса (человек) и тело (части тела - рука, нога, хвост, глаз, пятое крыло и т.п.). На основе этого конструктора можно легко сделать, например, как в приведенном выше примере, расу бехолдера, у которого будут 8 глаз. И даже можно поставить флаг, что эта раса доступна игрокам
3) Безраундовая система боя в рл времени, и вообще отсутствие тиков и боевых тиков. (Этот момент вызывает у многих священный ужас
) Что это значит?
Во-первых планировалось не привязывать механику к каким-то там тикам или пульсам. Если на вас кинули аффект за 1 секунду до нового игрового часа, он все равно должен длится положенный час (ну или другое время). Длительность аффектов не привязывалась к факту боевого или мирного состояния (привет мадам-циркулям с холдами по 7 рл минут). Да и вообще игровые часы служат в первую очередь для антуража - есть класс календарь, который берет текущее рл время сервера и несколькими несложными функциями расчитывает игровое время - типа "Год 3124, Месяц Черных Вод, 14 день Ромашки, 07:17 утра."
Во-вторых по системе боя. Нету привязки к раундам. Любое действие может начаться и закончится в любой момент. Например обычно в мадах - маг находится вне боя и кастует заклинание в середине раунда. В начале следующего он уже опять может кастовать, хотя реально прошла только половина раунда лага, а не полный.
У нас каждое действие имеет положенный лаг, несмотря на то, когда оно началось.
Удары в бою наносятся так же. Есть не количество ударов, а скорость ударов. Приведу здесь тоже пример. Например варвар в сфере миров бьет 10 атак в раунд. Если он начал кого-то бить, то эти удары нанесутся в любом случае и вылетят пачкой.У нас же "варвар" бьет не 10 ударов в раунд, а, к примеру, 4 удара в секунду (1 удар в 250 мс - как удобнее для восприятия). То есть если варвар начал бить цель, нанес первый удар, в этот момент его могут схолдить и он перестанет бить оставшиеся сразу же.
4) Стандартные команды и действия для мадов, ну там можно ходить по комнатам, можно посидеть, поспать, поговорить, загрупиться. Использовать социалы.
Хранение всех данных, где оно реализовано, идет в xml. Вообще планировалось перенести все данные в СУБД. Как бы то ни было, но лично меня не устраивает миллион файлов с непонятным сериалайзом, а СУБД предоставляет удобнейшие инструменты для хранения и работы с данными.
В общем. Что я предлагаю-то. У меня сейчас нету времени этим заниматься, тем более в одиночку. Может быть есть люди, которые знают Java, которых заинтересовал этот движок.
Я могу попытаться поднять репозитарий cvs, дать доступ к исходному коду. Если найдутся желающие доделать все это (а точнее люди, которые реально будут доделывать), может быть и я тоже подключусь по мелочи
Я не верю в идею Великого Возрождения Мадов, но я знаю, что есть энтузиасты и я готов им помочь чем могу.