Пятница, 29 Марта 2024, 13:07

Приветствую Вас Гость

Меню сайта
Наш опрос
Сколько вы уже создали своих игр?
Всего ответов: 16611
Блог » 2013 » февраля » 24 » Написание Своего Игрового Движка: Часть 2
Написание Своего Игрового Движка: Часть 2
13:21
Вот и долгожданная вторая часть из серии уроков по написанию своего игрового движка. В данной части мы с вами подготовим наше рабочее пространство и разберёмся как будет выглядеть структура движка. Для начала в библиотеке классов подключим System.Drawing;.

Затем создаем наше рабочее пространство

Код
namespace YoureEngine  
{  

}

Затем разберёмся со структурой движка. Для физика будет использована внешняя библиотека и нет смысла добавлять её в основной код.
На данном этапе с физикой пока мы не работаем, так как нет смысла. По сути наш игровой движок не будет выделяться ни чем хорошим, скорее даже наоборот.
Вся основная суть движка лишь упрощение использования стандартных функций.

То есть в процессе разработки будет мне легче использовать функцию вида:

SpriteLoad ("путь");

Чем:
Sprite = new Bitmap("путь")

Конечно это так себе, но по сути в конечном итоге вам удастся сократить общий код игры в 1,5-2 раза.

Но перейдём ближе к делу.

Сами отдельные классы мы выносить во внешнюю среду не будем, пусть себе все хранятся в одном файле.

Но ближе к делу:
Добавляем в наше пространство основные классы.

Код
namespace YoureEngine  
{  
  class Graphics  
{  
  class Sprite  
{  
}
  class Background  
{  
}
}
  class Audio  
  {  

  }  
  class Physics  
  {  

  }  
  class Engine  
  {  

  }
  class Control  
  {  

  }  
}

Вот вам основной шаблон игрового движка.

В качестве библиотеки физики будем использовать Farseer Physics, хотя есть и Box2d C#, Physics2D.net и ещё многие другие.

Самое трудное при разработке такого рода движком, это создание системы сцен. С этим и мне придётся сильно позаморочиться, а как вы понимаете использование в игре не сцен, а форм не идёт какой-либо крупной игре к лицу.
Вот это и есть самое трудное.

Давайте напишем код класса Движка, но точнее говоря его основу.

Код
  
  string version = "0.1";  
  string author = "Musicfuns";  
  bool enginepower;  
  string fps

Но пока без методов работы.Собственно первые два пункта здесь не обязательны. Третий пункт нужен для "запуска" движка, хотя по сути и он не особо нужен, а четвертое это вывод fps.
Было проделано очень мало работы, но в следующей части я постараюсь уже начать работу с методами.

Категория: Разработка игр | Просмотров: 4133 | Рейтинг: 2.3/3 |
Теги: Движки, С# 2D Engine, 2D engine, С#, игровой 2D-движок, игровой движок, программирование, движок, ЯП, Написание Игрового Движка
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Написание Своего Игрового Движка: Часть 2», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 19
+1-
18 Undead   (05 Марта 2013 13:21) [Материал]
UndeadОн GDI заюзал biggrin

+3-
17 true_abrakadabra   (04 Марта 2013 10:43) [Материал]
true_abrakadabrafacepalm

+7-
12 Switch   (26 Февраля 2013 22:25) [Материал]
Switchwacko Я в осадок выпал от статьи. Как она может быть полезна и чем-то научить? Или автор будет писать эти уроки по движку всю жизнь? Ужас.

+-2-
11 NotJoy   (26 Февраля 2013 00:37) [Материал]
Автор ты меня вдохновил. Пошел писать ОС на C++. Правда она будет слегка надпоминать DOS. Да и функций маловато (если будут). Но ОС же все таки. Ах да я говорил что C++ я только учу. Все я побежал. dry

+17-
3 TreinDSM   (24 Февраля 2013 20:55) [Материал]
TreinDSMБоже, какая бесполезная статья.
Сударь, стесняюсь спросить, а сколько игровых движков Вы уже написали?

+5-
7 Robinzon787   (25 Февраля 2013 13:19) [Материал]
Robinzon787Какие могут быть двиги в 14 лет?

