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


 Страниц (12): В начало « ... 4 5 6 7 8 9 10 [11] 12 »   

> Описание: Игра про строительство
Коля Логан
Отправлено: 24 Сентября, 2016 - 16:13:34
ID


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


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




krre:
Называется программа OctreeFarm. Окно в ней разделено на две части. В левой части - панелька управления, в правой - трёхмерное отображение октодерева. Или наоборот, ещё не решил.

А создание отдельного софта для работы над компонентами действительно упрощает и оптимизирует работа над игрой? Наверное да, но интересно из твоего личного опыта услышать. У многих контор есть внутренний софт подобного рода который потом, иногда, если на него есть спрос, выпускается. Редакторы карт, например.
   Top
krre
Отправлено: 24 Сентября, 2016 - 16:34:24
ID

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


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




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

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

В моём текущем случае взять готовый движок и все прилагающиеся к нему инструменты не получится, так как у меня всё уникальное. Воксели ещё ни один доступный движок не поддерживает. К тому же, это не так интересно. Я пару лет вяло пытался (никому не говоря) запилить одну стратегическую игру на готовом движке LibGDX, но вдохновения было мало. Получалась ещё одна шаблонная игра, каких много. Сейчас, когда понимаешь, что создаёшь что-то новое, дело повеселей идёт.
   Top
Коля Логан
Отправлено: 25 Сентября, 2016 - 15:50:06
ID


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


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




krre:
Получалась ещё одна шаблонная игра, каких много.

Но она таки получилась, демка какая-нибудь пылится в архивах?.. Да ну?

Спасибо за инсайдерский экскурс! Отлично!
   Top
krre
Отправлено: 25 Сентября, 2016 - 16:24:37
ID

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


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




Коля Логан:
Но она таки получилась, демка какая-нибудь пылится в архивах?
До демки не дошло. Нашёл вот какой-то древний скриншот двухлетней давности. Последний раз возился с этой игрой в марте. Там уже даже какой-то интерфейс был, индикаторы всякие, кнопки.
   Top
krre
Отправлено: 25 Сентября, 2016 - 16:34:16
ID

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


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




Результат двухдневных стараний - OctreeFarm, наконец, смог показать тестовое октодерево из игры. Камера пока не вращается, стоит в фиксированном месте, поэтому вид такой скучный.

Пришлось маленько подолбаться. В игре доступ к OpenGL осуществляется через мультимедийную прослойку SDL, а в OctreeFarm то же самое средствами фреймворка Qt, на котором делается графический интерфейс. Подходы разные, и не сразу удалось их согласовать. Уже думал вообще от OctreeFarm отказаться, а как-нибудь в самой игре октодеревья редактировать. В последний момент меня посетило озарение, я почитал документацию по Qt и нашёл причину, почему в неё не работало всё, как надо.
   Top
Коля Логан
Отправлено: 26 Сентября, 2016 - 14:32:35
ID


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


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




krre:
До демки не дошло. Нашёл вот какой-то древний скриншот двухлетней давности. Последний раз возился с этой игрой в марте. Там уже даже какой-то интерфейс был, индикаторы всякие, кнопки.

