geek старые игры обзор Игры 

История видеоигр, часть 2: Bertie the Brain

SILVER,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,старые игры,обзор,Игры


Всего через три года после Cathode-ray tube amusment device на свет появился второй кандидат на звание первой в мире видеоигры. Как мы увидим позже, Bertie the Brain также не удовлетворяет всем критериям определения "видеоигры", так что вопрос о первенстве остаётся открытым.


Автор, Джозеф Кейтс (Кац), родился в 1921 году в Вене в семье австрийских евреев Баруха и Анны Кац. Как вы понимаете, жизнь еврейского юноши в то время оказалась нелёгкой: бегство от нацистов в Италию, а потом в Британию, депортация как потенциально враждебного элемента в Канаду, два года в лагере. После выхода на свободу в 1942 году Джозеф осел в Торонто и устроился на работу в Имперскую Оптическую Компанию, где два года занимался созданием точной оптики для канадского флота. Оттуда перешёл в Rogers Vacuum Tube Company, а затем в вычислительный центр при Университете Торонто. В обоих местах деятельность Кейтса была связана с разработкой радиоламп. Где-то в начале 50-го года Джозеф Кейтс решил, что настало его время двигать прогресс и сконструировал лампу-аддитрон. Одна такая лампа могла выполнять роль полного сумматора, для чего требовался комплект из 10 обычных вакуумных ламп.


Для демонстрации своего изобретения на Национальной выставке в Торонто Кейтс и собрал устройство, которое назвал Bertie the Brain. По сути это компьютер для игры в крестики-нолики. Внушительное устройство состояло из 4-метрового корпуса, панели с девятью кнопками, организованными в поле 3 на 3, и дисплея для отображения хода игры. Справа от дисплея располагались индикаторы, которые показывали, чей сейчас ход.


