Довольно давно уже думаю над вопросом как зная мировые координаты в обычной декартовой с.к. вычислить индексы клетки на изометрической карте, которой эти кординаты принадлежат? Вот такая картинка (сетку немного криво нарисовал). Красные линии дают нам декартову с.к. с мировыми координатами. При это высотка ромба 31, ширина 62. Синие - отсчёт индексов клеток на карте
Добавлено (11 Апреля 2018, 09:15) --------------------------------------------- Up. Картинка не залилась в первый раз FinderX - Android Аркада
Сообщение отредактировал goldsphere - Среда, 11 Апреля 2018, 17:49
blackcatkpi, согласен. К слову, добавил в шапку описание первоначальной версии механики. Надеюсь не утону в балансировке всего этого и создании ИИ и успею к сроку, даже если не успею, сменю концепт и доделаю позже FinderX - Android Аркада
Сообщение отредактировал goldsphere - Пятница, 23 Марта 2018, 16:14
Sholar, на мой взгляд незаслуженно забытый) Да и это не в классическом понимании стратегия, скорее симулятор идолопоклоничества с элементами экономической стратегии. Поправил описание, чтобы не вводить в заблуждение FinderX - Android Аркада
Сообщение отредактировал goldsphere - Четверг, 22 Марта 2018, 15:05
Насчёт жанра. Я до конца не могу сформулировать его. В моём представлении игрок должен будет должен воздвигать какие-то монументы, издавать указы, балансировать между различными показателями, чтобы достичь цели. Я просто вспоминаю ту же Тропику, где также были революционеры и монархисты. И в моём представлении эти игры схожи. Позже, когда механику полностью продумаю, станет яснее в том числе и для меня. FinderX - Android Аркада
Жанр: Симулятор идолопоклоничества с элементами экономической стратегии Пространство: 2D Движок: LibGDX ? Концепция: За летом идёт осень, за осенью зима, за зимой весна, все прекрасно знают этот круговорот. Но мало кто догадывается, что происходит в промежутке между временами года (Никаких научных обоснований, у меня своя вселенная ). Люди наслаждаются одним временем года, а после того как оно им надоедает, к нему на смену приходит следующее. Во дворце времён года, где засидают 4 правителя: Лето, Осень, Зима и Весна, происходит смена одного правителя другим тогда, когда люди больше всего этого хотят. Правители наблюдают за поведением и действиями людей и принимают решение, когда кому стоит сойти с трона, уступив его следующему. Сюжет: 46 февраля. Зима засиделась .. или засиделся? Привычный для всех людей цикл был давно нарушен. Причиной этой аномалии стала "Секта почитания идола Зимы", главной целью которой стал Рагнарёк, вечное правление Зимы. Почему? Неизвестно, возможно они фанаты лыжного спорта и ненавистники слякоти грязи и луж, а может они просто подконтрольны прави.. Но это не точно, во всяком случае те кто устал от непрекращающихся морозов это выяснят. Кстати, знакомтесь, это "Союз почитателей идола Весны". Почему там секта, а тут союз? Просто тот, кто стремится нарушить порядок, всегда становится плохим Эти люди бросают все свои силы, чтобы узнать мотивы секты и противостоять им, а также привлечь внимание Весны, чтобы благодаря их поддержки она сменила Зиму на престоле.
Цель игры: Добиться того, чтобы в течении игрового месяца текущий процент победы (далее ТПП) Весны превысил уровень ТПП Зимы или превысил необходимый процент победы (далее НПП) до конца игрового времени.
Начисляются проценты по следующей схеме: За игровой день игрок совершает события которые либо привлекают либо отталкивают сторонников. По итогу мы получаем либо положительный либо отрицательный процент соответственно. Этот процент и прибавляется к ТПП в конце игрового дня. При этом, если процент положительный, то такой же процент будет отниматься от ТПП Зимы и наоборот.
Способы достижения победы
Строительство
Издание указов
Диверсия
Принятие решений
Выполнение задач
Некоторые из них могут быть радикальными. Радикальные методы крайне симпатичны Весне, так что понижают НПП. Но как правило такие методы отталкивают людей и понижается ТПП. Первоначальный НПП - 100%
В игре будут присутствовать 2 категории жителей: Активисты (хотя мне хочется назвать их радикалами) и умеренные жители. Различие тактик будет состоять в том как именно вы балансируете между этими группами.
Ресурсы: Уровень доверия активистов и умеренных жителей - каждая постройка будет требовать необходимый уровень уровень доверия, чтобы её создать или улучшить. Валюта - деньги необходимые на постройки. Будут добываться специальными зданиями и выполнением миссий, а также спонсированием радикалами или умеренными жителями.
Строительство: Тут всё просто: строим - улучшаем - получаем бонусы.
Очки действия (далее ОД)- очки которые набираются пропорционально набору ТПП, а также за некоторые заслуги.
Издание указов: Тратит ОД. В игре будет присутствовать дерево указов, каждый из которых будет влечь за собой самые разные последствия.
Диверсия: Тратит ОД. Диверсия это способ снизить ТПП противника. Будет доступна только при уровне поддержки активистов выше 50%
Принятие решений: В случайные моменты времени на выбор игроку будет предлагаться на выбор одно из двух решений. Решения будут нести последствия. Выполнение задач: В игре будет присутствовать список задач, за выполнение которых будут начисляться бонусы.
[22.03.18] - Придуман концепт и сюжет [23.03.18] - Придумана первоначальная версия механики [02.04.10] - На данный момент занимаюсь обеспечиванием полной поддержки карт из Tiled Map Editor. Адаптирую их формат к конкретно своей игре
Единственный минус, который я вижу в юнити, так это в случае бесплатной версии это стандартный лаунчер и лого в начале, которые выдают, что игра на юнити и твою игру начинают ассоциировать с тонной шлака, который делают все кому не лень на этом движке, благодаря его простоте и удобству. Знаю, что причина очень натянутая, но для меня это важно. А так он хорош. FinderX - Android Аркада
Сообщение отредактировал goldsphere - Воскресенье, 03 Декабря 2017, 17:46
В общем решил провести Speed Test для данных языков из Java. Алгоритм простой. В массиве из 1000000 элементов, каждому присваивается индекс, а потом всё суммируется. И я не ожидал, что разница будет такая большая (хотя я и ничего ранее на них не писал (почти)).
Lua 352 ms JavaScript 616 ms Ruby 1778 ms Python 2509 ms
Всё запускалось через ScriptEngine. И у меня такой вопрос. Понятно, что у всех языков есть свои сильные стороны, где они работают быстрее. Тот алгоритм, на котором я тестировал это так, пример. Какие тесты нужно провести, чтобы объективно сравнить эти языки. И если я не буду использовать ScriptEngine, а буду напрямую работать с API этих языков, даст ли это преимущество? FinderX - Android Аркада
Сообщение отредактировал goldsphere - Воскресенье, 03 Декабря 2017, 16:03
TME, Ogmo. Они конечно рассчитаны, на то, что в последствии эти карты прямиком загружались в игру, но и в чисто визуальных целях отлично подходят. FinderX - Android Аркада
Он асинхронный. Чтобы он загружал ресурсы надо вызывать метод update в цикле. С каждым вызовом он подгружает новую порцию ресурсов FinderX - Android Аркада
Я знаю про существование AssetManager'a и как он работает. Просто у меня предусмотрена анимация на экране во время загрузки, обычный крутящийся квадрат. AssetManager периодически подгружая ресурсы делает эту анимацию прерывистой. Решил всю эту штуку в отдельный поток вынести, но для загрузки ресурсов нужен opengl контекст. Есть в либе специальный механизм решающий эту проблему, и называется это всё потоком, но это ни разу не поток. Он просто отрисовывает один кадр, затем в том же потоке запускает ваш поток, приостанавливая поток рендера. Opengl использует единственный поток для визуализации, а именно в нём происходит загрузка картинок.
Код
Thread thread = new Thread(new Runnable() { @Override public void run() { Gdx.app.postRunnable(new Runnable() { @Override public void run() { Assets.loadGameAssets(); Assets.manager.finishLoading(); loadingFinish = true; } }); } });
thread.start();
Есть другие варианты реализовать нормальную анимацию на загрузочном экране? FinderX - Android Аркада
Сообщение отредактировал goldsphere - Среда, 30 Августа 2017, 17:31