Хорошо хоть скриншот нашелся... :(
krre:
Результат двухдневных стараний - OctreeFarm, наконец, смог показать тестовое октодерево из игры. Камера пока не вращается, стоит в фиксированном месте, поэтому вид такой скучный.

Вид не скучный. Просто он в 2Д. гы-гы!
   Top
krre
Отправлено: 26 Сентября, 2016 - 14:40:51
ID

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


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




Уже в 3D. Улыбка Теперь работаю над тем, чтоб и зум камеры тоже был, а не только разворот.
   Top
Коля Логан
Отправлено: 28 Сентября, 2016 - 16:23:31
ID


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


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




krre:
Уже в 3D. Теперь работаю над тем, чтоб и зум камеры тоже был, а не только разворот.

Мне нравится такая окраска - эстетично. Отлично!
   Top
2B администратор
Отправлено: 28 Сентября, 2016 - 20:19:57
ID


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


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




Ох, 3Д... ребята, а чё это вы здесь делаете?
   Top
krre
Отправлено: 29 Сентября, 2016 - 15:33:15
ID

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


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




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

На то, чтобы сделать выделение мышкой вокселей, у меня ушло два дня кропотливой работы. Да и то сделано было не до конца. Выделение в целом работает, но есть ещё много нюансов. Пока выделенный воксель выделяется жёлтым цветом. Что-то другое, типа какой-нибудь рамки сделать - это очень сложно, не сейчас. Выделенный воксель можно будет (позже) удалить, разделить, либо перекрасить в другой цвет. Кроме жёлтого, конечно. Но можно и в жёлтый, только тогда от выделения будет не отличить.

Чем дальше я влезаю во всё это, тем сложнее и медленнее становится. К счастью, меня никто не торопит. Улыбка
   Top
krre
Отправлено: 30 Сентября, 2016 - 13:13:52
ID

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


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




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

Теперь можно что-то делать с выделенными нодами. Возможных операций у меня пока на уме четыре: разделить ноду на 8 новых нод, объединить 8 нод в одну, удалить ноду, добавить ноду. Все эти операции требуют полной перестройки октодерева, а это очень сложная и нервная задача. Пойду накуплю валерьянки, в общем. Психику надо беречь.
   Top
krre
Отправлено: 30 Сентября, 2016 - 19:50:53
ID

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


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




Количество коммитов в репозитории с Гагариным перевалило за 1000, и это в некоторой степени юбилей. Причём, не только юбилей, но и рекорд. Даже в AprilBrush за несколько лет накопилось всего 868 коммитов, а в Гагарине за 5 месяцев и того больше. Давно я с таким энтузиазмом программы не писал.
   Top
krre
Отправлено: 30 Сентября, 2016 - 19:55:03
ID

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


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




Если смотреть по дням, то плотность коммитов выглядит вот так. Правда, это по всем моим репозиториям на GitHub, не только по Гагарину, но поскольку, начиная с мая, я коммитил только в Гагарина, то за последние пять месяцев статистика правдиво отражает степень работы над программой. На графике чем зеленее, тем больше коммитов было сделано в этот день. После середины мая не пропущен ни один день.
   Top
krre
Отправлено: 30 Сентября, 2016 - 20:05:50
ID

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


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




А это распределение коммитов по дням недели и часам. Ночью, как видно, я всегда сплю. Не работается мне ночью. Зато начиная с 5 утра и до 9 вечера начинается самая жара. Наличие дыры в 17 часов по будням вызвано тем, что с 17 до 18 я еду с работы домой, а в маршрутке особо не попрограммируешь. гы-гы! Ещё я еду в маршрутке с 7 до 8 утра, но откуда-то в это время взялись несколько коммитов. Вероятно, это из тех дней, когда я на работу не ездил, а програмировал дома. Бывало такое, когда загрузка была слабая, разрешали дома посидеть.

Есть также и другие графики, все они в отрытом доступе, и можно поглядеть их на странице репозитория.
   Top
krre
Отправлено: 01 Октября, 2016 - 14:52:49
ID

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


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




Чтобы оттянуть неизбежное, связанное с редактированием октодерева, я взялся за что-нибудь полегче - изменение цвета нод в октодереве. Это "полегче" заняло у меня полдня, зато какой эффект! Патриотичность октодерева зашкаливает! Кстати, этот тот самый роковой случай, когда цвет выделения совпадает с цветом ноды, и ничего с этим не поделаешь.

Теперь в OctreeFarm на левой панели есть индикатор цвета, при нажатии на него вываливается диалог, который меняет цвет выбранной ноды (или нескольких при мультивыделении). Результат сохраняется в файл, и его можно потом загрузить назад. Undo в OctreeFarm не работает и вряд ли скоро будет, поэтому сохранение промежуточных результатов в файл - это единственный путь вернуться на шаг назад. А больше чем на шаг мы отступать не будем! гы-гы!
   Top
2B администратор
Отправлено: 02 Октября, 2016 - 10:29:24
ID


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


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




Простите мою некомпетентность... а что такое коммиты? Хм...
   Top
krre
Отправлено: 02 Октября, 2016 - 10:51:06
ID

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


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




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

Мой папа самых честных правил,
Когда не в шутку заболел.

Потом Пушкин подумал и решил изменить вторую строчку:

Когда не в шутку занемог.

Относительно прошлого коммита изменилась одна строка, и Пушкин это изменение фиксирует в новом коммите. Потом он захотел поменять первую строчку:

Мой дядя самых честных правил,

И делает третий коммит. Если бы Пушкин сразу поменял обе строчки, то это пошло бы в один коммит, а так пришлось добавлять два раза. В одном коммите могут быть изменения в скольких угодно строках и скольки угодно файлах. Обычно перед коммитом программа показывает список всех изменений, в каких файлах какие строки изменились. Можно поменять хоть сто файлов, а потом только сделать коммит, но обычно стараются по возможности фиксировать как можно меньше изменений за раз.

Так работает система контроля версий, которую используют программисты. Это позволяет им вести историю изменений программы с самого начала, то есть я могу вернуть программу в любой день из прошлого, просто отмотав её по истории до нужного коммита. А чтобы в них легче было ориентироваться, к каждому коммиту программист пишет комментарий, что он там поменял. То есть получается этакая машина времени. Писатели сейчас тоже пытаются такие системы как-то использовать, но поскольку они больше под программистов заточены, то у них не сильно хорошо это получается.
   Top
Коля Логан
Отправлено: 02 Октября, 2016 - 22:11:05
ID


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


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




krre:
Писатели сейчас тоже пытаются такие системы как-то использовать, но поскольку они больше под программистов заточены, то у них не сильно хорошо это получается.

Да я и в монтаже нечто похожее применяю... Да ну? Как правило, любой фильм/любое видео проходит минимум одну-две черновые версии.
   Top
krre
Отправлено: 03 Октября, 2016 - 09:24:40
ID

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


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




Продолжая старую добрую традицию оттягивания неизбежного, добавил на панель управления кнопку Shadeless, которая может находиться в двух состояниях - нажатом и отжатом. Когда кнопка нажата, отключается влияние источников света на октодерево, и все стороны становятся равномерно освещены с интенсивностью 1.0. Это полезно для более точной настройки цветов, особенно градиентов. Если включено затенение, то не виден собственный цвет вокселя, он становится темнее или светлее, и тогда нет смысла сравнивать его с соседним вокселем.
   Top
krre
Отправлено: 04 Октября, 2016 - 12:35:29
ID

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


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




Придумал простую и гениальную идею, как упростить редактирование октодерева. Я решил хранить дерево не в виде линейного списка, а в древовидном формате JSON. Линейный формат хорош для быстрой отрисовки в видеокарте, а древовидный - для редактирования. Таким образом, самое трудное - это написать конвертер из JSON в линейный формат, а сама задача редактирования JSON-дерева тривиальная. Два дня я писал этот конвертер и когда закончил, достаточно быстро реализовал первую фичу по редактированию - удаление выделенных нод.

Удаляется всё отлично, но удалить можно только восемь нод, после чего ноды закончатся и октодерево исчезнет. гы-гы! Чтоб оно не исчезло, надо сделать следующую фичу - подразбиение нод. Казалось бы, что тут делать, задача же редактирования JSON-дерева тривиальная. Так то оно так, да конвертер пока ещё кривой, подразбитые ноды не хавает. Придётся ещё помучиться.
   Top
Страниц (12): В начало « ... 4 5 6 7 8 9 10 [11] 12 »
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 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.0434]     [ Gzip Disabled ]