Сам Doom написан на языке С, достаточно низкоуровневом и близком к железу языке, что делает портацию на самые разные устройства более простой и осуществимой задачей.
24 июня 2009 ID Software была приобретена издательством ZeniMax Media, которое в спустя несколько лет перевела под лицензию GPL исходный код других продуктов разработанных ID Software, такие как Quake 2, 3, Wolfenstein 3D а впоследствии и Doom 3 BFG Edition.
Посмотреть исходники игр студии можно тут — https://github.com/id-Software
А непосредственно Doom’a тут — https://github.com/id-Software/DOOM
Важное замечание, что под лицензией GPL только исходный код, а игровые файлы, музыка, текстуры все ещё остаются платными и продаются в steam. Таким образом компания имеет возможность продолжать зарабатывать на этих тайтлах давая возможность разработчикам всего мира перенять их опыт и хорошие (а также и плохие, например wolf_actor_ai.c ) решения.
Так на что же портировали Doom?
В первую очередь Doom конечно портировали на различные устройства и платформы, чтобы в него действительно можно было поиграть. К такого рода портам например относится портирование на Adobe Flash. Можете поиграть в DOOM на известном сайте Flash игр NewGrounds.
https://www.newgrounds.com/portal/view/470460
Также Doom запустили в браузере с помощью JavaScript. Но тут все на порядок сложнее, так как на JS написали порт DOS эмулятора Dos-Box и уже в нём запускается DOOM (а также многие другие игры). В общем матрёшка получилась такая, что лично у меня DOOM тормозит.
Можете попробовать вот тут — https://js-dos.com/DOOM/
А также можете встроить это решение на свой собственный сайт:
<style type=»text/css»>
.dosbox-container { width: 320px; height: 200px; }
.dosbox-container > .dosbox-overlay { background: url(https://js-dos.com/cdn/DOOM.png); }
</style>
<div id=’dosbox’></div>
<br/>
<button onclick=’dosbox.requestFullScreen();’>Make fullscreen</button>
<script type=’text/javascript’ src=’https://js-dos.com/cdn/js-dos-api.js’></script>
<script type=’text/javascript’>
var dosbox = new Dosbox({
id: ‘dosbox’,
onload: function (dosbox) {
dosbox.run(‘upload/DOOM-@evilution.zip’, ‘./doom’);
},
onrun: function (dosbox, app) {
console.log(‘App «‘ + app + ‘» is runned’);
}
});
</script>
Периодически DOOM продолжают портировать на игровые консоли, например не так давно его портировали на Nintendo Switch
С некоторой натяжкой можно сказать, что также для того чтобы поиграть DOOM портировали на Apple Ipod nano
https://youtu.be/5aKeACL2giA
А вот на остальные девайсы DOOM портировали просто потому что могут. Список устройств действительно уникален
На калькуляторе без адаптации графики — https://youtu.be/NsN2JIRGHAo
На калькуляторе с адаптацией графики — https://youtu.be/nduMTX86Zl0
На калькуляторе с цветным дисплеем — https://youtu.be/PGVUsYRVRbw
Apple TV — https://youtu.be/Kphyme60f4s
Apple Watch — https://youtu.be/KXhf_SpO6wA
Android Wear (watch) — https://youtu.be/1ei2-jBGGYk
На осциллографе — https://youtu.be/xZaKlLyikKg
На банкомате — https://youtu.be/D0rStdHowAg
На принтере — https://youtu.be/XLHx3vO7KJM
На бортовом компьютере Porche 911 — https://youtu.be/NRMpNA86e8Q
На бортовом компьютере Honda Fit — https://youtu.be/2DSYr4ehi7w
На рекламной панеле — https://youtu.be/PxIGuMif1Nk
На книго читалке PocketBook 360 Plus — https://youtu.be/QOPZrVsCEHg
На фотоаппарате Kodak DC260 — https://youtu.be/k-AnvqiKzjY
На криптовалютном кошельке — https://youtu.be/UNgMTkrhV3g
И вот наши топ5 устройств для игры в Doom
5 — TouchBar MacBook Pro
DOOM запустили на MacBook Pro — эта фраза вовсе не вызывает удивления. Совсем другое дело в том, что его запустили не на экране, а на TouchBar’e макбука. Играть на нём конечно совершенно не возможно, но ведь работает!!!
4 — На кнопке клавиатуры Оптимус Максимус
Это клавитура от студии Артемия Лебедева на каждой кнопке которой есть небольшой экранчик. Чтобы “запустить” на ней DOOM, пришлось сильно извратится, по сути, сам DOOM работает на машине к которой подключена клавиатура, специальная программа очень часто делает скриншоты игры который и показываются на кнопке клавиатуры.
В отличие от TouchBar’a играть уже можно, хотя конечно и не удобно.
3 — На пианино.
Это конечно специальное пианино с дисплеем, где кнопки пианино при нажатии не только издают звуки, ну и служат для управления в игре. Можете сами оценить, какая “симфония” получается при игре в DOOM.
2 — На бензопиле.
Конечно для этого пришлось встроить в бензопилу Raspberry Pi и экранчик, но разве оно того не стоило, это же так в духе самого DOOM.
1 DOOM
Да, вы всё правильно поняли, DOOM запустили внутри DOOM, чтобы вы могли играть в DOOM пока играете в DOOM.
В моде GZDoom, вы можете найти игровой автомат в котором собственно будет Doom.
И на заключение, DOOM портируют не только на различные устройства, но в том числе и на более современные игровые движки. Одна группа энтузиастов например занимается портированием DOOM на движок Unity и выглядит это вот так
Другая группа пишет собственный движок который открывает возможность для желающих разрабатывать собственные модификаций для DOOM, одной из самых известных на данный момент является Brutal DOOM и это в свою очередь выглядит вот так:
Приятной игры, на чём бы вы там не играли!