| 
				
				Как устроен движок к 2d игре?
				 |   |  
| Володькэ | Дата: Понедельник, 24 Марта 2014, 20:42 | Сообщение # 1 |  
 
частый гость 
Сейчас нет на сайте 
 
 |  Здравствуйте, добродушные форумчане джиса! Прошу помочь начинающему игроделу.    Я неплохо знаком с GML ровно так-же как и с C++. Хотел бы узнать как работают движки для игр, что за роль они выполняют, как реализовать движок в программном коде?   Для меня важно не просто сделать игру, нет, так и любой дурак может, важно для меня понять как она устроена.
  Game Maker it's me!   New West   New West На доске проектов
 |  
| 
 | 
 |    |  
| Snuux | Дата: Понедельник, 24 Марта 2014, 21:31 | Сообщение # 2 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | посмотри исходники HGE, SDL, SFML, ClanLib.
 |  
| 
 | 
 |    |  
| OpenGOO | Дата: Вторник, 25 Марта 2014, 00:03 | Сообщение # 3 |  
 
почти ветеран 
Сейчас нет на сайте 
 
 | Основная цель игрового движка это отделить игровую логику от не игровой. 
   Загляни в код FlashPunk это один из самых простых и понятных 2D движок. 
   При простой реализации движка всё сводится к его инициализации, например задаётся размер окна, может устанавливается частота кадров в секунду, а затем запускается игровой цикл, вот и всё. 
   Простой игровой цикл 
   Код while (true)   {     processInput();     update();     render();   }   
   processInput может стоять после update или может вообще отсутствовать.
  Мои проекты:   - Свободный и открытый клон World Of Goo   - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC) 
   [GameMaker: Studio v1.4.9999]
 |  
| 
 | 
 |    |  
| Ordan | Дата: Вторник, 25 Марта 2014, 02:52 | Сообщение # 4 |  
 
Главный зомби 
Сейчас нет на сайте 
 
 | Лучшие ничего не смотреть и писать самому, так больше профит. 
   Если 2д движок то делишь карту на блоки к примеру 40*40 пикселей. Создаешь массив записей к примеру 
   Код     for i:=0 to 100 do    for j:=0 to 100 do     begin      Блок[i,j].КартинкаХ:=1;      Блок[i,j].КартинкаУ:=3;      Блок[i,j].Проходимость:=1;      Блок[i,j].Название:='Трава';      Блок[i,j].ИдОбъекта:=0;      Блок[i,j].Простматриваемый:=true;     end;      
   К этот код создает карту 100*100   параметры КартинкаХ, КартинкаУ отвечают за расположение спрайты блока в тайлсэте, похожим способом создаешь объекты, персонажей и тп.
  Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2) 
   Мои проекты ТЫК   Мои видяхи на ютубэ ТЫК 
   Если ты споришь с идиотом, вероятно тоже самое делает и он.
 |  
| 
 | 
 |    |  
| vados4266 | Дата: Вторник, 25 Марта 2014, 03:07 | Сообщение # 5 |  
 
частый гость 
Сейчас нет на сайте 
 
 | Цитата Ordan (  )  Если 2д движок то делишь карту на блоки к примеру 40*40 пикселей. Создаешь массив записей к примеру      ШТА?   Гениально, как я раньше не допер.   Не путай человека бредятиной.
 |  
| 
 | 
 |    |  
| OpenGOO | Дата: Вторник, 25 Марта 2014, 03:19 | Сообщение # 6 |  
 
почти ветеран 
Сейчас нет на сайте 
 
 | Цитата Ordan (  )  Лучшие ничего не смотреть и писать самому, так больше профит.   
   В чём профит в велосипедостроение?)
  Мои проекты:   - Свободный и открытый клон World Of Goo   - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC) 
   [GameMaker: Studio v1.4.9999]
 |  
| 
 | 
 |    |  
| Ordan | Дата: Вторник, 25 Марта 2014, 03:45 | Сообщение # 7 |  
 
Главный зомби 
Сейчас нет на сайте 
 
 | Цитата vados4266 (  )  ШТА?   Гениально, как я раньше не допер.   Не путай человека бредятиной.     Я не тебе это писал, начинать надо с основ. 
   Цитата OpenGOO (  )  В чём профит в велосипедостроение?)      Цитата Володькэ (  )  Хотел бы узнать как работают движки для игр, что за роль они выполняют, как реализовать движок в программном коде?    
   Может в том что бы понять и научиться?
  Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2) 
   Мои проекты ТЫК   Мои видяхи на ютубэ ТЫК 
   Если ты споришь с идиотом, вероятно тоже самое делает и он.
 |  
| 
 | 
 |    |  
| allxumuk | Дата: Вторник, 25 Марта 2014, 04:25 | Сообщение # 8 |  
 
старожил 
Сейчас нет на сайте 
 
 | Цитата Ordan (  )  Может в том что бы понять и научиться?      Чтобы понять, как сделать велосипед, нужно посмотреть хотя бы на один велосипед, а лучше несколько, и желательно разобрать.
  Любой дурак может написать программу, которую поймёт компилятор.   Хорошие программисты пишут программы, которые смогут понять другие программисты.
 |  
| 
 | 
 |    |  
