Правила

Новые идеи рассматриваются администрацией и могут быть приняты в разработку после обсуждения в Сенате, Конгрессе или ВМС.
9

Изменение системы расстояний., Труъ идея.

Группа guest
Итак, помнится мне уже писал я такие предложение в какой-то теме, месяца 4 назад, но найти не могу, потому, походу, прийдется с нуля писать.

Итак, для начала приведу текущее положение дел:
Минимальное расстояние 3000. Расстояние между планетами 50. Расстояние между системами 500. Расстояние между рукавами 2000.

Теперь что я предлагаю.
Во-первых - закольцевать рукава - расстояние из 1:1 в 1:999 сделать равным 500 (как между соседними системами) и т.п., думаю все поняли что я имею ввиду.
Выглядеть это будет так:
Изменение системы расстояний.







































Пусть точка B - система 1:1 например, тогда точка K - примерно 1:200, точка С - 1:500, точка L - примерно 1:750. Точка A - 2:1, точка N - примерно 2:200 и т.д.. Кроме того, ОЧЕНЬ рядом с точкой B находится система 1:999 (а именно чуть ниже и левее, если смотреть на рисунок).

Это предложение довольно логично, и решит проблему очень большого расстояния между 1:100 и 1:900, например.

Во-вторых. Это самое интересное. Предлагаю сделать возможным пролетать не по линии окружности, то-есть пролетая все системы между системой отправления и системой назначения, а внутри окружности. На рисунке выше - имеется ввиду возможность перелета из L в K по прямой LK, или, например, из B в C по почти (почему почти, объясню позже) диаметру BC.
Основываться эта новая система расстояний будет на текущих. Как вы понимаете, для начала нужно рассчитать диаметр этой окружности. Включив мозг, мы понимаем, что для системы 1:1 диаметрально противоположной является "как-бы система" 1:500,5, а не 1:500, как можно было-бы подумать. Тогда расстояние до этой "как-бы системы" равно диаметру, который нам надо посчитать.

Итак. В текущей системе расстояний расстояние от 1:1 до 1:500,5 по линии окружности равно 499,5*500 = 249750. (Тут, кстати, еще заметим, для итоговой формулы, что длинна полуокружности - 499,5 расстояний между системами)
Из геометрических соображений диаметр данной окружности в пи/2 раз меньше расстояния по окружности, то-есть он составляет 249750/(пи/2) ~= 158995,788. Радиус равен половине диаметра: R = 158995,788/2 = 79497,894.
Данную величину (при вводе данной идеи, разумеется, можно данную величину округлить до 79500) будем считать "константой радиуса рукава". Все расчеты будут зависеть от нее, и, соответственно, при каком-либо изменении баланса будет писаться не "расстояние между системами уменьшено с 500 до 400", а "радиус рукава уменьшен с 79500 до 63600". Хотя для игроков, конечно, понятнее будет формулировка "уменьшен на 20%", которую и следует использовать.

Все, основная идея высказана, теперь займемся проблемой расчета расстояний между различными системами, для этого обратимся к формуле зависимости длинны хорды от центрального угла, опирающегося на эту хорду:
L=2* R * sin(a/2);
где L - искомое расстояние между системами (хорда окружности), R - радиус рукава, a - центральный угол, опирающийся на искомую хорду. Последнюю величину мы так-же не знаем, вот ее формула (обычные очевидные соображения):
a = ( пи / 499,5 ) * Δ;
где a - искомый угол, пи ~= 3,14, Δ - разница систем по линии окружности. Последняя величина требует пояснения, мне сложно объяснить ее смысл в теории, я воспользуюсь приведением примеров:
разница систем по линии окружности (далее Δ) от системы 1:1 до системы 1:5 равна 4;
Δ от системы 1:200 до системы 1:300 равна 100;
Δ от системы 1:1 до системы 1:500 равна 499...
И вот тут мы сталкиваемся с проблемой - ведь по первому пункту данной идеи Δ от системы 1:1 до системы 1:999 равна 1 (а до системы, например, 1:950, она равна 50). Для того, что-бы посчитать такую сложную переменную, нашим дорогим разработчикам придется ужас! сооружать в коде конструкцию вида if (?) then (...) else (...). Это, несомненно, непосильный труд, потому постараемся упростить предыдущие две формулы путем вложения второй в первую, авось что-нибудь прояснится:

L=2* R * sin( ( пи/499,5 ) * Δ/2);
L=2* R * sin( пи / (999/Δ) );
Итак, путем равносильных преобразований (Δ ≠ 0) мы пришли к выводу - аргументом синуса является отношение (пи) к (999/Δ). И что мы видим - из-за того, что функция синуса такая прекрасная зеркально ведет себя что при увеличении аргумента с 0 до (пи/2), что при уменьшении с (пи) до (пи/2), мы можем переменную Δ рассчитывать просто как модуль разности между системами! То-есть для нас вообще не важно Δ = 1 или Δ = 998, результат будет одинаков (так-же неважно, Δ = 949 или Δ = 50, и т.п.).
Итак, как мы поняли,
Δ = |S1 - S2|;
где S1 - система отправления, S2 - система назначения, | | - знак модуля.
И итоговая формула принимает вид:
L=2* R * sin( пи / (999/ |S1 - S2| ) );
Все!
Теперь обобщу - я предлагаю заменить текущую формулу расстояний между системами, которая выглядит так:
L = |S1 - S2| * 500;
на, по моему мнению, лучшую формулу:
L = 2* R * sin( пи / (999/ |S1 - S2| ) );
где R ~= 79500 (точнее 79497,894 , но лучше округлить при вводе, можно даже до 80000, там разница копеечная) .
Теперь немного графиков, они красиво показывают, зачем все это надо (на графике R ~= 79497,894):
Изменение системы расстояний.













































Я еще раз подчеркну, что сильное различие в правой части графика обусловлено лишь закольцовыванием рукавов, а так разница, в действительности, не высока. Однако закольцовывание - несомненно нужное нововведение, этого баланс просто требует. Цель графика - дать понять, что кроме закольцовывания нужно и изменить формулу расстояний между системами (я замечу, что по-сути ВОООБЩЕ КОД МЕНЯТЬ НЕ НАДО. Просто в одном месте отредактировать формулу (как я себе представляю), может в 2-3 местах. Главная переменная (модуль разницы систем) остается той-же. R - не переменная, а константа.
Кроме того, график дает понять, что пока разница между системами отправления и назначения меньше 200 - разницы в расстоянии вообще особо не будет. Зато при полете в диаметрально противоположную точку рукава формула существенно (в (пи/2) ~= 1,57 раз) уменьшит расстояние, что очень логично.

В заключение хочу добавить, что, по моему мнению, если Вася тщательно вчитается в текст, он поймет что это нужная фишка. Она никак не повлияет на ближние полеты, зато позволит игрокам, находящимся далеко друг от друга (например новичек в 11:900 и его учитель в 7:100) плодотворно сотрудничать. Я верю и надеюсь, что идея будет введена а я получу медальку первого класса ^^ , много ведь текста накатал

Забыл добавить - расстояния в другие рукава будут как и раньше считаться по Пифагору, ничего нового.

И без флуда, позязя)

Upd: если ВДРУГ в текущем коде Δ = |S1 - S2| может быть равно нулю - можно перевернуть дробь внутри синуса, для того что-бы не возникала ошибка "деления на ноль". А именно для этого случая формула принимает вид:
L=2* R * sin( пи * |S1 - S2| / 999 );
тогда синус равен нулю, и разница систем, что логично, так-же равна нулю (при S1 = S2, я просто не знаю как у вас там в коде реализован рассчет расстояний).
Upd2: чуть подредактировал в одном месте, по-сути ничего не изменилось. (23:00 мск).

Upd3:
1) Я не против что-бы просто ввели закольцованность, не вводя второй пункт данной идеи!
2) И еще, тут были вопросы по поводу работы Алл.Сетей. Я, кажется, придумал как это реализовать.
Территория альянса будет представлять из себя сектора круга - центр сектора в центре рукава, а прямые, являющиеся границами сектора, приходят из центра рукава в границы Территории на окружности.
Масштабирование этой системы на цилиндр не сложно.
В рассчетах Алл.Сети ничего не изменится - просто "представлять" Алл.Сеть можно будет не как "территорию на 2-мерной поверхности" а как "набор секторов круга в 3-мерном пространстве". Очень красиво, если представить. И, кстати, очень логично выглядит. Да, вообще супер! Пойду Васе скину в личку, и добавлю в шапку.
Картинка:
Изменение системы расстояний.




