www.G-2B.com www.G-2B.com
форум сайта проекта "ЮКисП"
 Помощь      Поиск      Участники


 Страниц (12): « 1 [2] 3 4 5 6 7 8 9 ... » В конец    

> Описание: Игра про строительство
krre
Отправлено: 12 Мая, 2016 - 18:49:13
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




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

Вроде пришло ощущение, что начинать надо с таймера. Таймеры - это основа игры, они задают скорость выполнения действий независимо от скорости процессора. Помните, в 90-х годах были игры, которые, чем быстрее процессор, тем лихорадочнее бегали? Это была простая, но ущербная техника. Теперь так не делают, и движок привязывают не к процессору, а к таймеру. Если процессор работает быстрее, чем нужно для всех расчётов, то лишнее время будет пропускаться, и игра в эти миллисекунды будет простаивать. А если расчётов больше, чем можно успеть сделать за кадр, то будут пропускаться кадры. Видели же, наверное, когда в играх показывают текущий FPS. Если FPS = 60 кадров/сек (стандартное значение для ЖК-мониторов), то всё нормально, а если FPS падает, то игра начинает подтормаживать, и приходится выкидывать некоторые кадры.

На самом деле таймеров в игре много. Любая анимация - это таймер. В ней есть нулевая точка отсчёта, когда начинается анимация, и финальная, когда цикл заканчивается и запускается следующий. Но этими таймерами я буду заниматься позже. Тут хотя бы один суметь кадр нарисовать. Улыбка
   Top
2B администратор
Отправлено: 13 Мая, 2016 - 10:10:26
ID


администратор


Сообщений всего: 17831
Дата рег-ции: Июль 2004  
Откуда: Ирпень, Украина
Репутация: 55




Ух, загрузил! Подмигну-ка
   Top
krre
Отправлено: 13 Мая, 2016 - 10:18:53
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Ну, вы же непуганные. ;)
   Top
krre
Отправлено: 14 Мая, 2016 - 11:45:16
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Продолжаю вгрызаться в архитектуру игр. Там столько всего, что мне до конца жизни хватит разбираться. А пока буду разбираться, навыдумывают ещё много чего, и придётся взять дополнительно несколько жизней в кредит.

Сегодня поменял фундамент игры. Фундамент - это такая прослойка между игрой и операционной системой. Игра - она ведь, как памперс, состоит из нескольких слоёв, и на самом нижнем слое у неё находится подсистема взаимодействия с операционной системой. Обычно она делится на модули окон, графики, звука, событий, потоков и сетей. Поскольку у меня игра кроссплатформенная, то и подсистема эта должна быть аналогичной. Большие конторы пишут обычно свою библиотеку, а крохоборы, вроде меня, пользуются свободными и бесплатными, коих мне известно целых две, SDL и SFML.

Сперва я взял библиотеку SDL, и несколько дней писал поверх неё свой код. Но потом понял, что она слишком сложна, поскольку предназначена для больших взрослых дядек с их серьёзными играми, тогда как для моей лоховской игры больше бы подошла простая и детская. Ну, ладно, раз простая, тогда я выкинул SDL и подключил вместо неё SFML. Что это может означать? Правильно, теперь всё надо переписывать с нуля. К счастью, я ещё недалеко успел уйти. Улыбка
   Top
2B администратор
Отправлено: 14 Мая, 2016 - 15:46:38
ID


администратор


Сообщений всего: 17831
Дата рег-ции: Июль 2004  
Откуда: Ирпень, Украина
Репутация: 55




Уже поиграть хочется, а ты с нуля... Я плачу...
   Top
krre
Отправлено: 14 Мая, 2016 - 16:00:25
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Ты ж меня знаешь, я целеустремлённым никода не был. Что в конкретный момент интересно, тем и занимаюсь. Так что никто не обещал, что игра когда-то будет закончена. ;)

А тем временем у меня снова крутой разворот. Изучал инфу по SFML и заметил, что как-то подозрительно мало на этой либе сделано трёхмерных игр. Ни одной вообще. Все только двухмерные. Меня это насторожило, стал разбираться, что за подставка такая, и выяснилось, что ради простоты там обрезали OpenGL. Двухмерную графику там с трудом ещё можно нарисовать, а трёхмерную никак. Слишком детская библиотека. Как грили про меня в молодости дружбаны, вот и вырос Вовка, а мы и не заметили. гы-гы!

Вернулся назад на SDL, и в итоге день был потерян зря. Зато узнал много нового. Улыбка
   Top
krre
Отправлено: 17 Мая, 2016 - 13:09:50
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Gagarin Daily News.

