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



Реп: (27)
* NicholasFrame, ты забыл про авторские права ;(

Сообщение отредактировал В депрессии - 28.03.23, 17:36



Реп: (0)
sadorofix @ 22.12.22, 15:07 *
Тестировать пока что к сожалению еще нечего, и смысла нет, у меня есть уже свой список багов, которые нужно исправить и я знаю о них. Сейчас исправляю как раз баги которые появились после переписывания большого куска кода

Привет, почитал интересная темка, может быть слышал о warsmash альтернативный открытый игровой движок для игры Warcraft III, способный воссоздать игровой процесс при наличии в системе оригинальной игры (для работы требуются файлы с игровыми ресурсами, входящие в оригинальную поставку Warcraft III). Близард конечно на эту лавочку жалобу кинули на авторские права, но как говорится интернет помнит все! Исходники в открытом доступе есть.



Реп: (74)
Faraon577 @ 28.03.23, 21:21 *
Привет, почитал интересная темка, может быть слышал о warsmash альтернативный открытый игровой движок для игры Warcraft III, способный воссоздать игровой процесс при наличии в системе оригинальной игры (для работы требуются файлы с игровыми ресурсами, входящие в оригинальную поставку Warcraft III). Близард конечно на эту лавочку жалобу кинули на авторские права, но как говорится интернет помнит все! Исходники в открытом доступе есть.

Привет, да я слышал уже за warsmash, довольно поздно оно мне попалось на глаза, но лучше поздно чем никогда. Я слежу за проектом, автор вернул исходники и продолжает работу, сейчас слегка с ума сходит, встраивает WOW в варкарафт, но все равно продолжает работу. Его версия уже на много лучше чем моя 0.0.16, ее можно собрать на телефон при желании и там сетевая игра есть, но сейчас она все еще на пять мин посмотреть годиться как и моя. Я буду подсматривать в его исходники чтобы ускорить работу.



Реп: (4)
* Egor_sheva, да, хотя переделать подпись приложение, там иконку свою сделать, почему бы и нет, но да рискованно - согласен. Конечно можно было свой проект сделать.. Лучше залить его как Морровинд, неофициальным портом и своим лаунчером.
Слежу за sadorofix ещё с лета, люблю WOW вселенную, персонажей, историю) И очень жду порта, честно я бы помог в разработке, если имелись навыки в написание кода и разработки. А так увы не программист, только интересуюсь этим всем с низов😅 Уже проходил HTML начальный хах, работал не много с C# и хочу вернутся к этой теме. Я желаю удачи и жду с нетерпением выхода сея шедевра, легендарного WOW🤗✨👐



Реп: (0)
Вышла одна стратегия, очень, я повторюсь очень даже хороша! Похожа на warcraft, war legends!!! Конечно не прям варкрафт, но поклонники варкрафта будут восторге! Самая близкая пародия, заслуживает внимания! Варкрафт все-же на пару голов выше.

Сообщение отредактировал Faraon577 - 29.03.23, 13:32



Реп: (74)
Faraon577 @ 29.03.23, 13:06 *
Вышла одна стратегия, очень, я повторюсь очень даже хороша! Похожа на warcraft, art legends!!! Конечно не прям варкрафт, но поклонники варкрафта будут восторге! Самая близкая пародия, заслуживает внимания! Варкрафт все-же на пару голов выше.

war legends? там вроде закрытая бэта сейчас, не все могут попробовать

Сообщение отредактировал sadorofix - 29.03.23, 13:24



Реп: (0)
Да точно она, нет все открыто, 6 компаний (обучалка) а потом pvp открывается, сегодня pvp опробовал, даже выйграл, ну не че так, понравилась!

Прикрепленные изображения
Прикрепленное изображение


Сообщение отредактировал Faraon577 - 29.03.23, 13:35



Реп: (143)
sadorofix @ 29.03.23, 15:24 *
war legends? там вроде закрытая бэта сейчас, не все могут попробовать
да вроде открытая, я как скачал её с релиза, так и работает до сих пор, нигде не регался на бэта тест

