Кладовая программиста. Медиа-комбайн, часть 2. > Minecraft истории
истории Minecraft    

Кладовая программиста. Медиа-комбайн, часть 2.

Кладовая программиста. Медиа-комбайн, часть 2.

Самопал Кладовая программиста. Медиа-комбайн, часть 2. 019.05.2004 12:04  |  "В прошлый раз мы создали многофункциональный медиа-комбайн. Сегодня мы сделаем из него супермашину, способную если не по удобству, то по возможностям заткнуть за пояс такого гиганта, как Windows Media Player..." Самопал     В прошлый раз мы создали многофункциональный медиа-комбайн. Сегодня мы сделаем из него супермашину, способную если не по удобству, то по возможностям заткнуть за пояс такого гиганта, как Windows Media Player.
    Давайте немного помечтаем. Что сможет делать наш комбайн? Во-первых, он без лишних проблем откроет файлы форматов dib, jpg, bmp, ico, emf, wmf, avi, wav, mid и уникальный формат плейлистов list. Во-вторых, он все эти файлы может микшировать в плейлисты, которые, в свою очередь, без проблем можно будет сохранить на винчестере. Комбайн организует слайд-шоу и даже создает презентации с музыкой и видео. Всеми этими процессами несложно управлять с удобной панельки. Есть даже независимое чтобы перетаскивать с помощью мышки окошко вывода. Скорость пролистывания слайдов можно изменять.
    Доставайте из заначки исходники недоделанного комбайна и продолжим. Если по каким-то причинам вы не читали статью позапрошлого номера “Мании”, не отчаивайтесь материал ждет вас в разделе “ИнфоБлок” нашего CD- или DVD-диска. Там же разместились исходники комбайна.

Чтобы создать подобное
окошко, потребуется не более
трех минут.
   В дорогу дальнюю...
   
В прошлой статье мы остановились на пункте меню Запустить слайд-шоу. С него и продолжим. Допустим, пользователь желает запустить слайд-шоу. Создайте обработчик события для этого пункта меню (у меня он называется
TForm1.N11Click). Для начала введите глобальную переменную, которая показывает, запущено слайд-шоу или нет. Назовите ее is_show. В глобальный раздел Var добавьте описание этой переменной:
    is_show:boolean=false;
   
По умолчанию значение переменной установите в “ложь”, ведь изначально слайд-шоу отключено. Помните, в прошлый раз мы решили не вводить дополнительный пункт меню для остановки слайд-шоу? Вместо этого давайте сделаем так, чтобы при его запуске название пункта меню изменилось на Остановить слайд-шоу. Как это сделать? Сначала необходимо “переключить” переменную is_show. То есть если ее значение true, установить его в false и наоборот. Быстрее всего это сделать строчкой:
    Is_show:= not is_show;
   
Логический оператор not как раз переключает переменные. Теперь, в зависимости от значения переменной is_show, надо задать надпись пункту меню. Давайте создадим элементарную конструкцию выбора case с переменной is_show в качестве селектора. Вариантов всего два: true и false. Если значение переменной is_show равно true, то слайд-шоу уже запущено и его необходимо остановить. Если же false, то слайд-шоу надо, наоборот, запустить. Вот участок кода, который это реализует:
    case is_show of
    true:N11.Caption:=\'Остановить слайд-шоу\';
    false:N11.Caption:=\'Запустить слайд-шоу\';
    end;
   
