Warcraft 3 на Android



Реп: (74)
Warcraft 3 на Android

Жанр: RTS
Версия Android: 2.3.3+, armeabi-v7a и выше, OpenGL ES 2.0

Ранняя версия в разработке, клон "Warcraft 3 Reign of Chaos" и "Warcraft 3 The Frozen Throne" для android. Сейчас может загружать оригинальные карты, можно строить здания и нанимать юнитов, добывать ресурсы, атаковать юнитов другой команды. Есть слабый ИИ противника. Много чего пока не реализовано и на это уйдет много времени.
В будущем язык интерфейса будет зависеть от ресурсов варкрафта, а сейчас язык английский, если кто найдет ошибки в переводе, просьба написать мне.
Скриншоты
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Настройка
Нужны оригинальные ресурсы, проверялось на версии 1.26.0.6401, но должно работать и с другими. Можете положить на карту памяти или память телефона. В главном меню нужно выбрать "Change resources" и там указать путь к директории, в которой лежит war3.mpq. Можете нажать "Auto search" что бы найти путь автоматически, главное, чтобы ресурсы были на устройстве, не нужно жать поиск без них, потому что оно будет искать очень долго и ничего не найдется.
Из ресурсов нужны минимум war3.mpq, War3x.mpq, War3Patch.mpq. Они должны быть в подкаталоге, а не в корне диска, потому что при каждом запуске будут искаться карты для загрузки в том каталоге и подкаталогах, а корень диска с кучей файлов и папок не удачное место для этого.

Управление
  • Одиночный выбор юнита, просто касание, но только пока ничего больше не выбрано.
  • Отдать команду - касание по карте или другому объекту.
  • Если нужно убрать выделение, то нажмите кнопку "X" или можно сделать три одновременных касания.
  • Выделить много юнитов можно двумя способами. С помощью двух одновременных касаний. Или можно одним касанием ЗАЖАТЬ и переместить в сторону.
  • Перемещение камеры - касание и БЫСТРОЕ смещение в стороны.
  • Что бы построить здание, жмите по кнопке с его иконкой в юните. Оно появится примерно в центре экрана. Нужно разместить его на свободном месте (земля ярко зеленая) и повторно нажать по желтой кнопке здания для подтверждения.
  • Справа от мини карты есть три кнопки, «+», «-» и «Х» - нужны для управления выделенными юнитами, соответственно добавить, убрать выборочно и убрать всех.
  • Что б прочитать описание способностей юнита, нужно коснуться и не отпускать нужную способность.


Известные проблемы
  • На многих игровых моделях есть артефакты, так как не все еще реализовано.
  • Грузится не все, что есть на карте в оригинале игры, потому что часть объектов загружаются встроенными скриптами, а они пока не реализованы.
  • На многих картах неправильно работает маркер на мини карте.
  • Масштаб интерфейса может не вписаться в ширину экрана, если такое будет просьба написать на каком устройстве.
  • Много карт просто не загружаются, особенно карты из компаний, поэтому если долго грузится, смело убивайте процесс.


FAQ
Где взять ресурсы?
Вам нужны файлы оригинальной версии с ПК. Нужно скопировать папку с установленной игрой на устройство. Сейчас достаточно взять war3.mpq, War3x.mpq, War3Patch.mpq и отдельно можно взять карты, если они не стандартные. Ссылка на ресурсы есть в шапке.

Как добавить карты?
Можно положить их в каталог рядом с ресурсами war3.mpq, War3x.mpq, War3Patch.mpq или в подкаталог там же. После добавления карт нужно перезапустить игру.

Можно-ли вшить ресурсы в апк?
Нет, по многим причинам.
Во-первых, нет авторских прав и есть шанс, что их начнут удалять по запросу Blizzard.
Во-вторых, апк были бы большого размера, сложно было б пробовать разные версии. К примеру, язык интерфейса зависит от ресурсов, в разных версиях ресурсов разный баланс и свои особенности, может у кого-то есть свои предпочтения.

Где взять русификатор?
Его нигде нет, часть текста уже зависит от ресурсов (подсказка по описанию способностей). Остальное пока на английском, потому что так пока удобней, в коде можно писать сразу нужную фразу и не возиться с кодировками и переводом ради пары фраз. В будущем будет локализация.