Добавлено 29.03.2023, 13:35:

Faraon577 @ 29.03.23, 15:34 *
даже выйграл
там 5 ботов на старте



Реп: (0)
yourfirsttime @ 29.03.23, 13:34 *
там 5 ботов на старте

Я то думал, чёт слабый какой-то 😁



Реп: (74)
yourfirsttime @ 29.03.23, 13:34 *
да вроде открытая, я как скачал её с релиза, так и работает до сих пор, нигде не регался на бэта тест

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



Реп: (143)
sadorofix @ 29.03.23, 15:38 *
у меня есть она
я знаю, мы уже обсуждали её



Реп: (0)
sadorofix @ 29.03.23, 13:38 *
ладно, может это по другому называется, открытая но с ограниченным числом участников, у меня есть она
единственный путь это warsmash 👍😁



Реп: (0)
sadorofix @ 28.03.23, 21:43 *
Я буду подсматривать в его исходники чтобы ускорить работу.
Приветствую, как дела продвигаются? В скором ли времени выйдет ещё обнова, каждый день захожу в надежде на обнову, просто дай знак😉



Реп: (143)
Faraon577 @ 2.04.23, 22:39 *
Приветствую, как дела продвигаются? В скором ли времени выйдет ещё обнова
относительно осталось немного, но всё равно не так скоро, как хотелось бы



Реп: (0)
yourfirsttime @ 03.04.23, 14:51 *
относительно осталось немного, но всё равно не так скоро, как хотелось бы

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



Реп: (74)
Faraon577 @ 07.04.23, 16:28 *
Видел твой канал на ютубе, было бы здорово увидеть ещё видео процесса развития проекта, с возможной озвучкой, что реализовано и над чем работаешь) ну если у тебя есть желание)

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

Добавлено 07.04.2023, 17:04:

Сейчас делаю мультиплеер, пытаюсь делать, туго идет. Смотрел как его реализовывают в других играх, думал делать так же но архитектурно не сильно накладывается на то что уже готово. И пришлось бы переписывать много чего и там трудоемкий вариант. Буду делать велосипед наверно из идей которые нарыл и своих. До этого писал что следующая версия готова на 70%, но сейчас планы расширились, мультиплеер будет все таки в следующей версии, не хотел его сейчас делать но надо, так что новая версия пока что готова на 60%.

Вот что мне интересно обсудить и нужны советы так то вопрос читерства и безопасности. В АПИ для модинга нет проверок на то что приходит из скриптов. Теоретически через них можно будет выполнить не то что ожидаю и вызвать к примеру завершении игры или к примеру считать содержимое памяти телефона или карты памяти и передать по сети его. Ну это если кто то будет ставить моды не те что я делаю. У меня в планах есть цель позакрывать подобное но на это может уйти много времени.
С читерством тоже самое, можно наделать проверок и заранее предусмотреть систему античита, но на нее уйдет тоже время.
На сколько сильно уделять этому внимание?



Реп: (143)
sadorofix @ 7.04.23, 19:04 *
На сколько сильно уделять этому внимание?
думаю, лучше доделать то, что есть. как-то рановато думать о читерах в еще не вышедшей игре



Реп: (0)
sadorofix @ 07.04.23, 17:04 *
Не видео пока не буду выкладывать, не хочу что бы была связь новой версии с старой

Хотя-бы скриншоты покажи здесь, что же происходит там ппц интересно



Реп: (74)
Faraon577 @ 18.04.23, 09:14 *
Хотя-бы скриншоты покажи здесь, что же происходит там ппц интересно

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



Реп: (74)
Сделал черновой вариант мультиплера, там остались спорные вопросы, может так все оставлю если будет работать или еще придется доделывать если что вылезет. Но пока с тестами справляется хорошо. Новая версия готова примерно на 70%


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

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

Сейчас: 29.03.24, 00:03