Результаты поиска по запросу «

dune sega

»

Запрос:
Создатель поста:
Теги (через запятую):



Dune (Игра) Игры Sega 

Dune (Игра),Игры,Sega,Dune (game),games,Sega
Развернуть

Dune 2 Dune (Игра) Игры art Sega 

Dune 2,Dune (Игра),Игры,art,арт,Sega,Dune 2,Dune (game),games,art,Sega

Развернуть

Dune (Игра) Игры sega mega drive консоли gamedev 

Dune 2 на Sega состоит из двух игр?

Решил приоткрыть завесу над чем-то, что никому неинтересно:
Почему ROM игры Dune 2 состоит из двух ROM-ов

Для любителей залипать есть видео-версия:


Для остальных текстовая:


Что может пойти не так, когда у тебя кончается доступная память и неоткудавзять еще?

Именно с таким вопросом столкнулись программисты, ответственные запортирование игры Dune с платформы DOS наSega Mega Drive.

Порт, как и оригинал, разрабатывался на языке С, что предоставляло огромные возможности. Но когда разработчики столкнулись с тем, что памяти приставки недостаточно, чтобы разместить и геймплей, и титульный экран, и туториал, они решились на весьма необычный шаг:

Они разбили игру на два разных исполняемых файла, а потом просто на стадии линковки объединяли их в один рабочий исполняемый файл, который использовал одну и ту жепамять по разному.

С точки зрения программирования — это вопиющее нарушение, однако со стороны инженерии — гениальный ход на скорость.При запуске первого исполняемого образа мы видели титульную заставку, туториали брифинг, а вот за геймплей уже отвечал второй образ, который затирал использованную первым образом память и использовал уже ее.

1 J-JMj			[ЕРШ!	lili Л	■Щдд	идиi
	■Ч ill	ТцпЩЩГ				1 г ■
[■J ■ ] иД ■	aiilii	lild;JTvvW			Щ§ ■,Dune (Игра),Игры,sega mega drive,консоли,gamedev
Dune (Игра),Игры,sega mega drive,консоли,gamedev

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

Так разработчикам не пришлось думать о том, чтобы делать динамическое выделение памяти, что сильно сэкономило им время на разработку.

Если заглянуть в американский ROM игры, то в начале будет стандартный заголовок, как и в любой игре, со списком всей необходимой информации для корректной работы, а также номера сертификата, фирма производитель, имя приставки и так далее.

Что примечательно, так это если перейти по адресу 29AB4 мы обнаружим еще один такой же заголовок, что как раз и служит неопровержимым доказательством. В европейском РОМ-е второй заголовок находится по адресу 29AB0. Но вот в Немецкой версии игры второго заголовка нигде нет.

Offset(h )	00	01	02	03	04	05	06	07	08	09
00000000	FF	FF	FF	FA	00	00	02	00	00	00
00000010	00	00	02	00	00	00	02	00	00	00
00000020	00	00	02	00	00	00	02	00	00	00
00000030	00	00	02	00	00	00	02	00	00	00
00000040	00	00	02	00	00	00	02	00	00	00
00000050	00	00	02	00	00	00	02	00	00	00
00000060	00	00
Offset(h)	00	01	02	03	04	05	06	07	08	09
00029A90	74	05	72	7A	70	61	60	10	B6	00
00029AA0	05	83	14	83	52	8A	16	12	4A	03
00029AB0	04	08	4E	75	FF	FF	FF	FA	00	00
00029AC0	00	00	02	00	00	00	02	00	00	00
00029AD0	00	00	02	00	00	00	02	00	00	00
00029AE0	00	00	02	00	00	00	02	00	00	00
00029AF0	00	00	02

Слева заголовок игры понятный для приставки, Справа копия этого заголовка спустя определенное колличество байт. Копия не несёт никакой пользы, она просто есть в памяти.

Я знаю что вам тут же пришло на ум, но нет, если удалить первую часть РОМ-аигры и запускать только вторую — ничего работать не будет. Все потому что вовремя линковки все адреса менялись на корректные, и если вырезать части рома, то адреса смещаются и становятся некорректными. Функционировать такое ПО уже неспособно, ведь обращаясь заданными, процессор находит мусор и своё зависание.

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

Также хочу сказать что в играх компании Electronic Arts была динамическая память и контролер которую ее выдавал для обьектов. Отражалось это в том, что в каждом уровне скажем Jungle Strike, размещение переменных в памяти всегда было разным. Для 64 килобайта памяти это сомнительная фича, но когда объем памяти требуемый для работы игры превышает доступную —это обычная практика.

Даже в Соник 2 Special Stage использовал одну память с уровнями обычной игры, из-за чего по выходу из бонуса выобнаруживали респавн всех колец на всёмуровне.

Дайте знать, если материал интересен, поделюсь еще некоторыми фактами из геймпдева под сегу.

С уважением, Ваш пидор Segaman

P.s. пост сильно попердолило, исправил как смог

Развернуть

coub Dune (Игра) Игры sega mega drive 2 консоли 

Развернуть

Отличный комментарий!

Господи, это было охуенно!
Anchifa Anchifa 28.07.202110:33 ссылка
+37.4

Hark Pixel Gif Pixel Art gif Dune 2 Dune (Игра) Игры 

Развернуть
Комментарии 6 25.11.202317:25 ссылка -5.1

личное Игры юморок Sega 16 bit видео Dune 2 Dune (Игра) обзор спайс 


Развернуть

Zelfit Z Dune 2 Dune (Игра) Игры Игровой арт 

Dune 2 Rocket Launcher reimagined

Zelfit Z,Dune 2,Dune (Игра),Игры,Игровой арт,game art,Zelfit Z,Dune 2,Dune (game),games,game art

Zelfit Z,Dune 2,Dune (Игра),Игры,Игровой арт,game art,Zelfit Z,Dune 2,Dune (game),games,game art

li Æ jdäksJt- ■» -У \1фг^т *,Zelfit Z,Dune 2,Dune (Игра),Игры,Игровой арт,game art,Zelfit Z,Dune 2,Dune (game),games,game art

Zelfit Z,Dune 2,Dune (Игра),Игры,Игровой арт,game art,Zelfit Z,Dune 2,Dune (game),games,game art

Zelfit Z,Dune 2,Dune (Игра),Игры,Игровой арт,game art,Zelfit Z,Dune 2,Dune (game),games,game art

Развернуть

Дюна (игра) Игры олдфаги Dune 2 руководство кооператив Sega эмулятор 

Теперь сеговскую Дюну можно играть в коопе (только на Эмуляторах)

Развернуть

Dune (Игра) Игры dune 2000 ностальгия 

Dune (Игра),Игры,dune 2000,ностальгия
Развернуть

Дюна бригада 

Атрейдесы отправляются на Арракис

Дюна,бригада
Развернуть
В этом разделе мы собираем самые смешные приколы (комиксы и картинки) по теме dune sega (+1000 картинок)