Можно-ли играть в первую доту?
Пока нет, и думаю еще долго так и будет. Там используется много АПИ которые пока не реализованы, многие версии карт даже не полностью загружаются, потому что там используются протекторы.

Раньше работало, а сейчас перестало, что делать?
Возможно, испортились оригинальные ресурсы варкрафта. Попробуйте удалить полностью игру, полностью удалить ресурсы и поставить все снова, ресурсы нужно брать там же, где брали их в первый раз.

Как помочь проекту?
Сейчас интересуют тесты на разных устройствах (фпс, нет-ли искажений интерфейса и т.д). Нужна информация об ошибках, которые стабильно можно повторить, совершив какие-то действия, например, при постройке какого-то здания или юнита. Не помешают советы по адаптации управления под сенсорный экран.

Почему совсем не похоже? Почему так долго? Зачем делать с нуля, может можно сделать скриптами, как, например, в …?
Сделать порт можно только с исходниками, которые есть у Blizzard, в этом случае было бы быстро и похоже на версию от ПК. Без исходников можно либо эмулировать ПК, либо писать все с нуля. Если эмулировать ПК, то понятно, что выйдет все как в оригинале, но дело в том, что современные устройства не могут обеспечить нужную скорость эмуляции, и мы получим только слайдшоу, если вообще что-то загрузится. В данном случае это клон, который использует оригинальные ресурсы и пишется с нуля, потому что нет никаких волшебных скриптов, которые сделают все быстро и сразу. Без исходника не все так очевидно, что и как устроено и приходится местами долго подбирать и угадывать что и как сделать, поэтому есть отличия от оригинала.
ExaGear — эмулятор, можно запустить и играть в оригинал, поймете про что я. Волшебный скрипт, ищите на хабре «StarCraft дизассемблировали и запустили на ARM», изучал этот вариант и там будет много работы и даже если что-то получится запустить, оно будет с кучей багов, по времени не быстрее будет.

Планируется-ли сделать компанию, меню, интерфейс, кат-сцены, многопользовательский режим и прочее, как в оригинале?
Да, нацелен на полный перенос всего, что есть в оригинале. Все будет появляться со временем, по мере готовности отдельных частей. Например, в компаниях пока нет смысла, потому что много чего еще не реализовано для обычной игры. Или меню и интерфейс пока свои, потому что так проще делать сейчас.

На чем написана игра, какой движок?
Написано на C++, используется движок Urho3D. Все оригинальные JASS скрипты будут конвертированы в Lua.

Я хорошо знаю C++ и есть опыт разработки игр, нужна помощь?
Спасибо, но нет, по многим причинам, считаю, что «Если хочешь сделать что-то хорошо, сделай это сам», хотя сейчас много чего реализовано как попало, на скорую руку и потребуется доработка :) . Думаю, на этом этапе меня может замедлить чье-то вмешательство даже довольно грамотное и в будущем полезное.

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

Для тех, кто считает, что с открытым исходным кодом проект будет развиваться быстрее и хочет начать делать свой варкрафт.
Информация для начала (потратил больше, чем пол часа на то, что бы собрать это в кучу и мне бы такое сэкономило неделю поисков или больше, это точно):
Ссылки на русском и не русском, что почитать и где что взять: Прикрепленный файлссылки.html ( 23.85 КБ )

Список названий полезных проектов: Прикрепленный файлсписок.txt ( 854 байт )
Если в названии "*-master.zip", то ищите на github.

Что бы за месяц силами одного человека получить опенсоурсный проект под Windows и DirectX по возможностям равный версии в шапке.
План действий:
Берете движок для создания RTS на подобии OpenRTS
Добавляете библиотеку StormLib для чтения архивов близард
Делаете отображение анимированных моделей на основе War3ModelEditorSource
Пишете читалку карт на основе Zepir Map Editor (W3ZME)
И пишете какую-то логику для AI или даже без нее, чисто мультиплеер для начала, можно получить готовый проект от OpenRTS, к примеру.
И все, дальше можно развивать проект на другие платформы и во всех направлениях. Удачи.
Для тех кто хочет делать опенсоурсный старкрафт, я бы порекомендовал начать с гугления «github mavaL/MiniCraft»

