ФлеймФорумОбщее

Байки о движках

Страницы: 1 2 37 8 Следующая »
#0
11:50, 29 апр 2019

Под конец 90-х меня нашли старые знакомые и предложили поучаствовать в проекте. С них - спец.аппаратура и обсчет ее показаний. С меня - риалтаймовый графический интерфейс.

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

Ладно, говорю, это - просто. В те времена еще не было проблем с "шейдерами". Тупо оптимизировали регистровую арифметику и размер пространства съемки. У меня даже был где-то свой "воксельный движок", живенько рисовавший что-то типа "вида из окна поезда".
Ну, говорят, есть проблемы. Радиотехник, написавший фильтрацию радиосигналов (в итоге выдающую набор текущих координат пожарных) написал все на Турбо Паскале (BP 7.0)... И переписывать не будет.
Все мечты о новом слове в графических мечтах начали меркнуть. Дык, говою, а я-то тут при чем? Берите библиотеку Турбо и рисуйте.
Уже, отвечают. Показывют лабиринт, по которому бегает кружок-пакмен. Это, говорят, совсем "не то".
"А что ТО?"
"Этого мы от тебя ждем... Да, еще совсем забыли, экран должен быть большим - 1024*768. Иначе лабиринт не влезет".
Это сейчас "хи-хи". А 20 лет назад телевизор такой по спецзаказу покупали... Да еще на Паскале.

Так я и не понял, что им было надо. Пошел изобретать что-то свое. DOS-Паскаль с его жуткими проблемами с расширением памяти? Значит, вся большая память будет под управлением видеоадаптера, а лабиринт буду передавать частями. Частями? Тогда сам бог велел сделать конструктор.
Нарисовал красивый желтенький "кубик" и зафигачил простенький редактор. Сидел и тупо рисовал комнаты лабиринта. Показал.
Видимо, они подумали, что дальше будет лучше, и они сказали, что сойдет... Но через неделю все-таки начали ныть, что конструктор не нужен, а нужна "картинка".

Конец первого движка.

Картинка - так картинка. Выкинул "кубики". Накопипастил из "Incubation" фрагментов и нафигачил три задника - отдельно этажи и общего вида. Проблему памяти решил самым простым способом: DOS-программу запускаем из-под Win95 и юзаем DPMI... Единственно Паскаль-программа стала немного "египетской" из-за преобразований "адрес-ссылка"...

Ок, говорят, красиво. А где конструктор?
"???"
"Ну, датчики-то надо как-то развесить и в программу их координаты вставить".

Конец второго движка.

Т.е. нужны "диалоговые окна". Которые у самого Билла не сразу получились!? В те годы считалось, что "окна" - это такая очень сложная и жутко тормозящая штука, которую и понять-то трудно. В книге Мэтта Питрека "Внутренний мир Windows" описывались сложнейшие финты...
Но, может, можно по-нашему, по деревенски, тупо отрисовать прямоугольник и опросить координаты мыши? Оказалось это не только можно, но и очень просто. (Кстати, вся работа с мышкой, в силу принудительной синхронизации, и свелась к единственной ф-ии "Опрос состояния").

Готово. Провоняли дымом, развешивая датчики и замеряя расстояние рулеткой. Вбил их в программу, попутно исправляя ошибки "интерфейса"... Добавил к "радиотехнической фильтрации" свою - чтоб мимо дверей не ходили и летку-енку не танцевали.
Дымокамера функционирует... Дым циркулирует... Спрайты пожарных осциллируют... Фельдшерица рвется их спасать, когда иконки замирают. Лепота!

Тут ко мне подходит "делегация" с ехидным выражением лица.
"А нам еще надо базу экзаменуемых вести..."
Напугали ежа... Окно-то уже есть - добавить туда пару лишних "контролов" - готово!

...

Конечно, были там и другие приключения. Но все это вместилось в те две тысячи строк на Паскаль (без всей этой радиотехники). Кстати, тогда я еще не окончательно переболел ООП и он изобиловал страшными комментариями "ЧУЖОЙ - ВЕЩЬ - НЕЧТО", "ГЕНЕРАЦИЯ - МОДИФИКАЦИЯ - ДОСТУП - ВЫВОД", "ПРЕДСТАВЛЕНИЕ - ОПРЕДЕЛЕНИЕ - КОНЦЕПЦИЯ"... Жуть...