Теперь, если слайд-шоу запускается, надо показать первый элемент в списке воспроизведения. Мы уже делали это, когда создавали обработчик для пункта меню Открыть... Зачем делать одну и ту же работу дважды? Скопируйте участок кода, который отвечает за загрузку:
    if form1.listbox1.ItemIndex<0 then form1.listbox1.ItemIndex:=0;
    s:=ExtractFileExt(opendialog1.FileName);
    if (s=\'.dib\') or (s=\'.jpg\') or (s=\'.jpeg\')
   
Плеер в действии.
Проигрывается трейлер к
популярной игре.
or (s=\'.bmp\') or (s=\'.ico\') or (s=\'.emf\') or (s=\'.wmf\') then
    begin
    Form2.Hide;
    Form3.image1.picture.loadfromfile(opendialog1.filename);
    Form3.Width:=Form3.image1.Picture.Width;
    Form3.Height:=Form3.image1.Picture.Height;
    Form3.image1.picture.loadfromfile(opendialog1.filename);
    Form3.Image1.Visible:=true;
    Form3.show;
    end;
    if (s=\'.avi\') or (s=\'.wav\') or (s=\'.mid\') then begin
    Form2.Show;
    Form3.Hide;
    if s=\'.avi\' then Form3.Show;
    Form3.Image1.Visible:=false;
    Form2.Mediaplayer1.Display:=Form3.Panel1;
    Form2.MediaPlayer1.FileName:=opendialog1.FileName;
    Form2.MediaPlayer1.Open;
    Form3.Width:=Form2.MediaPlayer1.DisplayRect.Right-Form2.MediaPlayer1.DisplayRect.left;
    Form3.Height:=Form2.MediaPlayer1.DisplayRect.Bottom-Form2.MediaPlayer1.DisplayRect.Top;
    Form2.MediaPlayer1.play;
    end;

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

    s:string;

   
Осталась лишь одна проблема: откуда брать имя файла, который требуется открыть? Ведь никакого оператора opendialog нет. Если пользователь запустит слайд-шоу, то начаться оно должно с текущей выделенной строки в ListBox1. Как получить индекс выделенной строки? Очень просто: listbox1.ItemIndex. Следовательно, как получить содержимое выделенной строки (по совместительству искомое имя файла)? Еще проще: listbox1.Items.Strings[listbox1.ItemIndex].

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

    If is_show then begin
    // ваш код
    end;

   
Почему условие выглядит так непривычно? Дело в том, что
для переменных типа boolean условие вида переменная=true можно сократить просто до имени переменной. Это очень удобно.
    Между операторами условия begin и end вставьте скопированный код. На протяжении всего кода замените функцию opendialog1.filename на listbox1.Items.Strings[listbox1.ItemIndex]. После этого скрипт заработает.

   Основные переключатели
   
Пришло время обеспечить переключение файлов во время слайд-шоу. К картинкам и активным файлам (видео и звук) подход различен. Если текущий файл картинка, перед запуском следующего пункта Listbox1 надо сделать время задержки (хранится в переменной M). С видео и звуками дело обстоит по-другому. Следующий файл надо запустить не через какое-то определенное время (откуда мы знаем, как долго длится клип?), а когда текущий клип завершится.
    Давайте рассмотрим эти два варианта по порядку. Начнем с картинок. Как организовать задержку? Для этого существует специальный невизуальный компонент Timer. Самый первый на вкладке System. Найдите его и поместите в любое место на форме. Соответствующий объект будет называться Timer1. Поначалу таймер должен быть отключен, поэтому его свойство Enabled установите в false. У таймера одно-единственное событие OnTimer, которое сpaбатывает, как только время, задающееся свойством Interval, истечет. Не забудьте, что время задается в миллисекундах (одна тысячная секунды). Как только пользователь включает слайд-шоу, нам надо запустить таймер. В обработчике N11Click найдите второе условие (текущий объект картинка) и после строчки Form3.show пропишите:
    Timer1.Interval:=M*1000;
    Timer1.Enabled:=true;

   
Почему “M*1000”? В миллисекундах время считают только совсем уж крутые программисты. А пользователь, скорее всего, будет
вводить время в привычных секундах. Отсюда это простое преобразование.
    Таймер запущен. Как только он сработает, мы должны его выключить (до поры до времени), выделить следующую строчку в списке и запустить этот файл стандартным куском кода.
    Создайте обработчик события таймера Timer1Timer и пропишите для него код:
    Timer1.Enabled:=false;
    if listbox1.Items.Count-1=listbox1.ItemIndex then
    listbox1.ItemIndex:=0 else listbox1.ItemIndex:=listbox1.ItemIndex+1;
   
Это еще не все содержимое обработчика Timer1Timer, но к нему мы вернемся после. У вас, скорее всего, возник закономерный вопрос: зачем нужно условие во второй строчке? Почему бы просто не присвоить единицу свойству ItemIndex? Представьте себе, что после нескольких слайдов указатель выделения списка дойдет до его конца. Очередной комaндой приращения указатель сдвинется... на несуществующую строку. Естественно, возникнет критическая ошибка, и программа вылетит. Поэтому перед приращением необходимо проверить, не добрался ли счетчик до конца списка. Если добрался, то указатель выделения (свойство ItemIndex) обнуляется, если нет увеличивается на единицу. Вот и все премудрости.

   Окольные дорожки

   
Перейдем ко второму варианту. Что, если очередной файл из списка воспроизведения не картинка, а звуковой или видеоклип? В этом случае необходимо дождаться его завершения, а потом открыть следующий в списке файл. Как узнать, что клип подошел к концу? Есть много способов. Но самый простой, на мой взгляд, воспользоваться обработчиком события компонента TmediaPlayer OnNotify. Это событие сpaбатывает, когда меняется режим работы медиа-плеера. Сам режим можно определить с помощью свойства Mode. Нам интересно только одно его значение mpStopped. Как вы уже догадались, оно показывает, что плеер
остановился, потому что клип закончился.
Все пять форм программы

    Когда клип не проигрывается, режимы тоже могут меняться. Поэтому появятся неизбежные ложные сpaбатывания обработчика. Эти ложные сpaбатывания надо как-то устранить. Самое простое ввести еще одну переменную и установить ее в положение true непосредственно перед началом воспроизведения. Внутри обработчика OnNotify необходимо проверить состояние переменной Mode и новой булевой переменной. Если обе проверки проходят воспроизведение точно прекратилось, и можно переключаться на следующий файл списка. Объявите эту вспомогательную глобальную переменную:
    video:boolean=false;
   
По умолчанию она “выключена”. Где ее включать? В нашем коде, который отвечает за последовательное воспроизведение. Вновь открывайте обработчик N11Click и во второй условной ветке после строчки Form2.MediaPlayer1.play пишите:
    video:=true;
   
Теперь предусмотрены почти все варианты действий пользователя, за исключением одного когда юзер кликает по пункту меню Остановить слайд-шоу. Так как программно этот пункт меню находится в N11Click, надо изменить первое его условие. Найдите предпоследний оператор end обработчика и удалите точку с запятой. Прямо после end пишите:
    else begin
    Timer1.Enabled:=false;
    video:=false;
    end;
   
Теперь, если переменная is_show не равна true (то есть равна false), слайд-шоу остановится. Выключите таймер и переменную video. Обработчик N11Click готов. В конечном варианте он выглядит так:
    procedure TForm1.N11Click(Sender: TObject);

    var
    s:string;
    begin
    Is_show:= not is_show;
    case is_show of
    true:N11.Caption:=\'Остановить слайд-шоу\';
    false:N11.Caption:=\'Запустить слайд-шоу\';
Код, обслуживающий форму
№ 4, запрашивающую у
пользователя время задержки

    end;
    if is_show then begin
    if
form1.listbox1.ItemIndex<0 then form1.listbox1.ItemIndex:=0;
    s:=ExtractFileExt(listbox1.Items.Strings[listbox1.ItemIndex]);
    if (s=\'.dib\') or (s=\'.jpg\') or (s=\'.jpeg\')
    or (s=\'.bmp\') or (s=\'.ico\') or (s=\'.emf\') or (s=\'.wmf\') then
    begin
    Form2.Hide;
    Form3.image1.picture.loadfromfile(listbox1.Items.Strings[listbox1.ItemIndex]);
    Form3.Width:=Form3.image1.Picture.Width;
    Form3.Height:=Form3.image1.Picture.Height;
    Form3.image1.picture.loadfromfile(listbox1.Items.Strings[listbox1.ItemIndex]);
    Form3.Image1.Visible:=true;
    Form3.show;
    Timer1.Interval:=M*1000;
    Timer1.Enabled:=true;
    end;
    if (s=\'.avi\') or (s=\'.wav\') or (s=\'.mid\') then begin
    Form2.Show;
    Form3.Hide;
    if s=\'.avi\' then Form3.Show;
    Form3.Image1.Visible:=false;
    Form2.Mediaplayer1.Display:=Form3.Panel1;
    Form2.MediaPlayer1.FileName:=listbox1.Items.Strings[listbox1.ItemIndex];
    Form2.MediaPlayer1.Open;
    Form3.Width:=Form2.MediaPlayer1.DisplayRect.Right-Form2.MediaPlayer1.DisplayRect.left;
    Form3.Height:=Form2.MediaPlayer1.DisplayRect.Bottom-Form2.MediaPlayer1.DisplayRect.Top;
    Form2.MediaPlayer1.play;
    video:=true;
    end;
    end
    else begin
    Timer1.Enabled:=false;
    video:=false;
    end;
    end;
Вместо того чтобы делать новое
окошко О программе..., модно
взять стандартное окошко
Delphi и лишь слегка отредакти-
ровать в нем надписи. В Delph
i 6 это делается через опцию
File/New/Other/Forms/About
box.
    В обработчиках не хватает только операции запуска плеера. У нас уже есть готовый кусок кода для этого действия. Скопируйте его из N11Click, начиная со строки s:=ExtractFileExt(listbox1.Items.Strings[listbox1.ItemIndex]) и заканчивая предпоследним end.
    Перейдите в обработчик таймера и после последней комaнды вставляйте скопированный код. Не забудьте в локальном операторе var объявить строковую переменную s. Перейдите в OnNotify и пишите:
    if video and (mediaplayer1.Mode=mpStopped) then begin
    end;
   
Это условие мы уже детально разобрали. Между begin и end вставляйте код. Не забудьте объявить локальную строковую переменную s.
    Код мы поместили в другой модуль, а ссылаемся мы из этого кода на некоторые объекты первого модуля. Значит, второй модуль надо связать с первым. Перед самым обработчиком добавьте строку:
    uses unit1;
   
Теперь перед всеми упоминаниями listbox1 и Timer1 поставьте выражение form1. (прописывается слитно). Во второе условие обработчика (которое отвечает за ветвь картинок) вставьте строку:
    video:=false;
   
Запускайте медиа-комбайн и слайд-шоу. Все должно функционировать.

   Штрихи к портрету
   
Пришло время придать законченный вид комбайну. У нас осталось два необработанных пункта меню: Справка и О программе. Когда пользователь кликает по пункту Справка, должен открыться справочный файл программы в формате hlp (стандартная) или chm (продвинутая). Создание самого файла справки остается на вашей совести. Для этого существует множество программ, например ориентированный на любителей HTM2CHM или профессиональный HTML Help Workshop. Задача программиста прописать в обработчике этого пункта меню открытие файла справки. Соответствующий обработчик выглядит так:
    procedure TForm1.N13Click(Sender: TObject);
    begin
    ShellExecute(Application.Handle,\'open\',PChar(extractfilepath(application.exename)+\' help.hlp’),nil,nil,SW_SHOWNORMAL);
    end;
Одна из самых длинных
процедур в медиа-комбайне.
Но не так страшен черт, как
его... исходники! Стоит
разобрать “монстра” по
строчкам, и он становится
милым и пушистым.

   
Он состоит из одной довольно сложной комaнды. Ее основа функция ShellExecute, которая позволяет открыть любую папку, документ (в том числе веб-страницу), выполнить некоторые системные комaнды, а также запустить программу или скрипт. Вот такая
функция-многостаночник. Рассмотрим ее поподробнее (не забудьте в текущий раздел uses добавить модуль ShellAPI, которому принадлежит функция).
    Первый параметр функции ShellExecute дескриптор программы, которая осуществляет вызов. Пока не будем детально изучать, что такое дескриптор, иначе мы рискуем углубиться в основы API и ядра Windows. Неподготовленный программист там просто потеряется. Но в ближайших номерах мы обязательно рассмотрим ядро и API. Без этих знаний программист никогда не сможет стать профессионалом. Пока же вам будет достаточно знания, что дескриптор это своеобразный индекс, который указывает на конкретную программу. Зная дескриптор программы, с ней несложно совершить пpaктически любое действие. Получить дескриптор программы можно через свойство Application.Handle.
    Второй параметр текстовая строка, содержащая один из трех стандартных методов работы с файловыми объектами: open, print и explore. Open и print работают почти со всеми файлами, а explore только с папками. Open открывает документ, запускает другую программу или исполняет системную комaнду, print печатает документ, а explore открывает папку в окне Проводника. Сейчас нам нужно открыть файл справки как документ, поэтому выбираем метод open.
    Третий параметр это путь к открываемому документу. Выражение extractfilepath(application.exename) вам уже знакомо оно возвращает путь до конкретной программы, чтобы можно было адресоваться к файлам, которые лежат в той же папке.
    Далее следует указание на имя конкретного файла. Почему все выражение упрятано в скобки и перед ним стоит странный операнд Pchar? Дело в том, что Object Pascal (Delphi) не “родной” язык программирования для Windows. Традиционно программы для него писались на C++. Само ядро
Программа с заполненным
плейлистом
и API также написаны по большей части на С++, поэтому унаследовали особенности этого языка.
    В С++ нет переменных типа String. Зато есть массивы символов (тип Char). Каждая строка оканчивается так называемым терминатором (знаком #0). Поэтому при вызове функций ядра все строки приходится конвертировать в тип PChar (указатель на область памяти, занятый массивом типа Char). Для этого служит комaнда Pchar, которой мы воспользовались.
    В четвертом параметре хранятся параметры запуска. Так как мы запускаем не программу, этот параметр надо забить нулем nil.
    Пятый параметр также забиваем nil, потому что в нем должен храниться путь к рабочей папке программы.
    Последний параметр переменная, которая показывает, как должно отображаться на экране окно программы или документа после запуска. Нам нужен стандартный запуск, поэтом ставим сюда значение SW_SHOWNORMAL.
    Код для пункта меню О программе вы уже сможете написать самостоятельно действуя по аналогии.

    * * *

   
В вашем распоряжении мощнейший медиа-комбайн, который разве что носки не стирает и кашу не варит. Это и мощный слайд-шоу-генератор, и утилита для создания презентаций. Вы ждете домашних заданий? Их есть у нас. В комбайне во многих местах не проверяются вводимые значения. Например, если в окошке задания задержки для слайдов ввести не число, а букву, программа вылетит. Или, если открыть файл не того типа, появится сообщение об ошибке. Перехватить все эти ошибки и поставить надежную “защиту от Дypaка” ваша главная задача. Также можете несколько усовершенствовать комбайн, например добавить поддержку формата mp3. Но для этого вам придется обращаться к сторонним компонентам, так как в Delphi такой поддержки нет.
    В следующей статье, посвященной Delphi, мы займемся программированием оболочки для компакт-диска.


Создание и редактирование юнитов. Звероводство Warcraft III

"...Еще в редакторе карт для Starcraft'а можно было изменять многие параметры юнитов. Но модифицированный морпех всегда оставался лишь морпехом, а для создания полноценного юнита нужно было пользоваться внешними программами (а потом получить проблемы с им...

23 04 2024 7:59:24

Феномен польского шутера. История и перерождение

Польские шутеры... Определение, ставшее нарицательным. Вы слышали о них. Вы видели их. Вы, скорее всего, хоть раз шутили о них. И почти наверняка играли по меньшей мере в один такой проект. Вспомните юность. Вы прогуливались по магазину или вещевому…|Игромания...

22 04 2024 8:55:50

Ni No Kuni: Wrath of the White Witch

«…изучать мир за пределами ключевых заданий не хочется совершенно. Все красиво, но пусто и бестолково, бесконечно далеко от, навскидку, Skies of Arcadia или даже довольно камерной и тесной The Last Story. Внутри Ni no Kuni зияет огромная пропасть, возмути...

21 04 2024 3:25:24

Феномен машинимы. Другое кино

«…Мы часто говорим, что современные игры вроде Mass Effect, Heavy Rain или Uncharted все больше походят на кино. По зрелищности, постановке и проработке сюжета они могут поспорить с лучшими творениями голливудских режиссеров. Однако говорить о стирании гр...

20 04 2024 9:29:38

Протестировали LEGO Super Mario. Как Mario портировали в реальный мир

Игромании одной из первых в мире пришли на тест наборы LEGO Super Mario &mdash; и они меня удивили. Вместо ожидаемого чисто коллекционного набора я получил порт Super Mario Bros. в реальный мир. Рассказываю (и показываю!), как всё это играется,…|Игромания...

19 04 2024 13:12:35

Быстрый контакт. Тестирование линейки клавиатур Speedlink

Технические хаpaктеристики Speedlink Verdana Тип: классическая * Материал: пластик * Цвет: черный или белый * Длина кабеля: 1,5 м * Размеры: 42x12x2,5 см * Цена на январь 2012 года: 900 рублей Технические хаpaктеристики Speedlink Alterno Тип:…|Игромания...

18 04 2024 3:55:16

Не только в Dark Souls: как устроено непрямое повествование

В играх серии Souls довольно неочевидная мифология, а сюжет представляет собой головоломку, которую игрок складывает из кусочков информации по ходу приключения. Записки, диалоги, описания предметов — любая мелочь может стать ключом к пониманию…|Игромания...

17 04 2024 15:27:49

Amnesia: The Dark Descent

Эту статью хотелось бы начать словами Альфреда Хичкока: «Сравните две гипотетические сцены в фильме. Вот первая — представьте, что мы с вами так мило беседуем. А под столом, за которым мы сидим, пристроена бомба. Все тихо-мирно, и вдруг…|Игромания...

16 04 2024 3:34:11

Первый взгляд. Panzers

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

15 04 2024 1:16:25

Kingdom Hearts 3D: Dream Drop Distance

«…На очень японской портативной консоли вышла очередная очень японская игра. Здесь мальчики, больше похожие на девочек, бьют невзрачных монстров-желе мечами в форме дверных ключей. А потом в кадре внезапно появляются Гуфи и Дональд Дак. Они, как и Микки-М...

14 04 2024 7:45:29

Киберспорт. Deathzone

Counter-Strike &nbspПотрясающие модели вооружения, среди которых и замечательный Bloody Knife, призванный заменить исходную модель ножа на более кровавую, и винтовка американских морских пехотинцев, заменяющая всеми любимый автомат…|Игромания...

13 04 2024 15:13:15

The Shine of a Star

«…Однажды ночью на землю упала звезда, и теперь она бродит по лесу в виде маленького белого человечка, пытаясь забраться куда повыше и запрыгнуть оттуда домой…»...

12 04 2024 14:35:45

Киберчемпион в сверхтяжелом весе. SlayerS_Boxer

Каждый день он тратит на тренировки до 10 час...

11 04 2024 8:32:41

Правила игры Ивана Магазинникова

«…Я не люблю смотреть и читать то, о чем разом начинают вопить эти ваши интернеты, что вдруг становится трендовым, модным, попсовым. Обычно жду, когда спадет волна…»...

10 04 2024 13:26:52

Косплей недели: «Хранители», Valorant, Dragon Age, The Boys, «Ведьмак»

Шани &mdash; The Witcher 3 Наташа Кочеткова, широко известная на международной арене косплея как Narga, славится своими образами из вселенной Warcraft. Но не так давно дeвyшка поближе познакомилась со вселенной The Witcher, и следом за её…|Игромания...

09 04 2024 9:51:38

Железные новинки №17

Нетбук-трaнcформер Технические хаpaктеристики Операционная система: Windows 7 Home Premium * Дисплей: 10,1 дюйма (1024x600), сенсорный ЖК (мультитач), LED-подсветка * Процессор: Intel Atom N450, 1,66 ГГц * Оперативная память: 1/2 Гб DDR2-667 МГц *…|Игромания...

08 04 2024 8:52:28

«Люди в чёрном: Интернэшнл». Прости нас, Уилл...

Студия Sony позиционирует &laquo;Интернэшнл&raquo; как расширение &laquo;Людей в чёрном&raquo;, но на пpaктике фильм выглядит и ощущается как самый обыкновенный ремейк. Судите сами: главная героиня, зелёный новичок, получает в…|Игромания...

07 04 2024 3:24:54

Half-Life 3. История великой истерии

«…Вот уже шесть лет Valve мучает своих фанатов неопределенностью, и кто знает, сколько еще будет этим заниматься. Трудно следить за событиями шесть лет, поэтому мы подготовили для вас детальное криминалистическое расследование. Мы тщательно проследим весь...

06 04 2024 1:38:28

Ice Age: Dawn of the Dinosaurs

У игровой серии Ice Age интересная «история успеха». Первой части вообще не было. Вторая с подзаголовком The Meltdown оказалась чуть ли не лучшей аркадой по мультфильму — ярким прыжковым аттpaкционом про чокнутую саблезубую белку,…|Игромания...

05 04 2024 12:13:14

Руководство и прохождение по "Onimusha: Warlords"

Как же это, друзья? Человек глядит на вишни в цвету, А на поясе длинный меч! Керай Свершилось! Одна из лучших приставочных игр появилась на небосклоне игр компьютерных. Графика отличная (даже мимика разработана на хорошем уровне), а карты, против...

04 04 2024 10:23:29

Руководство и прохождение по "Plants vs. Zombies"

Море юмора, задачки самой разной сложности, различные тактики прохождения. Если вы не знаете, что такое Tower Defense, то это замечательный повод познакомиться. И что особо примечательно — в отличие от многих аналогичных игр, у нее есть лицо. И неважно, ч...

03 04 2024 4:44:26

Psychonauts

&nbsp;&nbsp;&nbsp; Вам никогда не хотелось узнать, о чем думают окружающие? Какие мысли роятся в голове маленькой дeвoчки, что с полуоткрытым от счастья ртом ставит клизму своей кошке? Зачем обитающий в соседней квартире выводок…|Игромания...

02 04 2024 5:47:57

Маск vs Zombies. Смогут ли творения изобретателя спасти нас от зомби-апокалипсиса?

Илон Маск отрицает разработку зомби-вируса для продвижения своих огнемётов. Но мы всё равно решили проанализировать, как его изобретения могут помочь справиться с зомби апокалипсисом....

01 04 2024 13:23:35

Игры + наука = ?

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

31 03 2024 12:20:59

Содержание диска №11/2017

Special Как мы участвовали в чемпионате России по JUST DANCEНа недавнем Игромире прошёл чемпионат России по танцевальной игре Just Dance 2017. Не побоялся принять в нём участие наш технический…|Игромания...

30 03 2024 20:31:53

ОТЕЧЕСТВЕННЫЕ ЛОКАЛИЗАЦИИ И ПРОЕКТЫ

Представляем вашему вниманию обновленный сводный список отечественных локализаций и проектов. Данная таблица состоит из двух разделов, которые, в свою очередь, разделяются на подразделы: 1)ПОСТУПИЛИ В ПРОДАЖУ. Сюда помещаются все те игры, котор...

29 03 2024 1:26:42

Dota 2

«…Игра использует стандартную для стратегий в реальном времени камеру и похожий интерфейс, однако сражения приправлены драйвом и элементами ролевых экшенов. Грубо говоря, выглядит и управляется Dota примерно как StarCraft 2, но вы не строите базу и распор...

28 03 2024 4:53:24

Cyberpunk 2077. Лучшая игра E3 2018

На закрытый показ Cyberpunk 2077 на минувшей Е3 2018 записывались с боем, а судачили больше, чем о какой-либо другой игре: &laquo;Ну что, ты уже был на &laquo;Киберпанке&raquo;? Как тебе?&raquo; &mdash;…|Игромания...

27 03 2024 20:46:36

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

26 03 2024 3:57:39

Обзор Vampire: The Masquerade - Coteries of New York. Почему это игра?

Игры по вселенной &laquo;Мира тьмы&raquo;, выросшие из настолок издательства White Wolf Publishing, задали высокую планку качества как для индустрии в целом, так и для франшизы Vampire: The Masquerade в частности. Поначалу и у Redemption, и…|Игромания...

25 03 2024 7:51:16

Destiny

«…массового фарма на пустошах, PvP-дуэлей и прочего в Destiny не будет. Каждый человек играет в отдельном хабе, под стеклянным куполом. В специально отведенных для этого местах и во время некоторых миссий мимо могут пробежать игроки из вашего списка друзе...

24 03 2024 13:10:44

Горячая линия: игрострой

24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адрес gamedev@igromania.ru и по SMS на короткий номер 1121 с префиксом #dev (в начале сообщения печатаете слово #dev, а затем, через пробел, сам вопрос). Стоимость…|Игромания...

23 03 2024 22:20:34

Mortal Kombat

«…мы так и не смогли придумать ни одной серьезной претензии к Mortal Kombat. Игра стильная, зрелищная, разнообразная, кровавая до истерического смеха и дружелюбная к пользователю. Она, в конце концов, идеально заменяет надоевший Guitar Hero в условном спи...

22 03 2024 2:49:21

Завтра война. Modern Warfare 2

из названия игры исчезло слово Call of Duty. Игра, про которую мы тут рассказываем, отныне называется Modern Warfare 2. «Мы все еще относимся ко вселенной Call of Duty, но это — отдельное произведение», — говорят Infinity Ward. Я с...

21 03 2024 20:26:52

Софтверный набор

&nbsp;&nbsp;&nbsp; ГВОЗДЬ НАБОРА&nbsp;&nbsp;&nbsp; SurfXpert 1.2.85&nbsp;&nbsp;&nbsp; Разработчик: Softshape Development&nbsp;&nbsp;&nbsp; Язык: русский&nbsp;&nbsp;&nbsp; Сайт:…|Игромания...

20 03 2024 3:44:55

А ручки-то вот они! Очная ставка Kinect и PlayStation Move

«…Технологическая победа, пожалуй, все-таки достанется Microsoft: для того чтобы отслеживать движения игрока во всех трех измерениях, Kinect не нужны никакие светящиеся «волшебные палочки», а кроме того, устройство видит и может использовать против вас лю...

19 03 2024 20:43:46

Overclocked

Эй, оператор, выключи камеру, я слепну! Немецкая студия House of Tales, как и многие новички, изрядно понабивала шишек в начале своего творческого пути, выпустив очень слабенькую адвенчуру The Mystery of the Druids. Впрочем, обильная крит...

18 03 2024 7:47:32

Обзор игры WRC 7. Багги и баги

&laquo;Левый два, осторожно, сужение дороги! Прямо пятьсот, прыжок! Правый три, не срез&aacute;ть! Осторожно, камни на обочине. Прямо через лужу, через шестьсот метров &mdash; финиш&raquo;. Поверьте, даже по пути на дачу вы сможете…|Игромания...

17 03 2024 11:57:52

Эволюция палки-копалки... или как размножаются джойстики

Homo Joystickus Знаете, как отличить человека от обезьяны? Как, спрашиваю я вас, вычлeнить из класса млекопитающих вид гуманоидов разумных? Остался ли хоть один интеллектуальный тест, способный однозначно определить: кто орангутанг, а кто слесарь...

16 03 2024 22:20:10

Дорожная история. Тестирование игровых рулей

«…Когда вы будете читать эти строки, на прилавках, возможно, уже появится следующая модель рулевого набора от Logitech — G27. Механизм обратной связи стал еще совершеннее: два мотора реалистично моделируют потерю сцепления с дорогой, нагрузки в поворотах...

15 03 2024 4:21:22

Final Fantasy XIII

С выходом каждой новой игры из серии Final Fantasy особо активные игроки обязательно устраивают против нее крестовый поход с целью доказать всем остальным, что новая &laquo;Последняя фантазия&raquo; на порядок хуже предыдущих. Занятие столь…|Игромания...

14 03 2024 5:41:19

Руководство и прохождение по "Blair Witch Project Volume 3: Elly Kedwardr"

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

13 03 2024 3:41:38

Во что играли 5, 10, 15 и 20 лет назад 

Во что играли 5 лет назадThe Sims Online Дата выхода: 2002Жанр: Разговорчики в строюИздатель/разработчик: Electronic Arts/MaxisИз всех онлайновых игр The Sims Online — самая умиротворенная. Обычный лытдыбр: пришел на вечеринку, гостей —…|Игромания...

12 03 2024 2:22:55

Энциклопедия третьего измерения, часть 5. Форсаж 3D

Для чего это знать гeймеру? Да хотя бы для того, чтобы не только понимать фразы вроде “у этого новейшего акселератора в два раза выше fillrate и в 4 раза больше видеопамяти”, но и наглядно представлять, насколько эти “в два раза” и “в четыре раза” сделают...

11 03 2024 12:33:24

Краткая история шутеров: часть I. От 70-х до конца 90-х

Что такое шутер от первого лица? Это игра, в которой мы видим окружающий мир как бы глазами своего персонажа. И этот мир обычно настроен враждебно, поэтому главным методом общения с ним выступает насилие. Именно &laquo;вид из глаз&raquo; и…|Игромания...

10 03 2024 23:55:23

Гайд: Genshin Impact Кадзуха. Лучшие билды, оружие, артефакты

В период своей жизни в Инадзуме Каэдэхара Кадзуха вытерпел много невзгод. Но сейчас этот стрaнcтвующий самурай готов бросить вызов любым неприятностям. Следуя собственному кодексу, он усилит вашу комaнду мастерством стихий, добавит Рассеивание в ваш…|Игромания...

09 03 2024 13:47:17

Hotline Miami 2: Wrong Number

«…Если все-таки попытаться описать происходящее в привычных игровых терминах, получится, что это хардкорный экшен со строгой, давно забытой top-down перспективой: камера висит перпендикулярно над теменем героя, ни на градус не отклоняясь от прямого угла....

08 03 2024 10:59:27

Вердикт. Championship Manager 2006

Championship Manager образца 2005 года ничем особенным не запомнился и принес поклонникам серии скорее разочарование. Ну а что же новая часть?Увы, Championship Manager2006 встречает нас все тем же неуклюжим интерфейсом. Обещают, правда, патч, н...

07 03 2024 4:20:16

Мобильные развлечения

НОВОСТИ * ПОЛЕЗНОСТИ * УТИЛИТЫ * ИГРЫ * ЗАСТАВКИ ДЛЯ МОБИЛЬНИКОВ“Под вопросом”, “А они все лезут и лезут, “Мобильники вытесняют обычные телефоны”, “Nokia открывает онлайновую службу Preminet” * English-Russian Dictionary, FExplorer 1.11 * Fly Submarine, O...

06 03 2024 1:44:34

Интересное в Сети

В этом выпуске: френды по плейлистам, поисковик по людям, сервер признаний и три миллиона смайликов. Также, как обычно, ежемecячный набор флэш-пожирателей времени....

05 03 2024 17:13:58

Еще:
Игры -1 :: Игры -2 :: Игры -3 :: Игры -4 :: Игры -5 :: Игры -6 :: Игры -7 :: Игры -8 :: Игры -9 :: Игры -10 :: Игры -11 :: Игры -12 :: Игры -13 :: Игры -14 :: Игры -15 :: Игры -16 :: Игры -17 :: Игры -18 :: Игры -19 :: Игры -20 :: Игры -21 :: Игры -22 :: Игры -23 :: Игры -24 :: Игры -25 :: Игры -26 :: Игры -27 :: Игры -28 :: Игры -29 :: Игры -30 :: Игры -31 :: Игры -32 :: Игры -33 :: Игры -34 :: Игры -35 :: Игры -36 :: Игры -37 :: Игры -38 :: Игры -39 :: Игры -40 :: Игры -41 :: Игры -42 :: Игры -43 :: Игры -44 :: Игры -45 :: Игры -46 :: Игры -47 :: Игры -48 :: Игры -49 :: Игры -50 :: Игры -51 :: Игры -52 :: Игры -53 :: Игры -54 ::