Перенос игры на современный Delphi 10 и размещение исходного кода на github под лицензией CC0

Рад сообщить, что исходный код проекта «Герои Эквестрии» успешно обновлен:
  1. Выполнена миграция с очень сильно устаревшего Turbo Delphi 2006 на современный Delphi 10 (использовать пиратскую версию не нужно, достаточно бесплатного Community)
  2. Убраны все найденные после выпуска финалки ошибки, а также внесены небольшие улучшения и реализованы новые функции
  3. В состав проекта включены все внешние библиотеки и зависимости, так что можно выполнять сборку сразу после загрузки или клонирования репозитоия
  4. Финальная версия исходных текстов загружена на github под лицензией CC0. Предельно упрощая, это означает, что вы можете использовать исходные тексты как угодно (вплоть до создания на их основе собственных коммерческих проектов), и вам за это ничего не будет :-) более того, я буду приветствовать и поддерживать подобное

Репозиторий проекта:

github.com/tereshenkovav/HoE

Список основных обновлений с финальной версии (в основном, они осуществлялись для обеспечения проходящего сейчас конкурса, но и общие улучшения были):

  • В режиме редактора отключены все хоткеи игры, убран баг смены яркости при уводе активного объекта за фон, убрано мерцание при движении скриптом выделенной пони.
  • Конфиг редактора перечитывается при открытии карты и при выходе/входе в режим редактора.
  • Сделали многострочный режим для описаний объектов через /n и ввели параметр nomapping для исключения объекта с мини-карты.
  • Добавлены пользовательские территории
  • Обновления редактора, мгновенная установка объекта, назначение букв и цифр территориям и объектам.
  • Оптимизировали поиск клеток по адресу
  • Ускорение обработки больших скриптов

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

heroesofequestria.org/download/hoe_remake_plan.pdf

PS: И как обычно, в конце поста напоминаю: если вам нравится игра, и вы хотите поддержать эту работу — можете сделать пожертвование разработчику через официальный сайт проекта или прямо по ссылке. Заранее спасибо, любая поддержка для меня бесценна.

43 комментария

А в ленту пинать Мелькор будет?
partizan150
+2
А чего, он неплохо пнет. Ждем.
Arma
0
Вроде бы как самопинки в ленту здесь считаются дурным тоном, хотя могу и ошибаться.
NTFS
0
Вот первый раз такое слышу.
partizan150
+2
Вроде как раз нормальным считаются, по моему опыту.
А вообще, кстати, классная тема, я всегда радуюсь, когда какой-нибудь очередной проект переходит в опенсорс (особенно в public domain). Это весьма соответствует моему личному правилу, возникшему из некогда увиденной фразы про «creation is not a property, it's a contribution». Что может быть лучше того, чтобы поделиться своими наработками со всеми желающими — как завещала Пинки? =)
makise_homura
+1
Хо-хо, я никогда исходники проекта и не скрывал, просто для их получения нужно было мне написать, что конечно, требовало лишних телодвижений.
На практике, держать исходники более-менее крупного проекта в сундуке почти всегда бессмысленно — даже если ты продаешь продукт, нанять программиста твоего уровня и заплатить ему в два раза больше, чтобы он собрал из исходников пиратскую версию проекта, да еще отвечал на вопросы — никто не захочет.

А уж понная игра — тут вообще профита ноль, не считая очень редких пожертвований. Может, кто-то с кучей времени и/или денег захочет запилить на основе получше.
NTFS
+2
Ну вот да. А то некоторые даже ещё годного-то ничего не сделали, а сказу копирайтами обвешивают, как новогоднюю ёлку, и адово бомбят с попыток «украсть» их «бесценное» «творение». Я такого категорически не понимаю.
Тем более тут не ахти что, а вполне полноценная игра, в которую приятно позалипать (до тех пор, пока не начинает бомбить, например, с какой-нибудь труднопроходимой карты, ахахах =) и которая не хуже многих аналогов, даже и без поней.
makise_homura
+1
Я такого категорически не понимаю

Ну есть таки системы, где код простой, эффективный и не требует сопровождения. Те же биржевые боты, к примеру, наливай да пей. Там его берегут, как утку в яйце. Или исходники Windows, хотя тут спорный вопрос — если бы часть системы была открыта, могли бы убрать часть багов, а Wine и так сделали.

с какой-нибудь труднопроходимой карты

Список? Я-то сейчас пока занят уборкой мусора в коде, но баланс тоже требуется подправить.
NTFS Изменён автором
0
Псс, НТФС, этот не тот отчет! —
Rins
+1
этот не тот

