Дизасм Elite
-
Гость
-
Гость
Да просто шаблонная проверка которая там как и в еще многих случаях не нужна, просто все проверяют, на всякий случай, так что дошло до такого.DimkaM писал(а):
А че должен делать недостижимый код?
Мож там что то интересное или недореализованное
Ну там немного анимаций есть конечно, типа взрыва из тех же кругов, или рисовалки кругов для карты, но в общем случае да, 2 типа залитая и пустая, кучи ветвлений уйма почти одинакового кода.dr.Titus писал(а):
Все 2.5к строк - это окружность???
Окружности там ппц быстрые на самом деле, основные циклы заливки разложены по стеку, есть таблички для логики, какого типа сейчас рисовать, более менее. Но все равно думаю и ускорить и сократить получится.
было интервью с разрабами, они как раз хвастались быстротой рисования круговkrt17 писал(а):
Окружности там ппц быстрые на самом деле
" The Spectrum draws a circle in 1040 milliseconds. We do it in 14. A solid sphere takes 20 milliseconds."

(серия игр gyron то-же от них)
во, нашёл
http://web.archive.org/web/201201310716 … tsquad.htmОтредактировано GoodBoy (2016-11-08 20:56:53)
-
Гость
GoodBoy писал(а):
было интервью с разрабами, они как раз хвастались быстротой рисования кругов
Да, процедура рисования окружностей из gyron'а, отсюда кстати и несуразное условие перехода, в элите экран по горизонтали во весь экран а в gyron'е #18 знакомест именно это там и проверяется. Как говорится, поменяй настройки и ничего не трогай. Я могу предположить что именно наличие в портфолио этой игры повлияло на выбор команды для портирования.
deathsoft писал(а):
А что есть алгоритмы быстрее чем метод брезенхема для рисования окружностей?
Может и есть, я о таких не знаю, но на спектруме алгоритм пол дела, можно и по оптимальному накодить совершенно по разному, тут конечно парни старались.
Про таблички для ветвлений я спиздел, они там немного для другого, настраивает параметры экрана, тоже кстати видно остатки универсального подхода, можно избавится будет.
-
Гость
Нашел причину явного глюка при отрисовке окружностей, виден был как только стартуешь со станции, самый маленький круг по верху рисовался до следующего. Исправил. Кстати в кладовской версии при вылете со станции еще один глюк, звезды рисуются раньше чем вылетишь из туннеля. Я подобное ловил когда дизасм делал, сразу поправил, видимо Кладов использовал не нужную как казалось процедуру для чего либо и потом забил.
- бох в отпуске
- Сообщения: 37437
- Зарегистрирован: 08 июл 2016, 23:04
- Откуда: Москва
- Контактная информация:
Мир еще не может забыть Elita AAA

http://zxaaa.net/view_demo.php?id=8428

AAA [?] / pROF^4D / Den Popov / Gas 13

http://zxaaa.net/view_demo.php?id=8428