| Ordan | Дата: Вторник, 25 Марта 2014, 05:30 | Сообщение # 9 |  
 
Главный зомби 
Сейчас нет на сайте 
 
 | Цитата allxumuk (  )  Чтобы понять, как сделать велосипед, нужно посмотреть хотя бы на один велосипед, а лучше несколько, и желательно разобрать.      Это уже зависит от человека, кому-то проще так, а кому-то нет.   Развели флуда, лучшеб ответили на вопрос ТСа.
  Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2) 
   Мои проекты ТЫК   Мои видяхи на ютубэ ТЫК 
   Если ты споришь с идиотом, вероятно тоже самое делает и он.
 |  
| 
 | 
 |    |  
| vados4266 | Дата: Вторник, 25 Марта 2014, 06:09 | Сообщение # 10 |  
 
частый гость 
Сейчас нет на сайте 
 
 | Цитата Ordan (  )  Развели флуда, лучшеб ответили на вопрос ТСа.      Ответ выше! OpenGOO, Snuux, достаточно сказали.   Вот еще Статейка.
 
 Сообщение отредактировал vados4266 - Вторник, 25 Марта 2014, 06:12  |  
| 
 | 
 |    |  
| Wookie | Дата: Вторник, 25 Марта 2014, 06:10 | Сообщение # 11 |  
 
Decembear 
Сейчас нет на сайте 
 
 | Цитата Володькэ (  )  Для меня важно не просто сделать игру, нет, так и любой дурак может, важно для меня понять как она устроена.     Чтобы делать игру, надо знать, как она устроена.
 
  
 |  
| 
 | 
 |    |  
| Ordan | Дата: Вторник, 25 Марта 2014, 06:12 | Сообщение # 12 |  
 
Главный зомби 
Сейчас нет на сайте 
 
 | Цитата vados4266 (  )  Ответ выше! OpenGOO, Snuux, достаточно сказали.       тяжелый случай, не говори за других ок? ТС сам решил достаточно ему сказали или нет.
  Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2) 
   Мои проекты ТЫК   Мои видяхи на ютубэ ТЫК 
   Если ты споришь с идиотом, вероятно тоже самое делает и он.
 |  
| 
 | 
 |    |  
| Wookie | Дата: Вторник, 25 Марта 2014, 06:14 | Сообщение # 13 |  
 
Decembear 
Сейчас нет на сайте 
 
 | Код 'Kirill Engine. Движок для кириллов.   dir = Program.Directory   GraphicsWindow.KeyUp = KeyUpd   GraphicsWindow.KeyDown = KeyUpd   GraphicsWindow.MouseDown = MouseUpd   GraphicsWindow.MouseUp = MouseUpd   LastKey = GraphicsWindow.LastKey 
   false = "false"   true = "true" 
   GraphicsWindow.Show()   GraphicsWindow.Title = "Kirill Engine. SBGC 2 fork, lol."   exit = false        'Загрузка   Sub Load   EndSub 
   'Обновление   Sub Update   EndSub 
   'Отрисовка. Если честно, то можно все это делать и в Update, но я для ясности оставлю.   Sub Draw   EndSub 
   'Инициализация компонентов и цикл   Load()   While (exit = false)     Program.Delay(1000/60)     Update()     Draw()   EndWhile 
   Sub KeyUpd   EndSub 
   Sub MouseUpd   EndSub     Вот исходный код SBGC 2.0 (точнее, это мой форк, но по сути - это оригинальный SBGC), если что.
 
  
 |  
| 
 | 
 |    |  
| JackNazaryan | Дата: Вторник, 25 Марта 2014, 17:23 | Сообщение # 14 |  
 
старожил 
Сейчас нет на сайте 
 
 | Движок - ядро - основа.
 |  
| 
 | 
 |    |  
| -l33t-h4xx- | Дата: Четверг, 27 Марта 2014, 09:01 | Сообщение # 15 |  
 
участник 
Сейчас нет на сайте 
 
 | Вопрос глупый и неграмотный. Что автору нужно: пошаговое руководство по созданию движков? Их строение, их роль? Почему он не хочет нам рассказать, что он уже знает о движках, какие трудности у него возникают?   Надеюсь, он достаточно склонен к сотрудничеству, чтобы объяснить эти моменты и не призывать в свою тему потоки бреда, вроде того, что выше.
  Как правильно задавать вопросы
 |  
| 
 | 
 |    |  
| Akyltist | Дата: Пятница, 28 Марта 2014, 08:05 | Сообщение # 16 |  
 
заслуженный участник 
Сейчас нет на сайте 
 
 | Цитата Володькэ (  )  Я неплохо знаком с GML ровно так-же как и с C++. Хотел бы узнать как работают движки для игр,        Картинка защищена авторскими правами. Использование где либо в других местах - запрещено!   Цитата Володькэ (  )  что за роль они выполняют     вывод графики   работа с файлами (не всегда)   вывод звука (не всегда)   сеть (не всегда)   и т.д.   Цитата Володькэ (  )  как реализовать движок в программном коде?   Я неплохо знаком и с C++.     Протеворечащие "вопрос" и "утверждение". В прочем ответ был выше, открываешь чужое и смотришь - как оно работает (это самый простой метод).
 |  
| 
 | 
 |    |     
		
		 
 |