Создание игр » Featured, Уроки » Графический движок
Графический движок
Графический движок уже давно пора бы оформить в виде отдельного проекта, а с нашими играми просто настроить его линковку – это значительно удобнее и, при этом, сокращает время компиляции самих игр. В общем, это будет скорее не урок – я просто расскажу вам, какие изменения я сделал в нашем проекте, который используется во всех уроках и поясню зачем я это сделал. Думаю, зачем я вынес отдельно графический движок пояснять особо не нужно – это просто удобно, и позволит нам использовать его (графический движок т.е.) в разных проектах, используя его как отдельную стороннюю библиотеку, которую достаточно просто прилинковать к нашим проектам, не забыв указать так же пути к его инклюдам, конечно же.
Итак, как я уже сказал, во-первых, я разделил наш демо-проект на два:
- Отдельно вынес классы движка и оформил их в виде отдельной библиотеки, в отдельной папке;
- Соответственно, убрал исходники движка из демы (проекта) 2д-игры и настроил линковку этого проекта с библиотекой нашего графического движка и указав в нём пути к инклюдам движка
Такое разделение в дальнейшем упростит работу с движком и создание новых проектов на его базе, но при этом, естественно, весь функционал движка будет на месте – загрузка текстур, шейдеров, работа со спрайтами и так далее. Заодно это заставит нас менее плотно связывать наши приложения (игры т.е.) с графическим движком – это важно, т.к. чем менее плотная между ними будет свзяь, тем проще нам будет переделывать и доделывать движок, при этом не разрушая работоспособность приложений.
Помимо этого, я настроил Dependencies проекта (правой кнопкой на проекте, Project Dependencies) нашей игры – теперь, в случае внесения каких-либо изменений в графический движок, при компиляции проекта игры, графический движок будет компилироваться автоматически.
Кроме того, я так же начал вносить небольшие изменения в графический движок (и не только), но о них буду рассказывать Вам позже, по мере завершения работ над каждым из изменений.
На этом пока всё. Исходники будут завтра.
Раздел: Featured, Уроки · Теги: Создание движка
+++++++++ ) Спасибо! Жду продолжения
L-ee-X, спасибо ) Продолжение будет уже завтра – сегодня, к сожалению, времени просто нет )
А когда продолжение будет? )
как только у Вячеслава найдется время, сразу появится урок
А можно поконкретнее – как ты разделил это всё на два проекта понятно, но как их связать друг с другом? Вкратце расскажи, если не сложно.
Честно говоря, сайт обалденный! Как раз искал материал по игровому программированию по свежей, и вот как раз всё как надо!
Хочется пожелать – ни в коем случае не бросайте это дело!
И вопрос: видел, мелькала новость тут у вас, что про матрицы расскажите поподробнее, чтобы у читателя не было вопросов и все было ясно с этой темой. А потом новость исчезла (или я найти не могу). Так вот, будет ли этот вопрос освещён подробнее или вы передумали? Например я закончил универ довольно довно, было бы здорово освежить матрицы.
Прошу прощения, два дня был очень занят ) Продолжение будет сегодня. В качестве “компенсации” за опоздание, постараюсь успеть сделать сразу несколько уроков ))
ArchiDevil, связать проекты друг с другом проблемы никакой не представляет, когда они находятся в одном солюшене. Да и когда не в одном, в общем-то, тоже ) Что для этого надо сделать:
1) как я уже писал выше, надо указать депендесы (зависимости) проектов друг от друга. Например, если игра зависит от движка, значит движок будет всегда ребилдится при компиляции игры (если в движок были внесены какие-то изменения, конечно же)
2) надо в игре указать (в настройках проекта) пути к инклюдам движка
3) что бы игра могла скомпилироваться с либой движка, надо так же указать путь к этой либе (это папка $Outdir проекта движка)
Вот эти три несложные пункта позволят использовать движок и игру как одно целое и собирать их одним кликом мышки )
Redline, спасибо за отзыв! Урок по матрицам планировать закончить сегодня – пишу его аж с четверга, очень много приходится вылизывать и многократно переписывать, что бы было максимально понятно. В общем, рассчитываю закончить сегодя.
С нетерпением жду продолжения
Спасибо огромное!
Ещё просьба, не бросайте и 2d движок-игру, тут тоже вроде бы много своих тонкостей (альфа-смешивание и пр.). Если, конечно, это не противоречит вашим планам.
Уроки ещё дописываю, видимо, опубликую только завтра уже (сегодня утром/днём точнее).
2д-игру бросать планов нет. Как я уже писал ранее – по меньшей мере есть планы развить её до полноценной игры, если получится (будет достаточно желающих продолжить рассматривать тему 2д), то разовьём ещё дальше.