AAA [?] / pROF^4D / Den Popov / Gas 13
- бох в отпуске
- Сообщения: 37437
- Зарегистрирован: 08 июл 2016, 23:04
- Откуда: Москва
- Контактная информация:
-
Гость
Посравнивал немного 3 фирменные версии, не код а просто поиграл немного во все. Оказалось в той что идет без защиты и с пзу шрифтом прилично изменена логика. Во время полета в открытом космосе просто одолевают, не дают и 5 секунд пролететь на ускорении. Посмотрел также немного и переделки, изменений прилично во всех. Относительно моей версии, все идет медленно, почти разобрался с математикой, переделывать можно и нужно, так же нужно переделывать линию и звуки. Звук основной тормозящий фактор во время боя, если еще и ПРО врубить вообще каюк, посмотрел тернеровский движок, буду сочинять нечто похожее.
текущий билд https://www.dropbox.com/s/9h03l4pwa3z7u … g.sna?dl=0
Эксперименты с xor радаром, быстро но иногда раздражает, подумаю еще как лучше, экономия на буфере не лишняя к тому же. Есть проблемы с отрисовкой окружностей, пока отложил так как буду скорее всего переделывать прекалк на них. В билде фулл чит с постоянным J и C.
Оффтоп: отсутствие кнопок на вставку ссылок это уебищность форума, мои настройки или издевательство ааа ?
текущий билд https://www.dropbox.com/s/9h03l4pwa3z7u … g.sna?dl=0
Эксперименты с xor радаром, быстро но иногда раздражает, подумаю еще как лучше, экономия на буфере не лишняя к тому же. Есть проблемы с отрисовкой окружностей, пока отложил так как буду скорее всего переделывать прекалк на них. В билде фулл чит с постоянным J и C.
Оффтоп: отсутствие кнопок на вставку ссылок это уебищность форума, мои настройки или издевательство ааа ?
-
Гость
Дак я и говорю что у меня их нет, раньше были но пропали. Видимо только для модераторовdr.Titus писал(а):
Кнопка для ссылки - это цепочка с зеленым плюсиком. Между кнопкой форматирования по правому краю и книжкой.
Нет пока, из за ебнутой математики с отдельным знаком и кучей вариантов его хранения для меня тяжковато разбираться в ней, а ее там прилично, еще и огромные куски кода без подпрограмм. Короче медленно, часто перехожу на куски попроще а потом возвращаюсь.dr.Titus писал(а):
Ты не разобрался, почему иногда видны скрытые грани обьекта? Например, на заставке, когда крутится кобра, иногда видно, что проскакивает скрытая грань.
-
Гость
Разобрался, это из за прокси.dr.Titus писал(а):
Я не модер, но у меня есть. Впрочем, это не так важно)
Ну на заставке прилично побыстрееdr.Titus писал(а):
Мне кажется, твоя элита стала побыстрее. Или может это субьективное впечатление)
, процентов на 20, в игре конечно тоже ускорено но не так существенно.-
Гость
Да но по мелочи, там есть момент в предрасчетах который для меня немного непонятен.dr.Titus писал(а):
Круги уже убыстырил?
По факту пока больше эксперименты и мелкие оптимизации. Из визуального добавил индикатор текущего правового статуса и ранее не очевидной для меня вещи как блокировку станции. Если в нее выстрелить то стыковка будет не возможна, хотя статус не изменится. Ну и конечно новый кокпит, вполне возможно перерисую еще раз, щиты как то взглядом не ловятся да и не только это не нравится. Хотя отсутствие рамки меня прет.dr.Titus писал(а):
Хорошо бы вести лог, чего ты сделал.
-
Гость
Как вариант конечно, но я не люблю пользоваться пзу, наверное потому что плохо его знаю. Да и сэкономить получится на этом байт 200, пока не критично.GoodBoy писал(а):
для вызова печати сообщений можно заюзать rst#8
Для разнообразия одна из веток рисования линии, как ускорять даже не представляю, в a' это уже я вынес, дало 3 такта как еще с возможностью переключения в xor без диких раскладок?Код:loc_B433dechloc_B434lda, (hl)@loc_B435orcld(hl), adecdretzexaaddejrnc, loc_B443loc_B43Frrccjrc, loc_B458loc_B443exadjnzloc_B433
можно ли доработать прицел? Чтобы в центре прицелы был бы либо квадратик с пустым пикселем по центру либо перекрестие с пустым пикселем по центру (для стрельбы на максимальном расстоянии, когда корабль врага состоит всего из нескольких пикселей). Сейчас прицеливаться очень сложно, (в версии с читом лазер то стоит мощный и дальнобойный), но чтобы поразить врага на максимальной дистанции приходится дюже поизвращаться, т.к. дырка в центре прицела просто огромная. Поиграл, новый кокпит понравился.
-
Гость
вообще без проблем. Но с прицеливанием в элите отдельная история, можно стрелять прямо в корпус визуально и мазать.deathsoft писал(а):
можно ли доработать прицел?
Все так, в b458 inc l и jp в начало, после dnjz следующая строка. Я про то что все достаточно оптимально, без существенного увеличения обьема чет я не вижу способов ускорить хотя бы процентов на 10. Прекалк ускорю, там есть где развернутся, но простые места все сделаны достаточно оптимально.dr.Titus писал(а):
Что в d? Длина линии? А в B счетчик линий внутри одной строки?
Немного офтопа, если кто не знал, на пц есть ремэйк элиты опенсорсный http://www.oolite.org/
Все-таки лучше, если ты приведешь полный кусок.krt17 писал(а):
Все так, в b458 inc l и jp в начало, после dnjz следующая строка. Я про то что все достаточно оптимально, без существенного увеличения обьема чет я не вижу способов ускорить хотя бы процентов на 10. Прекалк ускорю, там есть где развернутся, но простые места все сделаны достаточно оптимально.
И еще скажи, сколько байт ты можешь потратить на развертывание цикла в том или ином виде.
Получается, рисование идет прям в экран? Или же в буфер, который в памяти, но по сути имеющий экранную же структуру?
-
Гость
Ну будем решать проблемы по мере их возникновения, пока я примечаю места где нужно делать пересчет для синхры по прерываниям а не по рендерам, в принципе пока рано, но я думаю дело и до этого дойдет. Тут основное не будет ли больших перескоков на 3,5, ибо тогда вообще ад.deathsoft писал(а):
за кораблями противника просто не угнаться в бою.