CARRY TO (92 Л3> M-CELL. Q SUM 72+OL . О *s0*th. 72 77ÁI 77¿\ //-ÄZ 80У\ -7*7 <5^? *55 1 IÆZ -— i- A—' t (^4 (г'7г^)й^551—151 ôâs CELL ÖJSy-^jOEU^ A____ г 37Í---V-- J3Ö LEP-Узв <3© -Z3 ¿ ADX>ENX> 7¿ *2 О AUG-EMZ) 72*2. О AUG£NZ> 7?* / -----'V^ß. —<Г-П Д/у^ J CARRY у Г


В отличие от полностью аналогового CRTAD, в Bertie the Brain использовался цифровой компьютер, что ставит его ближе к нынешним электронным развлечениям, и даже имелось три уровня сложности ИИ. Однако дисплей представлял собой просто массив из цветных ламп за стеклянным экраном, неспособный к выводу каких-то иных изображений.


Как и CRTADBertie the Brain остался просто малоизвестным историческим курьёзом, и даже его основная задача - продвижение лампы-аддитрона - оказалась проваленной: ещё до того, как Кейтс уладил все дела с патентом, вакуумные лампы были вытеснены транзисторами. Это не нанесло непоправимого вреда карьере Джозефа Кейтса, который позже стал основателем своей собственной компании, не имеющей, однако, никакого отношения к игровой индустрии и поэтому для нас малоинтересной. После выставки Bertie the Brain был разобран и навсегда забыт.


Раз уж мы здесь, почему бы не взглянуть одним глазом на историю игры, ставшей основой для Betie the Brain? У нас она известна под именем "крестики-нолики" или ранее как "херики-оники". Считается, что происходит от древней китайской игры "вэй-чи" или "гомоку" по-японски, где два игрока по очереди выкладывали на расчерченную клетками доску белые и чёрные камешки, пытаясь выложить линию нужной длины и не дать сделать того же своему противнику.


Развернуть

geek старые игры обзор песочница 

История видеоигр, часть 1: Cathode-Ray Tube Amusement Device

Небольшое предисловие: текст ниже взят из моего блога Silicon Darwin. Зачем я перепощиваю его здесь вместо того, чтобы просто кинуть ссыль? Начиная блог, я xотел делать, что называется, качественный контент. Жизнь внесла свои коррективы, и как-то так вышло, что статьи писались в спешке, на коленке, с головой, занятой другими вещами. Недавно я пробежался по блогу и решил, что он мне не нравится. Я xочу переписать всю сотню статей, что там накопилась. Спокойно, без спешки, добавить исторический контекст, рассказы об автораx, всякое такое. По мере обновления буду выкладывать сюда. Тем не менее, для желающиx вот ссыль.


Управляющий электрод вертикально отклоняющие пластины Горизонтально отклоняющие пластины,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,старые игры,обзор,песочница

Если вы остановите на улице случайного человека и спросите, с чего началась история видеоигр, то скорее всего он пошлёт вас подальше скажет: с Super Mario Bros, Tetris или стрип-покера на компе его папы. Особенно продвинутые назовут Space War! или Pong. Я бы тоже мог удовлетвориться одним из этих ответов, но научная любознательность заставляет углубиться в дебри истории.

Первая задокументированная попытка человека создать интерактивное развлекательное приспособление, снабжённое электронно-лучевой трубкой, произошла аж в 1947 году. Тогда двое сотрудников производителя телевизионного оборудования DuMont Laboratories, Томас Голдсмит младший и Эстл Рей Манн, собрали своё Увеселительное Устройство с Электронно-Лучевой Трубкой (далее для удобства УУЭЛТ). Неизвестно, с какой именно целью было создано устройство, но до массового производства дело не дошло: авторы продемонстрировали его руководству DuMont Laboratories, получили патент, а затем поставили в шкаф и забыли. В развитии игровой индустрии оба в дальнейшем не участвовали. Томас Голдсмит стал профессором физики в Университете Фурмана, о судьбе Манна информации я не нашёл. Известно, что Голдсмит, уходя из DuMont Laboratories, забрал УУЭЛТ с собой и демонстрировал коллегам на новом месте.

geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,старые игры,обзор,песочница

Спорный вопрос, можно ли считать УУЭЛТ первой видеоигрой. Технически оно удовлетворяет не всем критериям: не имеет цифрового компьютера и не использует программного кода. Тем не менее, я считаю правильным начать именно с него. К сожалению, изображений УУЭЛТ не сохранилось, читателю придётся довольствоваться моим путаным объяснением. ЭЛТ использовалась для вывода движущейся точки на экран осциллографа (напоминавший экраны радаров, над которым Голдсмит работал во время войны). Вращая одну из двух управляющих рукояток, игрок мог изменять высоту дуги, по которой точка перемещалась из одного конца экрана в другой. Эта точка символизировала летящий артиллерийский снаряд. В определённый момент, наступление которого можно было регулировать другой рукояткой, точка расплывалась, что обозначало взрыв. Поверх экрана были наклеены полупрозрачные силуэты разной военной техники, которые использовались в качестве целей: механизмов для вывода сложной графики тогда не было. Разумеется, игра не могла сама вести счёт, рядом с игроком должен был сидеть беспристрастный судья, фиксирующий его успехи.

SU~>*uzA INVENTORS BY *h/í /to+i&*uV,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,старые игры,обзор,песочница

Появление УУЭЛТ нельзя назвать отправной точкой в формировании игровой индустрии. Время и обстоятельства к этому не располагали: DuMont Laboratories не стали запускать устройство в продукцию, и до недавнего времени широкие массы вообще о нём не знали. УУЭЛТ осталось просто историческим курьёзом, а его создатели занялись другими, более важными и интересными вещами. Тем не менее, как и в живой природе, эволюция не идёт по прямой. Эволюция это пробы, ошибки и миллионы тупиковых путей, которые, хотя никуда и не ведут, интересны сами по себе.

Развернуть

OSDev операционная система разработка программирование geek ASM Комиксы песочница 

Уроки ОСдева №1

В прошлом посте я представил свою операционку и игру, которую пишу под неё в свободное время. Там же я сделал несколько заявок на будущие посты. Среди прочего я сказал, что, возможно, сделаю серию образовательных постов про разработку операционных систем и низкоуровневое программирование. Сегодня будет первый такой пост. Для понимания материала не нужно знать ассемблер или разбираться в устройстве ОС - про всё это я буду рассказывать. Нужно иметь представление об архитектуре компьютера в общих чертах: понимать, что такое BIOS, процессор, материнская плата, оперативная память, видео-, звуковая и сетевая карты, жёсткий диск, оптические и флоппи-приводы и как примерно всё это между собой скрепляется. Неплохо бы знать, что такое бит, байт и слово. Вообще супер, если вы в курсе, чем десятичная система счисления отличается от двоичной и шестнадцатеричной и умеете переводить из одной в другую. Поехали.


P.S.: если знаете английский, советую зайти сюда. Это довольно старая серия уроков по ОСдеву для новичков. Я в своё время почерпнул там очень много и в своих постах наверняка буду невольно цитировать оттуда.



Часть 1, теоретическая.


С чего начать? Вопрос, который возникает в голове любого, кто собрался писать ОС с нуля. В интернете полно тематических ресурсов, но не так много обучающих, где бы задача написания операционной системы разбивалась на небольшие последовательные этапы-уроки. Например, на OSDev.org очень много информации, распределённой по тематическим разделам, но составить на её основе у себя в голове необходимую последовательность действий для новичка будет очень сложно.


Я думаю, стоит начать с включения компьютера. Это не шутка: чтобы создать свою операционную систему, надо до определённой степени понимать как работает компьютер. Что происходит, когда вы нажимаете кнопку POWER на системном блоке и как у вас на экране оказывается ваш заваленный ярлыками и "новыми папками" рабочий стол? Для того, чтобы программа (а наша ОС - это, конечно же, программа) начала исполняться, она должна сначала попасть в оперативную память. Содержимое оперативной памяти же на момент включения пусто. Если среди читающих есть инженеры, советую зажмуриться и пропустить до следующего абзаца: сейчас будет упрощённая модель.


1. Нажатая кнопка POWER посылает электрический сигнал на материнскую плату.

2. Сигнал доходит до материнской платы и отправляется к блоку питания.

3. Блок питания просыпается и начинает подавать энергию подключенным устройствам.

4. Блок питания посылает сигнал на материнскую плату, начинает исполняться программа BIOS.

5. BIOS проводит POST (power-on self-test), посылая сигналы разным устройствам и получая (или не получая) от них ответ. Если устройство не отправило ответ, оно помечается как нерабочее или отсутствующее. Тут же BIOS определяет количество оперативной памяти и некоторые другие параметры системы.

6. Если POST окончен и никаких критических поломок не выявлено, BIOS сверяется со списком загрузочных устройств. Наверняка вы хоть раз его видели, если устанавливали Windows: его обычно можно настроить через интерфейс BIOS, выбрав, с чего загружать ОС (floppy, HDD, USB, ...).


Вот тут начинается часть, которая интересует нас. Предположим, мы вставили дискету с нашей ОС в привод и настроили приоритет загрузки следующим образом: CD-ROM, флоппи-привод, жёсткий диск, USB. Как BIOS определит, что на одном из носителей есть операционная система для загрузки? Физическое устройство цифровых носителей и способы доступа к информации на них это тема для отдельного урока или даже нескольких, так что пока удовольствуемся упрощённой схемой: BIOS считывает с 0 по 511 байты носителя и проверяет, чему равны байты 510 и 511. Если они равны 170 и 85 (AAh и 55h в шестнадцатеричной системе), BIOS считает, что нашёл программу-загрузчик. После этого считанный участок носителя размером в 512 байт загружается в оперативную память и запускается центральный процессор компьютера, который начинает выполнять загруженную программу. Программа-загрузчик догружает остальные файлы ОС и располагает их в памяти нужным образом, а потом говорит процессору, откуда нужно начать выполнение ОС.


Какие выводы можно сделать из полученной информации?


1. Помимо операционной системы на носителе должна быть программа-загрузчик, т.к. компьютер не знает, как именно структурированы файлы ОС и куда их надо загружать. Загрузка ОС - тоже задача разработчика.

2. Загрузчик должен быть не больше 510 байт, ведь BIOS считывает 512 и последние два из них заняты меткой загрузчика.

3. Последние два байта программы-загрузчика должны быть равны AA55h.

3. Загрузчик должен занимать строго определённое место на носителе: с 0 по 511 байты. Думаю, вы замечали, что когда копируете файлы на носитель обычными методами, никто не спрашивает вас, в какой именно участок памяти вы хотите их поместить. Значит, копировать загрузчик нужно каким-то особенным способом.


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



Продолжать?
Да
252 (57.4%)
Единая Россия
187 (42.6%)
Развернуть

gamedev Игры ASM roguelike олдфаги поймут операционная система длиннопост 

Олдфажного геймдева пост

Привет, реактор. Заxожу сюда за xорошим настроением (или как получится) уже давно, но написать собрался впервые.


Несколько лет назад я по приколу начал пилить с нуля ОС для ПК с x86-ми процами. Без комментариев, просто заxотелось. Потиxоньку занимаюсь ею и по сию пору. Появилось порядка 20 нерабочиx версий, одна полурабочая и одна (будем надеяться) нормальная, которая ещё не окончена. Операционка получилась как я люблю: грузится с дискеты, даёт минимальный интерфейс к  клавиатуре, дисплею и флоппи-приводу, позволяет запускать плоские бинарники с точкой вxода 500000h и не мешает. В следующей версии будут ещё всякие излишества вроде поддержки жёсткого диска и графическиx режимов VGA, но сейчас не о том.


 Bochs for Windows - Display _ □ Not a command or executable file. CTRL + 3rd button enables mouse IPS: 48,590M NUM CAPS SCRL HD:0-IV UHCI,gamedev,Игры,ASM,ASM Comics,ASM Комиксы,roguelike,олдфаги поймут,операционная система,длиннопост

 Bochs for Windows - Display _ □ USEIR g-py Reset suspehd Power- (Ь Ф Unformatted memory map: Entry öl 0x0 Entry #2 0x9F000 0X9FO0O 0x1000 0x18000 OxlFEFOOOO Entry ö3 0XE8O0O 0x18000 Entry Ö4 0x100000 OxlFEFO Entry Ö5 0xlFFFO000 0x10000 Entry Ö6 0xFFFCO000 0x40000 available reserved



Мне стало жаль просто убрать в ящик ту полурабочую версию оси и я решил написать под неё игру. Конечно, в дуxе самой ОС: олдфажный текстовый рогалик, как бы плод запретной связи Colossal Cave Advenure и Rogue. От первой достались текстовые описания и перемещение по "комнатам", от второй - процедурная генерация, голод, xолод и пермасмерть.


Сразу опишу основные фишки проекта и приведу немного цифр:

- 1000 комнат

- 7 концовок

- износ, ремонт и апгрейд снаряжения

- прокачка атрибутов, заклинаний и навыков от использования

- около 50 видов монстров

- около 25 видов магии

- около 1,5 часов на успешную партию

- дружелюбный интерфейс


Ну и напоследок несколько скринов из последней и старыx версий:


Character creation - step 1. Distribute points between primary attributes. trength: Constitution: 5 Dexterity: 5 Intelligence: 5 Luck: 5 Poo 1: 25 Health: 110 x to avoid trap: 22 Health regen.: 1 Metabolism: 1 Physica1 res.: 1 Physical damage: 1-2 Use Up and Down arrows to select an

Entry Hall Uaults of this huge hall are supported by many elegant columns. Long stone benches are situated along the walls, central place is taken by a large, intricately decorated fountain with no water. Daylight fills the hall through the gates and small windows high above, near the ceiling.

Corridor A dark, empty corridor with high ceiling and crude stone walls. You see test visuals, wooden chest with lock(?). You hear test sound Use arrow keys to move around the map. Break container Character Inventory Listen Search Take PosX: 9 PosY: 0 PosZ: 0 Time:

old sword Plain old sword that Type: weapon Durability: 29/48 Physical damage: 10 had seen better times.,gamedev,Игры,ASM,ASM Comics,ASM Комиксы,roguelike,олдфаги поймут,операционная система,длиннопост

ROUND RESULTS skul lback spider runs beneath your foot albino spider watches you with its" beady eyes You make a leaping attack at skul lback spider skullback spider takes 31 points of physical damage skullback spider takes 7 points of electric damage skullback spider dies,gamedev,Игры,ASM,ASM

ROUND RESULTS purple worm attacks and misses skullback spider runs beneath your foot You don't have time for this now.,gamedev,Игры,ASM,ASM Comics,ASM Комиксы,roguelike,олдфаги поймут,операционная система,длиннопост


Игра в процессе разработки, текущая версия готова процентов на 30 в смысле меxаник и примерно на 5 в смысле контента. Если кому интересно, в следующем посте выложу ссыль и инструкцию для запуска. Ну а так - приветствую комменты и просто потрепаться за жизнь, низкоуровневое программирование и геймдев.


Развернуть