Тут сектор ABO - территория альянса в 1 галактике (то-есть на дуге AB все системы принадлежат альянсу), а сектор A1B1O1 - территория альянса во 2 галактике. Если во 2 галактике территория альянса меньше, то прямые AA1 и BB1 будут сужаться к плоскости 2 галактики. Красиво? Вроде очень. И логично же!
И трехмерная вселенная!




Upd4:
http://xcraft.ru/forum/topic_15520/4#post-412179 Хорошая картинка, объясняющая территорию Альянсовой Сети.
3 Июля 2014 22:48:58
3 Июля 2014 22:48:58
Группа guest
Цитата: Raynor_Jim
Как ты уважаемый видешь при вводе АЛ сетей например жизнь сильных одиночек?

Нигде не сказано, что для строительства альянсовой станции необходимо состоять в альянсе. Вопрос лишь в расходах на необходимые исследования и постройку оной.
5 Июля 2014 00:29:35
5 Июля 2014 00:29:35
Группа guest
Цитата: Демоноид
Нигде не сказано, что для строительства альянсовой станции необходимо состоять в альянсе

не путай альянсовую станцию и альянсовую сеть.


Raynor_Jim,
Никто ведь не заставляет в игре вступать в альянс, как и в жизни пользоваться телефоном, интернетом, автомобилями...
5 Июля 2014 00:32:29
5 Июля 2014 00:32:29
Группа guest
Цитата: twink
не путай альянсовую станцию и альянсовую сеть.

Ну хорошо, а как быть с бонусом от генерала?
5 Июля 2014 00:37:35
5 Июля 2014 00:37:35
Репутация 2385
Группа humans Альянс Тень 110 110 206 Очков 14 408 462 Сообщений 11337
twink,
Капни историю игры кто в ОДНО лицо выжрал ОБП. При нынешней Васиной реализации это не возможно (разве что с донатом равным донату Лордекса). На данный момент всё свелось к тому чтобы состаять в колхозе чтобы массово капать картошку, успешным фермером ты в одиночку быть не можешь (утрирую).
5 Июля 2014 00:39:07
5 Июля 2014 00:39:07
Репутация 20
Группа xerj 69 19 22 Сообщений 153
Цитата: MISHEL0
Это легко исправить.

Я уверен, что совсем не легко.

Цитата: MISHEL0
у нас самая нереалистичная галактика

У нас все нереалистичное, и слава богу. Если бы ты представлял себе реализм в игре - ты бы охренел от её монотонности и неинтересности.

Цитата: MISHEL0
А вот текущую - Васину систему - без 4 измерения представить невозможно, да и с 4-м пока не особо понимаю как.

Да у нас даже 3 измерения пока не предвидится, о каких 4 ты говоришь? Четыре измерения ты (как и никто другой) даже представить себе не сможешь.

Цитата: MISHEL0
Я вообще не рассматриваю вариант представления нашей вселенной как двумерной.

Не так давно наша вселенная была одномерной, не забывай об этом.

Цитата: MISHEL0
Однако в данном представлении пришлось бы считать, что в каждом рукаве бесконечное кол-во систем, иначе система не правдоподобна.

Не надо требовать от игры правдоподобности, это глупо.

Цитата: MISHEL0
И да, я не бред пишу в этом сообщении, если у Вас сложилось такое впечатление - прочитайте заново.

Прочитал заново - опять бред. Как мне дальше жить?

Цитата: MISHEL0
Да, красиво, может даже реалистично. Однако закольцованности рукавов это не меняет

Закольцованность рукавов - это одно, но то, что ты предлагаешь - это совсем другое.

Цитата: MISHEL0
если ввести закольцовывание, но не ввести пролет внутри цилиндра, красная линия на графике совершит резкий слом вниз в центре, и будет уродский угол

Если бы у бабушки был бы х*й, то она была бы дедушкой. Но бабушка - это бабушка, как ни крути.

