avatar

История начинающего или "Как я становлюсь разработчиком игр"

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

Аватарка вконтакте

Первым изученным мной языком программирования был C++ (Да, именно он, как ни странно «школьный» Pascal я выучил перед сдачей экзаменов ), его я учил на курсах в другой школе, которая находилась очень далеко. Постепенно тратить на поезду ежедневно (будучи школьником ~6 класса) 4 часа в день мне надоело и я стал самоучкой. Это, скорее всего, было моим «стартовым толчком», думаю, что в GameDev-индустрии умение учиться самостоятельно без учителей очень важно.

Начал создавать нормальные игры (не в стиле угадать число в консоли) я примерно лет 5 назад, первая моя игра была написана на ActionScript и представляла собой простой платформер с более-менее приемлемой графикой (Делал, если память не изменяет, на основе иностранных уроков flashgametuts.com/tutorials/as3/ сильно изменив исходный код). Идея создания игр оказалась очень интересной и «поглотила меня с головой». Доходило вплоть до того, что я конспектировал в тетрадь интересный мне код и заучивал, настолько сильное было желание научиться делать игры . Попутно я изучал разные языки, создание сайтов, рисование в разных программах, монтаж видео, создание музыки и много того, что могло помочь в Game Dev-e.

Вот снимок из моей первой созданный игры по урокам (сохранилась на компьютере!):
Пример

Поскольку Flash и код ActionScript встраивается в веб-страницы я начал заниматься еще и программированием на PHP, MySql, Javascript, HTML, CSS, начал изучать популярные PHP-фреймворки и уже был готов к созданию браузерной игры. Но это мне показалось «каплей» знаний в огромном мире разработки игр…

Естественно, если ты чего-то добился тебе хочется сделать это еще лучше, совершеннее. Так я приступил к изучению API для разработки трехмерных игр. Заодно подучил английский и высшую математику (хотелось использовать самое новое API, на котором работает мало конкурентов и вся информация по которым была на английском).  Использовать чужие движки я не хотел, я хотел заниматься разработкой игры с 0, кроме того, мне не хотелось платить проценты или показывать логотипы чужих движков при запуске. Основным языком программирования стал C++ и API DirectX11, на момент начала изучения довольно новое и поначалу потрясающее своими возможностями.

Постепенно у меня появился простой трехмерный движок, который я старался постоянно улучшить, внедрить в него новые технологии, сделать еще на начальном этапе лучше, чем у конкурентов . В начале 11 класса я узнал про конкурс молодых исследователей «Шаг в будущее», чтобы принять в нем участие надо победить во всех региональных этапах, затем поехать на конференцию с научной работой в Москву, заодно не проиграв в олимпиаде. Так я и сделал, научная работа была посвящена моему графическому движку на C++ и DirectX11, там я рассказал о его разработке, о всех инновациях в нем, но кроме основ, к сожалению, проект поняли только несколько несколько человек, зато интересно было всем, ведь разработка игр — одна из самых захватывающих тем в программировании.

Ниже снимок первой трехмерной модели, которая была выведена на экран с помощью моего движка (модель MilkShape, движок понимает 41 формат 3д моделей, используются разные библиотеки):
Первое 3д

А этот скриншот показывает вывод пользовательского интерфейса на flash с возможностью подключиться к уделенному игровому серверу:


Сам движок на тот момент это была куча тысяч строк кода (почти половина из которых, скорее всего, была закомментирована поскольку я еще учился и постоянно добавлял/убирал какие-то функции). Также у меня сохранилась часть презентации с доклада про основы, я там говорил о интегрированных библиотеках и сути движка: www.slideshare.net/DENISSISS/trofimov-stfe

В результате я принес домой два диплома — 1-ой и 2-ой степени и специальный приз «Золотую компьютерную мышь». Ниже на фото специальный приз и один из дипломов  :
Награды с конкурса

Надеюсь, что это поможет мне в поступлении. Я кстати недавно переехал в Краснодар и подаю на «прикладную математику и информатику» в КубГу (265 баллов ЕГЭ). Вот еще одно мое фото с золотой медалью (просто все эти фото сделаны совсем недавно):
Я с золотой медалью

Сейчас я создаю вторую версию движка, добавляю поддержку API Opengl, изменяю логику основных классов, стараюсь сделать код более совершенным (стремление к совершенству уже дошло до плагинов форматирования кода , в сам код я стараюсь интегрировать функции от библиотек boost, оптимизировать). Кроме того, я изучаю чужие движки и проекты, запоминаю лучшие программные решения, создаю моды для популярных движков и игр.

Имеется много идей для будущих проектов, основой будет реалистичная графика, бесконечный мир, полностью настраиваемый движок (модификации serverside, вплоть до изменения 3д шутера на 2д платформер парой строк кода ), что я и буду стараться запрограммировать в движке.

Надеюсь, что у меня еще большой путь разработчика игр и в будущем я внесу много нового в индустрию.
+4
1
873
  • 1 комментарий

    avatar
    Молодец. Конечно, вряд ли тебе удасться воплотить все фичи, но зато научишься программировать :)
    Чтобы оставить комментарий необходимо .