+4-
10 TreinDSM   (25 Февраля 2013 20:20) [Материал]
TreinDSMМеня больше интересует, какие могут быть статьи про написание движков, если ни одного движка не написал.

+4-
2 gorlumfan   (24 Февраля 2013 19:14) [Материал]
gorlumfanПри прочтении данного блога, мне стало жутко казаться что это промт biggrin

+3-
6 DonKorleone   (25 Февраля 2013 08:22) [Материал]
Аналогично.

+5-
1 TLT   (24 Февраля 2013 18:20) [Материал]
TLTЗапомни раз и навсегда - перед знаком препинания не ставится пробел. Он ставится только после, если далее следует новое предложение. Поправил твой материал, удалил эти идиотские пробелы. И читай правила.

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

+1-
4 Gavolot   (25 Февраля 2013 01:39) [Материал]
GavolotТа причем тут грамотность, проще сказать, что статья не о чем) А от того, что кто-то знает правописание лучше или хуже уж это точно не зависит. Текст можно отредактировать в ворде или отдать знакомому человеку)) Такую глупость городите в виде божественн

+6-
5 TLT   (25 Февраля 2013 02:43) [Материал]
TLTПри чем тут грамматика? Тут речь о том, что человек даже не знает как поставить точку, ни разу не видел печатный текст (не читал книги). Это показатель того, что он не может научить более сложным вещам, типа программирования.

+-2-
8 Kozливоsc   (25 Февраля 2013 18:05) [Материал]
Kozливоscна себя бы смотрел пару лет назад. Автор еще учится dry

+4-
9 shizofren   (25 Февраля 2013 18:29) [Материал]
shizofrenНу если он учится, то зачем об этом писать везде? Пусть себе учится тихо в сторонке, а не выставляет это на показ. А так он получает то, что заслуживает.

+2-
13 TLT   (28 Февраля 2013 15:13) [Материал]
TLTОн не учится, а учит. Я на его уровне (по программированию, например) был в 2005 году, наверное. Но тогда было сложнее - намного меньше инфы. Поэтому и был создан этот сайт. И я не против того, что он пишет свои мысли по поводу разработки движка, я только говорю ему, что нужно более грамотно подходить к делу.

+1-
14 DungeonLord   (01 Марта 2013 12:07) [Материал]
DungeonLordTLT, у тебя "бзык" на тему грамматики и правописания. Я конечно не пропагандирую неграмотность, но твоя критика в данном случае не обоснована. Если человек пишет не грамотно - это не значит, что он ни разу в жизни не видел (точнее не читал) книг. И при этом он может отлично разбираться в математике и программировании (лично знаком с такими) причины подобного мне самому не ясны, а бывает так, что русский язык просто для этого человека не родной и он многих вещей просто "не чувствует".

+1-
15 TreinDSM   (01 Марта 2013 19:51) [Материал]
TreinDSMПфф... Человек размещает статью на данном ресурсе, администратор в праве требовать, чтобы статья была оформлена согласно правилам ресурса. О чем тут речь? Он же не комментарий на форуме оставил и не сообщение в личку отправил.

+1-
16 DungeonLord   (02 Марта 2013 08:24) [Материал]
DungeonLordЯ не спорю с этим.
Дело не в том, что админ требует, а в том, что он еще и косвенно оскорбляет юзера. (Хотя полезность статьи действительно нулевая)
Просто иногда бывает, что начинают проверять текст, как на диктанте и вот это ИМХО уже маразм. Но необходимость корректирования элементарных ошибок, допущенных конкретно в этом случае, я ни в коем случае не отрицаю.

+1-
19 Gefak   (11 Марта 2013 13:34) [Материал]
"Пишешь в интернете не грамотно, потому что ты не на диктанте? Нет, просто ты неграмотное быдло"

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Автор материала
Ник:
musicfuns
Ещё:
Все его записи
Календарь заметок
«  февраля 2013  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728
Поиск по сайту
Записи по месяцам
Друзья сайта
Игровой форум GFAQ.ru Перевод консольных игр
Все права сохранены. GcUp.ru © 2008-2024 Рейтинг