Читаю книгу Game Coding Complete, 959 стр. Интересная книга, на английском, как всегда. Программирование пока движется тяжело, так как непонятно, что вообще программировать. Из последних достижений - удалось отцентрировать окно при запуске в Ubuntu с двумя мониторами. Два дня долбался, коварная Ubuntu показывает мне вместо двух мониторов один, но с удвоенной шириной. В результате чего игра открывалась в окне, разрезанном на две части двумя мониторами. гы-гы!
   Top
krre
Отправлено: 19 Мая, 2016 - 20:40:17
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Gagarin Daily News

То я читал одну книгу по геймдеву, а теперь читаю одновременно целых три. Ещё параллельно читаю интернет, там тоже много всякого разного пишут. Связано это с тем, что я пытаюсь разобраться, как мне делать scene graph (по-русски что-то типа сценовой граф), поэтому инфо вычитываю где только можно.

Сценовой граф - это как граф, только сценовой. А ещё его можно назвать деревом узлов (node tree по-геймдевовски). В узлах находятся матрицы трасформации, а в листьях - геометрия, которая рендерится на экран.

Например, есть ландшафт - первый неподвижный узел, на него ставится NPC (non-player character - любое живое существо с искусственным интеллектом) - это уже второй подвижный узел, к NPC цепляется бензопила - третий подвижный узел. NPC нападает на игрока и размахивает бензопилой. При этом происходят два процесса - процесс пересчёта матриц трасформации, чтобы переместить относительное положение NPC с бензопилой, и рендеринг видимой геометрии на экран.

Вообще, там ещё много чего происходит - расчёт физики, столкновений, всякие анимации, поведение на основе AI, симуляция жидкостей, проигрывание звуков, а иногда и взаимодействие по сети, но мы опустим подробности. Главное, что для всего этого нужен scene graph. И я пока не пойму, как его лучше всего запрограммировать. Имеется, как всегда 100500 вариантов, приспособленных под конкретную задачу, а мне надо разобраться, что из всего этого зоопарка лучше всего подойдёт для моей игры.
   Top
krre
Отправлено: 23 Мая, 2016 - 15:03:02
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Самописный игровой движок обрастает аббревиатурами. Ранее я включил в него платформенную прослойку SDL, а теперь добавил математическую библиотеку GLM. В ней уже готовые тригонометрические и векторные функции, матрицы, кватернионы и даже такие очень важные и нужные алгоритмы, как шум Перлина. Какое счастье, что не придётся самому всё это писать. Впрочем, я и не собирался. Вопрос был лишь в том, насколько полную библиотеку я смогу найти и подключить. гы-гы!
   Top
krre
Отправлено: 24 Мая, 2016 - 10:17:43
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Всё так сложно, что даже после двух недель чтения теории и примеров программного кода игр я до сих пор не представляю, с чего вообще начать. АААААААААААА, мои глаза!!!

Пока что вот, окно уже получилось нарисовать с коричневым фоном. гы-гы!

Снимок экрана от 2016-05-24 10-11-24.png

   Top
Коля Логан
Отправлено: 24 Мая, 2016 - 20:00:32
ID


почетный участник


Сообщений всего: 4204
Дата рег-ции: Июль 2008  
Откуда: Донецк, Украина
Репутация: 28




krre:
Пока что вот, окно уже получилось нарисовать с коричневым фоном.

Выглядит хорошо. Отлично!
   Top
krre
Отправлено: 25 Мая, 2016 - 05:59:24
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Ага, и мне тоже нравится! Отлично!
   Top
krre
Отправлено: 27 Мая, 2016 - 10:35:48
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Как-то раз одна моя знакомая, когда я рассказал ей про игру и про то, что ГГ зовут Гагарин, спросила меня, а можно будет по желанию сделать ГГ девочкой? Ну, типа, если игрок женщина, то ей хотелось бы в женском аватаре находиться, а не в мужском. Я подумал и решил, что такое, в принципе, возможно, но тогда название игры придётся менять, да и от упоминания о Гагарине избавляться вообще. Например, в Майнкрафте так и сделано. При создании новой игры можно ввести своё имя, а если не ввёл, то возьмётся имя залогиненного пользователя.

Ладно, если придумаю какое-то другое интересное название, то поменяю. Мне-то всё равно, ведь никто не гарантирует, что игра не надоест мне через неделю и не будет заброшена. гы-гы!
   Top