Как отреагировали Blizzard? Может быть, можно с ними договориться, чем-то помогут?
Пока никак. Сомневаюсь, судя по тому, что про них пишут, они негативно относятся к подобным вещам.

Давно сборок нет, не забросили-ли проект?
Нет, делаю по мере появления свободного времени. Бывают просто сложные куски, в которых мало опыта и на них уходит много времени. Если решу забросить проект - то об этом сообщу.


Изменения
Изменения - 0.0.16
  • Отмечены позиции стартовых баз на экране выбора карты.
  • Можно изменить расу для себя или ИИ.
  • Исправление ошибок.


Изменения - 0.0.15
  • Сглажено передвижение юнитов.
  • Изменения в алгоритме поиска пути.
  • Добавлен ленточный источник частиц.
  • Отображение снаряда для дальних атак.


Изменения - 0.0.14
  • Повышена плавность анимации.
  • Добавлена система частиц.
  • Для выделения толпы нужно обвести больше половины юнита.
  • Исправлены некоторые ошибки, приводившие к вылетам.


Изменения - 0.0.13
  • Повышена точность клика по юнитам.


Изменения - 0.0.12
  • Добавлены некоторые звуки для юнитов.
  • Появилась опция настройки тумана войны.


Изменения - 0.0.11
  • Добавлен туман войны.
  • Установлены границы карты при перемещениях камеры.
  • Уменьшено проседание фпс при выделении нескольких юнитов.


Изменения - 0.0.10
  • Исправлены некоторые артефакты моделей и анимации.
  • Повышена точность клика по юнитам.
  • Исправлен перевод на английский (спасибо Red Desire).


Изменения - 0.0.9
  • Временно добавлен простой ИИ. Добывает золото, дерево, строит здание для населения, нанимает один тип войск, атакует всех на карте, кто поближе находится.
  • Авто-атака, если юнит ничего не делает и рядом есть кто-то из других команд. Нейтральные юниты не отбиваются, потому что на картах, где больше трех человек они рядом с базой наставлены.
  • Появилось описание способностей юнита. Что б прочитать его, нужно коснуться и не отпускать нужную способность.
  • В авто-поиске ресурсов добавлены каталоги для проверки.


Изменения - 0.0.8
  • На мини-карте отображаются юниты и постройки. На картах с разными сторонами все еще могут быть ошибки (фон сдвинут в сторону).

Изменения - 0.0.7
  • Ландшафт раскрашен в свои цвета. Пока без дополнительных деталей, нету утесов, вода подкрашена цветом земли.
  • Исправлены вылеты при постройке здания и добыче дерева.


Изменения - 0.0.6
  • Добавилась анимация юнитов и зданий. Реализовано не все, но основа уже есть.
  • Карты загружаются заметно дольше из-за конвертирования, и оперативной памяти уходит тоже больше.
  • Во время игры могут долго догружаться ресурсы, в углу экрана будет на месте фпс “Loading…”.
  • Включен HDR, должно помочь исправить артефакты.


Изменения - 0.0.5
  • При постройке зданий и тренировке юнитов тратятся ресурсы и население.
  • Можно добывать ресурсы, у всех рас золото сейчас добывается как дерево. Дерево и золото все берут по десять единиц за одну секунду.
  • Юниты при передвижении телепортируются через преграды, если не могут пройти.
  • Можно атаковать юнитов другой команды. Характеристики урона отличаются от оригинала, у некоторых что-то с жизнями (их очень много). У героев получился урон ниже, чем у остальных.
  • Юниты и здания строятся не мгновенно, а за их реальное время. У нежити тоже нужно строить здание послушником. Здание нельзя использовать пока оно не достроено, внешне видно, что оно не достроено по жизням и по тому что в них нету нужных действий.


Изменения - 0.0.4
  • Над юнитами появилась информация: цвет игрока, жизни и мана. Пока что случайные значения.
  • Добавился инвентарь героев.
  • Добавилась поддержка загрузки не стандартных объектов (юниты, декораций, способности…).
  • Начали выполнятся встроенные скрипты. Из API функций пока только реализовано создание юнитов.
  • Должно читать ресурсы с карты памяти у кого не работало, на андроид 4.4 и выше.