Цитата: MISHEL0
И все-же, трехмерная система лучше двумерной - не так ли?

Так. Но посмотри сколько нытья было от введения двумерной вселенной. А сколько будет от введения трехмерной? Я уж не говорю о дополнительной работе КА. И ради чего? Что бы снизить время полетов между системами? Ха-ха-ха.
5 Июля 2014 03:05:55
5 Июля 2014 03:05:55
Группа guest
Цитата: человечина
даже представить себе не сможешь.

"В воображении" - да, никто не сможет. А вот "в теории" представить 4 измерение вполне реально, просто у каждой точки 4 координаты, ну там еще есть аспекты, но это не критично.


Цитата: человечина
Закольцованность рукавов

Окей, я не против что-бы просто ввели закольцованность, не вводя второй пункт данного нововведения! Добавлю эту строку в шапку.


И еще, тут были вопросы по поводу работы Алл.Сетей. Я, кажется, придумал как это реализовать.
Территория альянса будет представлять из себя сектора круга - центр сектора в центре рукава, а прямые, являющиеся границами сектора, приходят из центра рукава в границы Территории на окружности.
Масштабирование этой системы на цилиндр не сложно.
В рассчетах Алл.Сети ничего не изменится - просто "представлять" Алл.Сеть можно будет не как "территорию на 2-мерной поверхности" а как "набор секторов круга в 3-мерном пространстве". Очень красиво, если представить. И, кстати, очень логично выглядит. Да, вообще супер! Пойду Васе скину в личку, и добавлю в шапку.
5 Июля 2014 11:35:28
5 Июля 2014 11:35:28
Группа guest
Даже если закольцевать то все равно какахой остается, надо раз в 5 уменьшить растояние между разными системами либо к какой нибудь техе припелить уменьшающий коэфициентъ
5 Июля 2014 11:58:03
5 Июля 2014 11:58:03
Группа guest
MISHEL0, вижу Вы уже рисунок АС добавили
Вот еще будет для наглядности, если я все правильно понял :feel:
upd: изменил рисунок.
Изменение системы расстояний.
5 Июля 2014 13:17:37
5 Июля 2014 13:17:37
Группа guest
Цитата: MISHEL0
И еще, тут были вопросы по поводу работы Алл.Сетей. Я, кажется, придумал как это реализовать.

Как выглядеть будет ал. сеть в уже реализованной 2д галактике я представляю об этом ещё Василий говорил:


Меня интересует как будет вести себя формула скорости при пролёте внутри цилиндра галактики.



Где АОВ территория 1 ал. сети. COD территория 2 ал. сети. Т1 - Т2 точки старта и назначения соответственно. Как видно из рисунка бонус ал. сети действует на определённом отрезке пути. как это отразится в вашей формуле?
5 Июля 2014 13:39:27
5 Июля 2014 13:39:27
Группа guest
Цитата: twink
Вот еще будет для наглядности, если я все правильно понял

Вы ооочень точно меня поняли, спасибо за рисунок!

Цитата: Демоноид
Меня интересует как будет вести себя формула скорости при пролёте внутри цилиндра галактики.

Я плохо осведомлен о том, как будет вести себя формула скорости при аналогичном полете в 2D галактике. Если по-умному - пока летит по территории - действует, за пределами - нет, то и в предлагаемой мной системе можно сделать так-же - на Вашем рисунке бонус будет действовать только на цветной территории. Это не сложно: если идея будет официально одобрена Васей, я разработаю формулы, а в случае дачи мне соответствующих прав, могу так-же ввести это дело в игру, если мне опишут примерно где куски кода, отвечающие за полет.

Upd: Правда, я пока сложно представляю себе систему расчета ускорения флота, к которой тут грозился формулы дать. То-есть в-принципе она простая, только ресурсоемкая, а для онлайн-проекта нужна быстрая. Один из вариантов быстрой системы - проецировать линию полета на поверхность цилиндра, и уже там смотреть, как прямая пролегает. Это уже гораздо проще. Моя неспособность придумать хорошую формулу для трехмерной системы связана с отсутствием высшего образования, а именно отсутствием институтского курса геометрии что я планирую исправлять с сентября этого года ^^, потому я буду искренне рад, если кто-либо с соответствующим уровнем образования опишет в этой теме быструю формулу расчета ускорения флота в трехмерном пространстве, исходя из известных "зон ускорения" и двух известных точек линии полета флота (точки отправления и назначения). Жду Вас, дорогие математики.