Motorbreath
0
Ну да, тяжело пытаться одной задницей усидеть аж на четырех стульях (игры, походы, электроника, понилюбство).
NTFS
+1
Неделю назад приехал домой после 10 дней леса, в эти выхи опять ехать, в процессе всего этого у меня первый заказ на самостоятельную разработку аттракциона (схема+код), я потихоньку ползу к лорду в доташашках, вот с понилюбством тяжеловато стало, хаватате только на ро, и чуть флуда в конфочке.
Тебе, кстати, не икалось пару недель назад?)
Я немного заблудился, в результате вышел не на тот брод (спасибо OSM), сделал крюк в 4 км, но благо опыт твоего похода помог совершенно не париться по поводу таких мелочей как коровий брод по пояс с ~25 кг электроники за спиной, с последующим возвращением на маршрут по заросшему полю с гадюками в +29.
Rins
+1
В равнинные реки я стараюсь сам без нужды не лезть — в горах-то всё очевидно, подложка каменная, редка песчаник. А в долине может быть глина в русле, застрянешь по пояс и стоять-орать на потеху деревенским.
NTFS
+1
Да, но не когда до ближайшего моста 9 км в одну сторону и 6 км обратно по другому берегу.
Rins
0
Тогда посохом постукивая и медленно вперед. Впрочем, у нас и мелких рек почти нет — все весьма полноводны и считаются опасными в плане пересечения.
NTFS
+1
Да, вот про посох я в тот момент не подумал, а на самой глубокой части было уже ощутимое течение, были шансы упасть. Ну и самый неприятный момент, о том что брод примерно по пояс я узнал только когда уже дошел до середины, а штаны я изначально просто закатывал…
Rins
0
Посох вообще необходимая вещь, даже в равнинных одиночных перемещениях. Скажем, собачку отогнать, а то эти твари порой носятся и нападают от нефиг делать. Или местные жители, охочие до твоего снаряжения — конечно, если поставили цель, то ничего не поможет, а вот у случайного крестьянина — вид путника с посохом сильнее охлаждает жажду наживы, чем вид путника без посоха. Переправы, проверка болотистой местности, пески опять же… масса применений.
NTFS Изменён автором
+1
Понная игра, зер гут! )

«Это не тот отчет»©
+ 1
))
GARRIF1 Изменён автором
0
Это не тот отчет что ты ищешь.
partizan150
0
Таки решпект… годное дело
Кто б мой ленивый круп пинал свой проект доделать...
KerHarrad
0
Годным оно будет, когда пойдет в Steam Greenlight, но для того нужно:
1) Убрать тормоза
2) Убрать поней
3) Разное
NTFS
0
2) Убрать поней
How about no? =)
makise_homura
+1
За поней в Стиме мне могут и задницу отломать.
Так-то вполне можно сюжет из «Героев Эквестрии» натянуть на любой мир, с небольшой правкой диалогов-отсылок к сериалу да заменой спрайтов.
Можно и полностью оригинальный, можно и что-то из легальной классики (например, начало Второй Эпохи, губернатор Андуниэ посылает нуменорца и нолдора на разведку в дальнее поселение, а в это время Саурон таки прокачался до мощи Валы и решает физически разрушить Арду с помощью Пустоты и дальше по списку).
NTFS
0
Ну это уже называется «движок», а не игра.
Просто эта игра не в последнюю очередь хороша тем, что про поней =)
makise_homura
0
Я думаю, что и на улучшенном движке смогу поней делать, но зато и не только поней.
Когда в классах игры наименования вроде TPony — радости немного, и удобства разработки тоже.
NTFS Изменён автором
0
А, ну универсализация движка — это да, ок.
makise_homura
0
С понями я завязывать не собираю, меня от них всё ещё прёт.
Просто хочу немного класс поднять и расширить.
NTFS
+1
Ну просто «убрать поней» прозвучало как-то жестоко чутка. =)
makise_homura
0
Я их сначала выведу из кода, потом обновлю код, а потом снова введу, и обзову эту почти порнографическую картину как «понная игра на универсальном движке».
Но при том, я смогу ввести не только поней, но и эльфов, зергов, орков, да хоть Тора верхом на шаи-халуде.
NTFS Изменён автором
0
Когда в классах игры наименования вроде TPony

Валялись у меня где-то исходники сервера ВоВ ) Там не то-что TPony, там местами все движения босса в инсте захардкожены, прямо в виде координат и чередования со спеллами)
KerHarrad
0
там местами все движения босса в инсте захардкожены


