Всем здравствуйте!
Многие из моих знакомых в последнее время интересовались чем я постоянно занимался практически во все свое свободное время. Большинство из них знало, что пишу игру, и на более говорил "позже, как настроение будет, напишу в блоге - почитаете". Так вот, время пришло, думаю!))
Не буду отступать от традиций и начну со вступления... Значит началось все 17-го февраля, когда мой преподаватель по программированию сказал мне замечательную новость:
--------------длинные занятия подготовкой к олимпиаде по кодингу---------------------
_______________вдруг сообщение в скайпе-------------------------------------------------
[17.02.2011 19:10:25] Дмитрий Сергеевич: забей на все, посмотри http://xpn.com.ua/task.php
[17.02.2011 19:11:13] Слабошпицкий Радомир: мм... я ща вообще делал ту гребаную задачу... на нее забивать не буду))
[17.02.2011 19:11:15] Слабошпицкий Радомир: ща гляну
[17.02.2011 19:12:00] Дмитрий Сергеевич: ну и попутно не забивая переводи
[17.02.2011 19:12:12] Слабошпицкий Радомир: ммм
[17.02.2011 19:12:20] Слабошпицкий Радомир: задания по кодингу?
[17.02.2011 19:12:58] Дмитрий Сергеевич: почитай шо за конкурс
[17.02.2011 19:13:42] Слабошпицкий Радомир: но ведь там нет описания..
[17.02.2011 19:14:04] Слабошпицкий Радомир: просто типа зделай задание
[17.02.2011 19:14:06] Слабошпицкий Радомир: за приз
[17.02.2011 19:14:13] Слабошпицкий Радомир: хотя приз неплохой)
[17.02.2011 22:07:21] Слабошпицкий Радомир: а эта игра на курсач потянет?
[17.02.2011 22:07:45] Дмитрий Сергеевич: на диплом
Увидел я это задание, обалдел немного... Описание игры на одну страницу, требований на 3... В кратце о задании:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pathman
Идея игры основана на знаменитой 2D игре: Pacman. Игрок управляет главным героем, двигающимся по игровому полю, собирающим монеты и увиливающим от врагов
Рис 1: Pathman, Демо версия
§ Игра должна быть в 3D
§ Игровое поле: максимальный размер 16х16. Игровое поле должно содержать следующую информацию:
· количество и расположение монет
· Количество и стартовая позиция врагов
· Стартовая позиция главного героя (MC – Main Character)
· Препятствия: есть только один вид препятствий: стены. MC не может перемещаться по коробкам.
§ У игрока есть три жизни, одна из которых сгорает в момент поимки MC врагом.
§ Победа/проигрыш: если количество жизней равно нулю, игрок проигрывает. В противном же случае, и если он собрал все монеты, он выигрывает игру.
§ MC передвигается немного быстрее врага. В момент поимки врагом, MC на 3 секунды становится невидимым. В этом состоянии враг не может его поймать.
§ Размер экрана игры (WxH): 800x600
§ Игрок использует W/A/S/D для движения MC
§ <Space> для паузы/возобновления игры
§ MC автоматически движется в одном направлении, пока не столкнется со стеной или игрок не изменит его направление.
§ Движение мышки вправо-влево/вниз-вверх для движения платформы.
· Вверх-вниз по оси X
· Влево-вправо – по оси Y
§ Game Flow представлен следующей схемой:
Рис 2: Game Flow
§ Должен быть создан один уровень игры.
§ Инструменты:
· IDE: Visual C++ 2008 Express edition
· Язык: C/C++
· Игровой движок Irrlicht (http://irrlicht.sourceforge.net)
§ Кроме предоставленных ресурсов (изображения, 3D Модели, звуки) можно использовать ресурсы, найденные в интернете. [1]
§ В случае использования других ресурсов (кода, gfx и т.д), необходимо указать все источники (ссылки) в файле readme.txt (и, опционально, в разделе About).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Надеюсь, вы офигели не на столько, на сколько яJ. В общем, была поставлена довольно большая задача... Учитывая, что я вообще не имел представления о работе с какими-либо графическими движками... Да и с данной средой программирования дела не имел.
Зайдя на сайт движка, обнаружил 15 уроков, на которых расписывается полностью описание работы с движком фактически "на пальцах" (к счастью с английским у меня проблем нет). В общем, принялся за работу где-то через неделю после объявленной мне новости. К сожалению скринов первых этапов работы не сохранил, да и там нету особо ничего интересного... Через время у меня уже была некая рабочая платформа игры: поле, монетки, стенки, герой, монстры, управление героем и сбор монеток (ну и одна карта для игры):
Правда, монстры, еще ходили сквозь текстуры и не крутились.
Далее еще две недели напряженной работы (ну, естественно, большинство работы было выполнено в последние дни) и вуаля! Почти рабочая игра! Саму игру вы можете оценить в прилогающемуся к посту файлу, буду рад оценщикам за мнения :)
Кстати, нашел еще одну крутую картинку! Это мой преподаватель по программированию изучал как можно вставить картинку на поле игры (вставить решил оригинальное лого)) xD :
Ну и на последок самое вкусненькое))
Вчера (по дате вчера, но, т.к. не ложился спать, для меня это еще сегодня) пришло очень интересное письмецо на почту (далее выдержка из письма):
-----------------------------------------------------------------------------------------------------------------------------------------------------
Здравствуйте, Радомир!
От имени оргкомитета первого в Украине конкурса среди разработчиков видео игр Extreme Programming Night, поздравляю Вас с успешным прохождением отборочного этапа соревнования.
Вы стали финалистом Extreme Programming Night!
Финал конкурса состоится в ночь с 26 на 27 марта.
Начало мероприятия в 21:00
Мероприятие продлится до 8 утра 27 марта 2011 года.
-----------------------------------------------------------------------------------------------------------------------------------------------------
И только в этот момент я понял людей из конкурса "Танцуют все" украинского, которым говорят "Вы едете в Ялту!"))))) Бешеное настроение прыгать по квартире от этого приглашения, чувства не передаваемые)) А ведь после отборочного тура проходит лишь 50 человек... И я вхожу в 50 лучших разработчиков-аматоров видео-игр Украины))) Круто))))
ПыСы: Если кому интересны исходники игры - пишите на почту с пояснениями что именно надо, помогу.