Upd2: Я подчеркну, что мне непонятен именно процесс расчета ускорения флота при перелете в другие галактики - когда линия полета флота не лежит в плоскости одной галактики. Для рисунка выше (второй рисунок в сообщении Демоноид'а) я, разумеется, без проблем смогу рассчитать ускорение.
5 Июля 2014 19:01:29
5 Июля 2014 19:01:29
Группа guest
Мне кажется вас понесли не в ту сторону... вы пытаетесь усложнить макет. А надо все по простому... и играбельное время полетов)

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

пусть аася обьявляет конкурс на виды галактик
5 Июля 2014 19:43:16
5 Июля 2014 19:43:16
Репутация 144
Группа toss Альянс BATTLESTAR 65 15 18 Очков 4 136 535 Сообщений 1981
Цитата: MISHEL0
что мне непонятен именно процесс расчета ускорения флота при перелете в другие галактики

может быть попробовать как по винтовой линии?
5 Июля 2014 19:45:43
5 Июля 2014 19:45:43
Группа guest
Цитата: KovaR
Мне кажется вас понесли не в ту сторону... вы пытаетесь усложнить макет.

а мы его потом в NASA продадим
5 Июля 2014 19:51:22
5 Июля 2014 19:51:22
Группа guest
Демоноид,
:lol: надо зажмурится .. чтобы не видеть что Ка напрограмирует
5 Июля 2014 19:53:33
5 Июля 2014 19:53:33
Группа guest
Цитата: KovaR
надо зажмурится .. чтобы не видеть что Ка напрограмирует


Фото Васи?
5 Июля 2014 20:23:07
5 Июля 2014 20:23:07
Группа guest
это какое то сумасшествие. Неужели не понятно, что КА хочет видеть игру именно такой, какой вы её себе представили? Более того - больше всех возмущены те, кому это не принципиально, кто способен подстроится под любую ситуацию. Лично я сейчас не вижу причин не поддержать нашу КА в новых наинаниях, попутно сообщая им об их ошибках. Тем более, что появился совершенно адекватный представитель администрации проекта Sunny
5 Июля 2014 21:50:07
5 Июля 2014 21:50:07
Группа guest
Цитата: SMADMAX
Лично я сейчас не вижу причин не поддержать нашу КА в новых наинаниях, попутно сообщая им об их ошибках. Тем более, что появился совершенно адекватный представитель администрации проекта Sunny

согласен со старшим коллегой :lol:
5 Июля 2014 21:52:51
5 Июля 2014 21:52:51
Группа guest
Цитата: SMADMAX
адекватный представитель администрации проекта Sunny

умник списан с адекватных?

закольцовку многие предлагали, вот только с центровкой цилиндра врядли что то выйдет...поэтому будет лишь то что было предложано первоначально
.
а вот с визуализацией как я понял они сами не знают как сделать как лучше,
5 Июля 2014 21:54:35
5 Июля 2014 21:54:35
Группа guest
Цитата: SMADMAX
Лично я сейчас не вижу причин не поддержать нашу КА в новых начинаниях, попутно сообщая им об их ошибках.


Так мы и пытаемся поддержать КА. путём обсуждения принципиально новой системы перемещения в пространстве. ведь если сейчас обсудить все моменты с разных сторон то и криков что что-то криво работает потом будет меньше.
5 Июля 2014 21:59:29
5 Июля 2014 21:59:29
Группа guest
Считаю, что данная идея не должна пылится на дне форума забытой.
28 Января 2015 23:52:17
28 Января 2015 23:52:17

Информация

Вы не авторизованы

1 чел. читают эту тему (гостей: 1)

Пользователей: 0 Claude Bot

Космическая онлайн стратегия Xcraft это бесплатная игра для алигархов. Пример боя >> Регистрация >> И космос весь ваш на тысячи лет...

2009 — 2524