Описание: Этот проект посвящен созданию упрощенного трехмерного графического изображения рельефного ландшафта.
- Предисловие
- Вступление
- Цели
- Общие инструкции
- Обязательная часть
- Бонусная часть
- Представление и Экспертная оценка
Вот что Википедия говорит о Ghosts’n Goblins:
Ghosts'n Goblins - это платформенная игра, в которой игрок управляет рыцарем по имени сэр Артур, который должен победить зомби, огров, демонов, циклопов, драконов и других монстров, чтобы спасти принцессу Прин Прин, похищенную королем Сатаной. Мира Демонов. По пути игрок может подбирать новое оружие, бонусы и дополнительные доспехи, которые могут помочь в этом задании.
Игра часто считается очень сложной по аркадным стандартам и обычно считается одной из самых сложных игр из когда-либо выпущенных. Игрока можно ударить только дважды, прежде чем он потеряет жизнь (первое попадание снимает броню Артура, и игрок должен продолжать движение в нижнем белье, пока не завершит уровень или не найдет замену броне). Если игрок теряет жизнь, он возвращается в начало уровня или на полпути, если ему удалось зайти так далеко. Более того, каждая жизнь может длиться только определенное время (обычно около трех минут), при этом часы сбрасываются в начале уровня. Если часы действительно заканчиваются, игрок мгновенно теряет эту жизнь.
После победы над финальным боссом, но только с помощью перекрестного оружия (если у игрока нет перекрестного оружия, ему будет предложено победить босса и перезапустить его в начале уровня 5 и повторить раунд 5 и 6. опять же, независимо от того, было ли получено оружие немедленно или нет) впервые игроку сообщают, что битва была ловушкой, изобретенной сатаной. Затем игрок должен переиграть всю игру на более высоком уровне сложности, чтобы достичь настоящего финального сражения.
-
Порты:
Многие модификации домашних компьютеров были произведены компанией Elite Systems.
- Версия Commodore 64, выпущенная в 1986 году, известна своей музыкой Марка Кукси, заимствованной из Прелюдии №20 Фредерика Шопена. Из-за ограниченных ресурсов Commodore 64 она несколько отличалась от аркадной версии. В этом порядке представлены только Кладбище и Лес, Ледяной дворец, Плавучие платформы, Огненный мост и Пещеры. Игрок также начинает игру с пятью жизнями. Демон, похитивший принцессу, заменяет Астарот на титульном экране. Кроме того, циклоп (или «Единорог») - босс с первого по третий уровень, а дракон - последний босс.
- Версия для Commodore 16/116 и Commodore Plus / 4, также выпущенная в 1986 году компанией Elite Systems, была даже более ограниченной, чем версия C64. Он был написан для работы на Commodore 16, у которого было всего 16 КБ ОЗУ. Поэтому в этой версии всего два уровня и нет музыки. Кроме того, оставшиеся два уровня и игровой процесс упрощены. Например, на уровне кладбища атакующая птица, «растительные монстры» и крылатый демон отсутствуют в версии C16, и есть только одно оружие. На титульном экране нет графики, кроме стилизованной надписи Ghosts 'n Goblins.
- Версия для Commodore Amiga была выпущена в 1990 году. Хотя продвинутое оборудование Amiga позволило почти идеально преобразовать аркадную игру, она не смогла имитировать успех версии Commodore 64. Игрок начинает игру с шестью жизнями, и музыка не воспроизводится, если на Amiga не было хотя бы 1 мегабайта оперативной памяти. Стандартная конфигурация Amiga 500 составляла 512 килобайт.
- Версия NES была разработана Micronics. Это также служит основой для версии Game Boy Color, в которой используются пароли, позволяющие игроку переходить на определенные уровни. Версия NES была портирована на Game Boy Advance как часть серии Classic NES, но только в Японии.
- Версия NES также была повторно выпущена для загрузки для виртуальной консоли Nintendo в Северной Америке 10 декабря 2007 г. (Wii) и 25 октября 2012 г. (Nintendo 3DS) и в регионе PAL 31 октября 2008 г. (Wii) и 3 января. , 2013 (Nintendo 3DS), а версия для Wii U была выпущена в обоих регионах 30 мая 2013 г. Аркадная версия была выпущена на аркаде виртуальной консоли Wii в Японии 16 ноября 2010 г., в регионе PAL 7 января 2011 г. и в Северной Америке 10 января 2011 г.
- Ghosts’n Goblins также были портированы на ZX Spectrum, Amstrad CPC, MSX, Atari ST, совместимые с IBM PC, Game Boy Color, Game Boy Advance. Оригинальная аркадная версия игры также была включена в сборник Capcom Generations Vol.2: Chronicles of Arthur для PlayStation (в Японии и Европе) и Sega Saturn (только в Японии), который также содержал Ghouls'n Ghosts и Super Ghouls. 'n Призраки. Эти три игры (основанные на их версиях Capcom Generation) были позже собраны как часть Capcom Classics Collection. Игра также была представлена в сборнике Capcom Arcade Cabinet для PlayStation 3 и Xbox 360.
-
Прием
- Computer Gaming World назвал Ghosts’n Goblins «отличным примером того, что [NES] может делать ... хотя и не является новаторским, но представляет собой игру, сделавшую Nintendo известной». Ghosts ’n Goblins заняли второе место в категории" Аркадная игра года "на церемонии вручения наград Golden Joystick Awards. Версия Ghosts ’n Goblins для NES заняла 129-е место среди лучших игр, созданных для системы Nintendo, в списке 200 лучших игр Nintendo Power. Он также был бестселлером для NES, продав 1,64 миллиона устройств. Ghosts ’n Goblins часто приводят в качестве примера одной из самых сложных игр всех времен из-за ее чрезвычайного уровня сложности и того факта, что игрок должен пройти игру дважды, чтобы пройти игру.
-
Наследие
- За Ghosts’n Goblins последовала серия сиквелов и спин-оффов, которые в конечном итоге стали 8-й самой продаваемой серией игр Capcom, проданной более 4,4 миллиона единиц. Его сиквелы включают Ghouls’n Ghosts, Super Ghouls’n Ghosts и Ultimate Ghosts’n Goblins, а также продюсируют серию Gargoyle’s Quest и Maximo. Несмотря на то, что франшиза зародилась как аркадная, она была представлена на различных ПК и игровых консолях с последними записями серии Ghosts ’n Goblins: Gold Knights, выпущенными для iOS. Кроме того, франшиза часто появляется в эпизодических эпизодах - в частности, об Артуре - в других играх Capcom, последней из которых является Ultimate Marvel vs. Capcom 3.
Изображение ландшафта в 3D - важнейший аспект современного картографирования. Например, в наше время пространственных исследований получение трехмерного изображения Марса является предварительным условием его покорения. В качестве другого примера, сравнение различных трехмерных изображений области высокой тектонической активности позволит вам лучше понять эти явления и их эволюцию и, как следствие, лучше подготовиться.
Сегодня ваша очередь моделировать в 3D великолепные пейзажи, вымышленные или нет ...
В этом проекте вы откроете для себя основы графического программирования, в частности, как размещать точки в пространстве, как соединять их с сегментами и, что наиболее важно, как наблюдать за сценой с определенной точки зрения.
Вы также откроете для себя свою первую графическую библиотеку: miniLibX. Эта библиотека была разработана внутри компании и включает минимум, необходимый для открытия окна, освещения пикселя и обработки событий, связанных с этим окном: клавиатуры и мыши. Этот проект знакомит вас с программированием «событий».
- Ваш проект должен быть написан в соответствии с Нормой. Если у вас есть бонусные файлы / функции, они включены в проверку нормы, и вы получите 0, если внутри есть ошибка нормы.
- Ваши функции не должны неожиданно завершаться (ошибка сегментации, ошибка шины, двойное освобождение и т. Д.), За исключением неопределенного поведения. Если это произойдет, ваш проект будет считаться нефункциональным и получит 0 во время оценки.
- При необходимости все пространство памяти, выделенное кучей, должно быть должным образом освобождено. Утечки недопустимы.
- Если субъект требует этого, вы должны отправить Makefile, который скомпилирует ваши исходные файлы в требуемый вывод с флагами -Wall, -Wextra и -Werror, и ваш Makefile не должен повторно связываться.
- Ваш Makefile должен содержать как минимум правила $ (NAME), all, clean, fclean и re.
- Чтобы превратить бонусы в свой проект, вы должны включить бонус правила в свой Makefile, который добавит все различные заголовки, библиотеки или функции, запрещенные в основной части проекта. Бонусы должны быть в другом файле _bonus. {C / h}. Оценка обязательной и бонусной части проводится отдельно.
- Если ваш проект позволяет вам использовать ваш libft, вы должны скопировать его исходный код и связанный с ним Makefile в папку libft с соответствующим Makefile. Makefile вашего проекта должен скомпилировать библиотеку, используя свой Makefile, а затем скомпилировать проект.
- Мы рекомендуем вам создать тестовые программы для своего проекта, даже если эту работу не нужно будет отправлять и оценивать. Это даст вам возможность легко проверить свою работу и работу коллег. Вы найдете эти тесты особенно полезными во время защиты. Действительно, во время защиты вы можете использовать свои тесты и / или тесты партнера, которого вы оцениваете.
- Отправьте свою работу в назначенный репозиторий git. Оцениваться будет только работа в репозитории git. Если DeepThreadt назначен для оценки вашей работы, это будет сделано после ваших оценок коллег. Если во время выставления оценок Deep Threatt в каком-либо разделе вашей работы произойдет ошибка, оценка будет остановлена.
- Этот проект будет исправляться только людьми. Итак, не стесняйтесь организовывать и называть свои файлы по своему усмотрению, но в пределах перечисленных здесь ограничений.
- Исполняемый файл должен называться fdf.
- Вы должны отправить Makefile.
- Вы не можете использовать глобальные переменные.
- Вы должны использовать miniLibX. Либо в той версии, которая доступна в системе, либо из ее исходников. Если вы решите работать с исходными текстами, вам нужно будет применить к вашей libft те же правила, что и написанные выше.
- Для обязательной части вам разрешено использовать следующие функции:
- open, read, write, close
- malloc, free
- perror, strerror
- exit
- Все функции, определенные в математической библиотеке (-lm и man 3 math)
- Все функции, определенные в библиотеке miniLibX.
- Вам разрешается использовать другие функции для завершения бонусной части, если их использование оправдано во время вашей оценки. Быть умным!
- Вы можете задать свои вопросы на форуме, в Slack и т. Д.
Этот проект посвящен созданию упрощенного графического «каркасного» («fils de fer» на французском языке, отсюда и название проекта) представления рельефного ландшафта, соединяющего различные точки (x, y, z) с помощью сегментов. Координаты этого ландшафта хранятся в файле, передаваемом вашей программе в качестве параметра. Вот пример:
$>cat 42.fdf
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 10 10 0 0 10 10 0 0 0 10 10 10 10 10 0 0 0
0 0 10 10 0 0 10 10 0 0 0 0 0 0 0 10 10 0 0
0 0 10 10 0 0 10 10 0 0 0 0 0 0 0 10 10 0 0
0 0 10 10 10 10 10 10 0 0 0 0 10 10 10 10 0 0 0
0 0 0 10 10 10 10 10 0 0 0 10 10 0 0 0 0 0 0
0 0 0 0 0 0 10 10 0 0 0 10 10 0 0 0 0 0 0
0 0 0 0 0 0 10 10 0 0 0 10 10 10 10 10 10 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
$>
Каждому числу соответствует точка в пространстве:
- Горизонтальное положение соответствует его оси.
- Вертикальное положение соответствует его ординате.
- Значение соответствует его высоте.
Если вы запустите свою программу fdf для этого файла, мы должны увидеть что-то вроде этого:
$>./fdf 42.fdf
$>
Не забудьте оптимально использовать ваш libft! Использование get_next_line, ft_split и ft_getnbr позволит вам быстро и просто читать данные из файла.
Помните, что цель этого проекта - не разбирать карты! Это не означает, что ваша программа может аварийно завершить работу ... это означает, что карта, содержащаяся в файле, будет правильно отформатирована.
Что касается графического изображения:
-
Ваш fdf-файл должен отображать карту в изометрической проекции.
-
Вы должны иметь возможность выйти из программы, нажав 'esc'.
-
Использование изображений из minilibX не требуется для валидации проекта, даже мы настоятельно рекомендуем вам их использовать.
-
Найдите прикрепленный двоичный файл с именем fdf, а также пример 42.fdf внутри fdf.zip).
man mlx
Обычно мы советуем вам добавлять свои собственные оригинальные бонусы, но есть и другие графические проекты, которые ждут вас гораздо интереснее !! Не сходите с ума, двигайтесь вперед быстро!
Вы получите дополнительные очки, если сможете:
-
Включите дополнительный выступ (например, параллельный или конический)!
-
Было бы здорово иметь возможность увеличивать масштаб и переводить карту, не так ли?
-
А как насчет поворота карты?
Отправьте свою работу в репозиторий GiT как обычно. Оценивается только работа над вашим репозиторием. Удачи! :)