Рубрика «исходный код» - 3

image

Я потратил две недели на чтение и реверс-инжиниринг исходного кода Another World (в Северной Америке игра вышла под названием Out Of This World). Моя работа основана на обратной разработке Грегори Монтуа (Gregory Montoir) оригинального исполняемого файла для DOS из двоичного кода в C++.

Я был потрясён, обнаружив элегантную систему, состоящую из виртуальной машины, интерпретирующей байт-код в реальном времени и генерирующей полноэкранное векторное движение. Результатом этой работы стала одна из лучших игр всех времён…

Всё это умещалось на гибкий диск ёмкостью 1,44 МБ и работало на 600 КБ ОЗУ. Совсем неплохо для 1991 года! Как обычно, я привёл свои заметки в порядок — это поможет кому-нибудь сэкономить несколько часов работы.
Читать полностью »

image

От экрана дизайнера к экрану игрока

Карты разрабатывались дизайнером уровней в 2D с помощью редактора Doom Editor (DoomED). LINEDEFS описывали замкнутые секторы (SECTORS в исходном коде), а третье измерение (высота) указывалась посекторно. Первый уровень Doom E1M1 выглядит так:

image

После завершения работы над картой она нарезается методом двоичного разбиения пространства (Binary Space Partitioning, BSP). LINEDEF рекурсивно выбирались и их плоскости превращались в секущие плоскости. То есть LINEDEF разрезались на сегменты (SEGS) до тех пор, пока не оставались только выпуклые подсектора (SSECTOR в коде).

Интересный факт: И DoomED, и iBSP писались на… Objective-C на рабочих станциях NextStep. Пятнадцать лет спустя тот же язык почти в той же операционной системе выполняет игру на мобильном устройстве! [прим. пер.: в 2010 году Doom вышел на iPhone] Я немного поработал веб-археологом и мне удалось найти исходный код idbsp. На него стоит посмотреть.
Читать полностью »

image

Компания Red Hat объявила о том, что приобретает компанию 3scale, которая разрабатывает программное обеспечение для управления интерфейсами программирования приложений (API), используемыми разработчиками ПО.
Читать полностью »

Правительство США открыло 20% исходников государственного ПО - 1

Долгое время адвокаты движения за открытое программное обеспечение, а также все здравомыслящие люди призывали правительство США открыть исходный код государственных программ. Разработка этого ПО финансируются за счёт налогоплательщиков. Каждый гражданин имеет право проверить, куда идут народные деньги. Открытые исходники помогают находить и исправлять баги, улучшать качество софта, адаптировать программы для различных нужд. На базе открытого кода сообщество создаёт целую экосистему, в том числе из стартапов. От открытия кода только плюсы.
Читать полностью »

Код нейроэлемента - 1

Здравствуй, уважаемое сообщество GeekTimes! Не так давно здесь была опубликована серия статей посвященных работе над созданием модели нервной системы. И лучшим способом понять логику модели является возможность изучения программного кода её реализации. Я не только хочу донести более детально свои идеи, но и попросить помощи у сообщества. Мне известно, что среди читателей GT множество профессионалов в деле написания программного кода и Ваш опыт, знание может помочь развитию проекта. Иногда достаточно грамотного совета или рекомендации, чтобы решение такой не типичной задачи стало элегантным и лёгким.
Читать полностью »

Будущее игровой истории – воровство на рабочем месте - 1

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

Скотт – архивариус в интернет-архиве [Internet Archive, IA], некоммерческой библиотеке, хранящей более 20 петабайт цифровой информации, часть которой скачана с веба посредством Wayback Machine, а часть – собрана по крошкам из тысяч книг, телевизионных шоу и других исторических документов.

Это также место хранения одной из крупнейших коллекций игр и игровой документации в мире. IA и в частности, Скотт, помогли оцифровать архивы GDC (конференции разработчиков игр Game Developers Conference) до 2003 года, создав идеальный клад для изучения информации из первых рук о том, как и почему были созданы классические игры.

Поиграть в Wolfenstein 3D в браузере (разметка GT не поддерживает вставку таких элементов в текст).
Читать полностью »

Исходный код «Аполлона-11» опубликован на Github - 1

20 июля 2009 года в честь 40-летия высадки на Луну распечатки с исходным кодом программы для бортового управляющего компьютера КА «Аполлон» (Apollo Guidance Computer, AGC) были оцифрованы и выложены в интернете. Прошло семь лет — и сейчас этот уникальный образец компьютерной истории получил вторую жизнь. Сегодня исходный код для AGC на ассемблере опубликован на Github в полном виде, открыт для поиска, комментариев, форков и т.д.

В коде можно найти вызовы ставших знаменитыми ошибок с кодами 1201 и 1202, которые так беспокоили Нила Армстронга, и многое другое.
Читать полностью »

Учите детей программировать — они изменят мир - 1
Автор: Джон Вестенберг
Если я умру, пусть мои твиты превратятся в книгу.

Учите детей программировать — они изменят мир - 2

Я научился программировать ещё мальчишкой.

Я выучил C++, потому что на этом языке была написана игра Wolfenstein 3d.

Я был одержим той игрой со всей её красотой крупных пиксельных образований. Модификация игры была моим хобби и всё свободное время я занимался её новыми версиями под ником Raistlin.

В действительности, я учился программировать потому, что это было продолжением того, кем я был: мальчишка, который просто не мог оставить что-либо в покое, который должен был постоянно что-то переделывать, перестраивать, придумывать и мастерить всё новое и новое.
Читать полностью »

Исходный код CryEngine 5.1 опубликован на Github - 1

Немецкая компания Crytek решила опубликовать на Github исходный код игрового движка CryEngine (последняя версия 5.1). Перенести репозиторий на Github решили недавно. Разработчики говорят, что с помощью системы контроля версий Git гораздо удобнее сравнивать ревизии и отслеживать изменения.

CryEngine написан на языке C++. Раньше новые версии движка с исходниками выпускались в zip-архивах. Чтобы определить, какие сделаны изменения, нужно было распаковать архивы предыдущей и новой версий и сравнить файлы. В системе Git всё делается проще. К тому же, публикация на Github, по мнению некоторых экспертов, мотивирует сообщество open-source разработчиков оптимизировать движок под Linux/OpenGL/Vulkan.
Читать полностью »

Двойной обман. Как ФБР использовало украинского хакера Максима Попова - 1

Холодным днём 18 января 2001 года Максим Игоревич Попов, 20-летний украинский парень, нервно толкнул двери американского посольства в Лондоне. Его можно было принять за участника программы по студенческому обмену, который пришёл получать визу, но самом деле Максим был хакером, участником восточноевропейской хакерской группы, которая атаковала американские коммерческие компании, зарабатывая на вымогательстве и фроде. Прокатившаяся волна таких атак выглядела словно предвестник нового этапа Холодной войны между США и организованными хакерскими группировками в странах бывшего советского блока. Максим Попов с детским лицом, в очках и с короткой стрижкой, собирался стать первым перебежчиком в этой войне.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js