#1
12:05, 29 апр 2019

Сохранившийся у меня текст (без "радиотехники", возможно, не окончательный/не отлаженный - доводил-то на объекте):

https://cloud.mail.ru/public/4ApC/HPKedGJ47
(В превью кодировка съехала, не пугайтесь).

#2
12:07, 29 апр 2019

gudleifr
Жаль. Но ты как бы еще в 90-х остался.
А на дворе уже скоро 2020 год будет !

#3
12:11, 29 апр 2019

Ziltop
> Жаль. Но ты как бы еще в 90-х остался.
Об том и спич. Сейчас, казалось бы, столько новых инструментов... Но все силы "современных движкописателей" уходят на борьбу с ними.

#4
12:13, 29 апр 2019

Ну потом будет бороться ИИ.
Тогда человек вообще не будет ничего писать.

А просто как в ресторане делать заказ чего он хочет. А искусственный интеллект будет это делать.

#5
12:18, 29 апр 2019

Ziltop
> Ну потом будет бороться ИИ.

Громадные машины со всем их сложным механизмом, где так сильно чувствуется отсутствие простоты, управляются людьми, которым по природе своей свойственно ошибаться; но теперь появляется еще новая опасность от тех неисправностей, которые могут произойти в самих машинах.
Х.Р.Вильсон, Броненосцы в бою, 1896

Обратите внимание на год.

#6
12:39, 29 апр 2019

jaguard
Наверное его огорчил Микрософт со своим унылым Шиндовс.
Меня Шиндовс тоже напрягает в последнее время.

#7
12:41, 29 апр 2019

Ziltop
> Наверное его огорчил Микрософт со своим унылым Шиндовс.
Примерно лет за пять до описываемых событий.

#8
12:45, 29 апр 2019

Залейте плиз на нормальный файлообменник.

#9
12:49, 29 апр 2019

Ребята. Вы упускаете главное - условия в которых пишутся "реальные движки": за две недели до расстрела, там и на том, что велено. А все эти благорассуждения о том, что в этом сезоне все пишут на <...>, можете засунуть к "рефакторингу" и "переносимости".
И, второе: ВСЕГДА проще переписать, чем учесть все заранее! И если Вы не учитываете "все заранее", то "все" весит тысячу строк, не более.

Zegalur
> Залейте плиз на нормальный файлообменник.
А в чем проблема?

#10
12:49, 29 апр 2019

Ziltop
Микрософт всех огорчил, и виндоуз действительно был в меру унылым (но был многозадачным - и это в результате все решило). И программировать под него на голом АПИ было (и остается, хм) действительно болью, поэтому так Дельфи и поднялся. Но это не повод гордиться тем что ты просто не хочешь или не умеешь учиться.

#11
12:51, 29 апр 2019

Движки вылизываются годами.

Как кот свои помидоры :)

#12
12:54, 29 апр 2019

В студенческие годы, по приколу писал программу-телефонный справочник, с интерфейсом в стиле win95...  кнопочки, эдиты, Turbo Pascal, BGI (жаль, что TMT Pascal мне попался только через 1.5 года).... курсор мышки. Ничего сложного, учитывая, что из литературы у меня под рукой был только учебник Шилдта по Turbo C с примером  псевдографического оконного интерфейса со стековыми окошками.

#13
12:56, 29 апр 2019

nes
Извините за удаление Вашего поста, попавшего в зону игнора к нашему шаурмену.

nes
> Это не движок, это "як як на коленке".
Это именно движок. И он работал!
А "як як на коленке" - это бездумное перестроение абстрактных сущностей без понимания того, что они делают.

nes
> Движки вылизываются годами.
Вас обманули. За пару месяцев вы отстанете от железа на огромное расстояние...

nes
> Мне вот интересно как автору вообще удалось сохранить столь древнего мамонта?
В 90-е уже изобрели жесткие диски.

#14
12:58, 29 апр 2019

Вас обманули. За пару месяцев вы отстанете от железа на огромное расстояние...

Не ! Нес он впереди паровоза :)
Изображение

Страницы: 1 2 37 8 Следующая »
ФлеймФорумОбщее

Тема в архиве.