Да, это известная проблема. Кажется, что вставить одну фишку сценария в код игры вместо кода карты — фигня, а потом получается вот такое.
Лечение Сомбры кристаллами
if (Code='sombra')and(Health<MaxHealth) then begin
RList:=GetCellFinder().GetCellsOnDistN(GetBF().GetCellByObject(Self),
3,
[spIgnoreTerrain,spIncludeBusyCell]);

for i := 0 to RList.Count — 1 do
if not RList[i].IsEmpty() then
if RList[i]._Object is TMonsterUnit then
if TMonsterUnit(RList[i]._Object).Code='darkcrystall' then begin
Self.IncHealth(40);
HV.addNewHit(GetBF().GetCellByObject(Self),hsGood,'+40');
Break;
end;
end;
NTFS Изменён автором
0
Здравствуйте всем. Может кто-нибудь пожалуйста подсказать, откуда вытаскивать прогресс по игре? А то я уже пол-кампании прошёл, и только сейчас увидел пост о переносе и дополнительных функциях.
MohNabson
0
Файл player.ini содержит информацию о пройденных картах в разных кампаниях.
В игре нет системы профилей, потому достаточно скопировать этот файл в новую установку.
Сейчас две версии игры:
1) Та, что размещена на heroesofequestria.org — старая версия на старом Delphi, стабильная и предназначенная для рядовых игроков.
2) Та, что размещена на github.com/tereshenkovav/HoE — новая версия на новом Delphi, предназначена для разработчиков и тех игроков, которые предпочитаю собирать игры себе сами. Чуть менее стабильна, но содержит небольшие улучшения.

Есть просто хочешь играть — берем версию с сайта heroesofequestria.org и спокойно проходим кампании.

PS: На какой карте застрял?
NTFS
0
Спасибо. Про версии понял, я иногда читать не умею. heroesofequestria.org/download/hoe_remake_plan.pdf Эта ссылка же про то, что будет в ремейке?
Из застреваний — последние были на 3-4 картах 2 кампании, там где надо чистить пустоту часто не хватало еды и выносливости для завершения задания (буквально 1 ход иногда оставался). Похожая ситуация встречалась в 12 (последней) карте 1 кампании. Не сильно сложно (нужно было только точно исполнить план) прошлась 8 карта 2 кампании, сейчас думаю над 9 картой, когда нужно корабли строить.
MohNabson
0
Эта ссылка же про то, что будет в ремейке?

Да, но пока что разработка не ведется, занят другой работой.
Но план актуален.

9 картой, когда нужно корабли строить.

Это одна из моих любимых карт, там нужно активно использовать всё, что можно, иначе не выстоять.
NTFS
0
нужно активно использовать всё, что можно, иначе не выстоять

Ясно, спасибо. СпойлерМаксимальный результат — 2 корабля. Камня хватает только на 2 фермы и 2 Рариткиных кристалла по 55, думаю, что после них её можно в Найтмэр превращать.
MohNabson
0
На какой сложности играешь? Если на казуальной, то вообще не проблема должно быть, просто бить всё, что движется и построить две башни возле верфи. На стандартной, конечно, придется немного повозиться с распределением ролей и выбором места битвы.
NTFS
0
Думал, что стандартная, оказалась казуальная. Почувствуй себя тупым.
MohNabson
0
Часто пишут, что игра хорошая, но сложная как Doom на Nightmare.
Что вызывает типичные проблемы? Заканчивается еда постоянно? Силы поней на нуле?
NTFS Изменён автором
0
Эта проблема встречалась в конце карт на зачистку Пустоты. Проблема же текущих миссий — «хрусть» верфи/корабельщика/обелиска, и карта проходится заново. Также несколько… неудобен тот факт, что иногда можно одним «Радужным ударом» вынести толпу троллей, а иногда они все остаются на единицах HP. Такой себе опыт.
MohNabson
0
«хрусть» верфи/корабельщика/обелиска

Это архитектурный косяк игры, невозможность присвоить прочность нейтральным объектам.
В переделываемой версии, защищаемые объекты будут выдерживать как минимум 1 удар, чтобы одна ошибка не приводила к проигрышу.
NTFS
0
Понятно, спасибо. Подумал и выделил ещё один момент — даже со срезанными на треть HP противников в некоторых (довольно редких, правда) случаях не хватает скорости нанесения урона.
P.S.: если нейтральным объектам нельзя присвоить прочность, то как тогда это делается, например, с «Домами пони»?
MohNabson
0
Дом не нейтральный объект, это класс «Здание».
Больше про архитектуру карт можно узнать, пооткрывав файлы из каталога maps и посмотрев, как там заданы классы.
NTFS
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Скрыто Показать