Изменения - 0.0.3
  • Добавилась проверка на столкновение при передвижениях юнитов. Часто выбирают не оптимальный путь и останавливаются перед препятствиями.
  • Можно нанимать войска и строить здания.




Когда будет следующая версия?
Считаю, что успешно завершен первый этап разработки. Уже готов минимальный вариант, который будет хорошей основой для дальнейшего развития. Так как старался быстро охватить много различных частей будущей игры, пришлось пожертвовать качеством. Сознательно допустил утечки памяти, не безопасную работу с многопоточностью, которая приводит к частым вылетам, а также отсутствует модульность, которая уже тормозит разработку. Думаю, пришло время сменить стиль разработки и начать уделять время качеству. Хочу сделать все, что есть с нуля, но уже с учетом полученного опыта. Почему с нуля? Потому что планирую доводить каждую часть до завершенного состояния и не хочу, что б черновой вариант влиял на нормальный, в местах стыковки.
Много времени новый вариант будет разбит на мелкие части и будет представлять из себя несколько отдельных программок, из которых будет собрана новая версия. Публиковать сборки не планирую пока они будут уступать текущей в функционале, может будет какое-то видео, если будет что-то интересное, но в целом ожидаю что следующая версия должна быть с лучшим фпс и меньшим количеством ошибок.
Учитывая объем работ, думаю, следующая версия будет под конец года, не раньше.

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

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



Файлы:
Прикрепленный файлHerofolends v0.0.16.apk ( 7.29 МБ )

war3.mpq, War3x.mpq, War3Patch.mpq
Прошлые версии


Сообщение отредактировал sadorofix - 30.11.19, 12:04
Причина редактирования: FAQ



Реп: (350)
хорошее начало, жду дальнейшего развития проекта :)



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



Реп: (0)
Прикольно.



Реп: (0)
Отлично.



Реп: (0)
Скиньте ссылку на файл war3.
За ранее большое спасибо.
Можно в личку что бы не флудить в теме.



Реп: (14)
Я аж охренел, автору сразу плюсик!



Реп: (18)
Автор, может быть создать группу в контакте?
Туда можно чаще заливать новости о том, что уже более менее, но реализовано)



Реп: (74)
Я пока буду выкладывать только здесь. Если у кого есть время и желание можете брать от сюда и размещать где-то еще, я не против.



Реп: (0)
* sadorofix, А вообще какие планы?
Полностью перенести игру, со всем тем, что есть в оригинале, или что-то своё?

Сообщение отредактировал Gnoll_Killer - 12.07.17, 17:55



Реп: (74)
Пока нацелен на совместимость движка с оригинальными ресурсами. А потом можно заменить все на свой формат.

Сообщение отредактировал Ru4kin - 23.09.17, 18:28
Причина редактирования: Отредактировано по просьбе автора



Реп: (0)
* sadorofix, Ладно, как говорится "Бог в помощь")
Запилишь варкрафт, цены тебе не будет:)



Реп: (25)
Нихрена себе :shok: а можно карты другие ставить ? Поддерживает карты от компьютерной версии ?



Реп: (74)
Да, других вариантов и нет. Нужно положить в папку maps или рядом с war3.mpq. Но не все версий карт можно загрузить, там в них было много изменений. Если будет выкидывать во время загрузки карты, ее можно попробовать пересохранить в редакторе карт (World Editor), что бы обновилась ее версия.



Реп: (0)
* sadorofix, возможно играть дотан 1 тут?



Реп: (74)
* sasha129129, карта загрузиться, но играть пока не во что нельзя, еще много чего не хватает.



Реп: (0)
А вообще когда-то будет возможность играть дотан 1 на андроид?Просто так хочу что не могу



Реп: (74)
Да, если доделать, то будет все что в оригинале. И можно даже будет к примеру, сделать отдельное управление что бы было поудобней в доту играть.
У меня пока нету четкого представления как адаптировать управление к сенсорному экрану, нужно будет попробовать разные варианты или подсмотреть где-то…



Реп: (0)
Ну можно просто по экрану нажимать как в ваинглори и скиллы вправо вниз засунуть что бы их юзать



Реп: (74)
ну это уже не варкрафтовское управление, думаю можно будет, посмотрим



Реп: (97)
Прикрепленное изображение


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 24.05.24, 22:48