krre
Отправлено: 27 Мая, 2016 - 11:06:39
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Пошёл второй месяц, как я начал делать игру. Из текущих достижений - создаётся пустое окно с надписью Gagarin. И до сих пор я толком не понимаю, чем заниматься дальше. А дело всё в том, дети мои, что современные игры - это целые обособленные операционные системы. Там всё своё. Свой менеджер процессов, менеджер памяти, менеджер ресурсов, менеджер событий, менеджер графики и ещё 100500 всяких менеджеров.

АААААААААААААААААААААААААА, мой моск!!!

Продолжаю разбираться...

Снимок экрана от 2016-05-27 10-57-18-1.png

   Top
krre
Отправлено: 27 Мая, 2016 - 11:32:05
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Короче, вот вам демотиватор на эту же тему.

risovach.ru.jpg

   Top
Коля Логан
Отправлено: 27 Мая, 2016 - 16:22:36
ID


почетный участник


Сообщений всего: 4204
Дата рег-ции: Июль 2008  
Откуда: Донецк, Украина
Репутация: 28




krre:
Как-то раз одна моя знакомая, когда я рассказал ей про игру и про то, что ГГ зовут Гагарин, спросила меня, а можно будет по желанию сделать ГГ девочкой? Ну, типа, если игрок женщина, то ей хотелось бы в женском аватаре находиться, а не в мужском. Я подумал и решил, что такое, в принципе, возможно, но тогда название игры придётся менять, да и от упоминания о Гагарине избавляться вообще. Например, в Майнкрафте так и сделано. При создании новой игры можно ввести своё имя, а если не ввёл, то возьмётся имя залогиненного пользователя.

Я думаю так - название надо оставить каким есть, потому что это модель робота, оно не склоняется. Вообще странная претензия, учитывая что персонаж - робот, но сейчас можно несправедливо прослыть сексистом и за меньшее, так что может быть и стоит сделать такую возможность.
   Top
krre
Отправлено: 27 Мая, 2016 - 16:36:47
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Да не, за такое вряд ли в сексизме обвинят. Тут скорее вопрос универсализации названий. Но в общем ты прав, мы имеем дело с бесполой оболочкой, в которую можно поместить существо любого пола и назначить себе какое угодно собственное имя, не трогая при этом саму модель робота. Женщины ведь не обижаются от того, что у них на телефонах операционная система с мужским именем Android. Можно добавить туда своего пользователя Дуся, и вопрос сексизма автоматически снимается. гы-гы!
   Top
Коля Логан
Отправлено: 27 Мая, 2016 - 17:22:48
ID


почетный участник


Сообщений всего: 4204
Дата рег-ции: Июль 2008  
Откуда: Донецк, Украина
Репутация: 28




krre:
Да не, за такое вряд ли в сексизме обвинят. Тут скорее вопрос универсализации названий. Но в общем ты прав, мы имеем дело с бесполой оболочкой, в которую можно поместить существо любого пола и назначить себе какое угодно собственное имя, не трогая при этом саму модель робота. Женщины ведь не обижаются от того, что у них на телефонах операционная система с мужским именем Android. Можно добавить туда своего пользователя Дуся, и вопрос сексизма автоматически снимается.

Сейчас в сексизме обвиняют по поводу и без - вон, Джеймса Рольфа (Angry Video Game Nerd) в таковом обвинили за то, что он публично высказался в 6-минутном видео что смотреть и обозревать новых "Охотников за привидениями" просто не хочет.
   Top
krre
Отправлено: 27 Мая, 2016 - 18:05:46
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Правда, что ли? Как-то мне сразу расхотелось кинокритиком становиться. гы-гы!
   Top
krre
Отправлено: 28 Мая, 2016 - 07:24:13
ID

компьютерный мультипликатор


Сообщений всего: 2067
Дата рег-ции: Дек. 2008  
Репутация: 27




Кажись, я разобрался во всей этой кухне и в общих чертах уже представляю, как всё работает. Картинка чуть выше по устройству игрового движка хоть и ужасна в своей беспощадности, но для простой игры каждый блок представляется каким-то одним небольшим классом, и в базовом варианте этого достаточно. Особенно, если не заморачиваться с графоном. А у меня даже такого понятия "графон" не будет. Помните старую досовскую игру Elite? Там палками всё нарисовано было и ничего, все были счастливы, и я в том числе.

Зачем я всё это написал? Да так, для поддержания разговора. гы-гы!
   Top
Страниц (12): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« флуд »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




www.g-2b.com


Powered by ExBB. ExBB FM 1.0 RC1 by TvoyWeb.ru. InvisionExBB Style converted by Markus®, edited by 2B. Smiles by Aiwan, Connie and others. Hosted by Peleng.

[Script Execution time: 0.04]     [ Gzip Disabled ]