forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   [TrueHorror] - разработка (http://forum.boolean.name/showthread.php?t=17293)

tirarex 07.10.2014 01:13

Ответ: [TrueHorror] - разработка
 
Собрал все в стену и взорвал и фпс вернулся =)
Погулял и собрал 2 предохранителя , вернулся поставить и вылет.
Скажи как попасть сразу на какой то левл !

mr.DIMAS 07.10.2014 01:23

Ответ: [TrueHorror] - разработка
 
Цитата:

Погулял и собрал 2 предохранителя , вернулся поставить и вылет.
Вылет? Опиши ситуацию, как произошел?
Цитата:

Скажи как попасть сразу на какой то левл !
Ну никак пока. Хотя я добавлю в mine.cfg номер уровня для загрузки.

tirarex 07.10.2014 01:31

Ответ: [TrueHorror] - разработка
 
Ничего особенного не происходило , погулял и взял 2 предохранителя , думал хватит , подошел к щитку нажал TAB и все , игра закрылась.

Samodelkin 07.10.2014 02:53

Ответ: [TrueHorror] - разработка
 
Win 8.1 -- работает.
  • Настройка мыши начинает работать только когда начнешь уровень.
  • Не успеваю прочитать текст вступления, может лучше его переключать по нажатию кнопки?
  • Фонарь изначально светит как-то слабо, яркость света сильно спадает, нужно учитывать что диапазон в игре меньше, значит и коэффициент ослабления можно сделать слабее.
  • При передвижении много застреваний.
  • Иконки фонаря в инвентаре нет -- вместо него белый квад.

Фонарь у меня быстро закончился, сначала я таскал с собой подобранную в пещере лампу, но она постоянно выпадала из рук.
Затем я залез по лестнице, а лампу забыл внизу, наверху же была такая тьма что я не нашел лестницу по которой поднимался и заблудился, так что пришлось выключить игру.
К слову, в Метро 2033 фонарик разряжался, но всё-таки оставалось немного света, чтобы совсем не заблудиться.
  • Если игра предполагает носить лампы с собой, то нужно сделать это нормально, без выпадения и постоянного зажатия кнопки, с возможностью одновременно поднимать другие предметы.
  • Дизайн карты стал интересней, расстановка точек освещения (маячков) стала лучше, идея с "лампой за досками" тоже правильная -- надо больше таких штук, особенно полезно мэппинг 90х годов посмотреть -- тогда умели карты создавать, сейчас реже, но встречаются.

Arton 07.10.2014 04:17

Ответ: [TrueHorror] - разработка
 
Фу-у... Круто!

FPS 75, зашёл в пещеры ~61.

Windows 7 SP1 x64

Проблемы с коллизиями, часто трясёт камеру (из-за коллизий) на полу пещеры.

Обошёл всё, что где не увидел. Благодаря прикольной механике забрался на лестницу держа в руках лампу.

Освещение жесть! Фонари светят ярко, но практически не освещают, как будто люминесцентной краской покрыты. В результате вместо света, выедающее глаза белое пятно, если нести фонарь в "руках".





Это относиться ко всем источникам света.
Ручной электро-фонарь:





Обегал всё, дошёл до детонатора, понял что фиг что найду здесь, вышел из игры.

P. S. Мои глаза...

mr.DIMAS 07.10.2014 14:57

Ответ: [TrueHorror] - разработка
 
Цитата:

Не успеваю прочитать текст вступления, может лучше его переключать по нажатию кнопки?
Ну какбе вступление пропускается нажатием левой кнопки мыши, возможно ты клацнул по случайке по кнопке и поэтому заставка пропустилась.
Цитата:

Фонарь у меня быстро закончился, сначала я таскал с собой подобранную в пещере лампу, но она постоянно выпадала из рук.
Предметы выпадают из рук потому что на перемещение чего либо тратится выносливость. Вообще скорость пожирания выносливости зависит от массы предмета - и по запаре я у фонаря поставил массу 10 кг в итоге поэтому так сильно жрет выносливость. Надо вообще сделать фонарь не жрущим выносливость.
Цитата:

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

Цитата:

Проблемы с коллизиями, часто трясёт камеру (из-за коллизий) на полу пещеры.
Таки новый Bullet Physics 2.81 имеет этот странный баг, я вообще хз почему это происходит.

Цитата:

К слову, в Метро 2033 фонарик разряжался, но всё-таки оставалось немного света, чтобы совсем не заблудиться.
Пожалуй так и сделаю. Ибо сам когда бегал, часто оставался без света - и это бесит.
Цитата:

Освещение жесть! Фонари светят ярко, но практически не освещают, как будто люминесцентной краской покрыты. В результате вместо света, выедающее глаза белое пятно, если нести фонарь в "руках".
Планирую сделать Glow эффект для ярких объектов. От этого будут более естественно выглядеть источники света.
Цитата:

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

Третий уровень стал больше, намного больше. Жалко что вы до него не дошли.

Arton 07.10.2014 16:05

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287786)
Таки нужно на всем уровне найти по четыре - детонатора, проводов и взрывчатки. Только после этого можно приступать к минированию стены.

Третий уровень стал больше, намного больше. Жалко что вы до него не дошли.

Я выше пояснил, свет не освещает, дальности мало как-то, искать западло в такой темноте.

Samodelkin 07.10.2014 16:35

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287786)
Ну какбе вступление пропускается нажатием левой кнопки мыши, возможно ты клацнул по случайке по кнопке и поэтому заставка пропустилась.

Нет, там на самом деле текст и так долго висит, но абзац уж слишком большой.
Нужно либо в разы меньше текста сделать, либо вывести его на экране загрузки, по завершению загрузки написать "нажмите для продолжения" или типа того.

Можно и журнал сделать, на первой странице разместить этот текст, а затем добавлять найденные на локации страницы.

Цитата:

Предметы выпадают из рук потому что на перемещение чего либо тратится выносливость. Вообще скорость пожирания выносливости зависит от массы предмета - и по запаре я у фонаря поставил массу 10 кг в итоге поэтому так сильно жрет выносливость. Надо вообще сделать фонарь не жрущим выносливость.
Я думаю лампу можно сделать в руке как и фонарь, разве только что в инвентарь не обязательно класть. Крутящаяся лампа в воздуже загораживает, засвечивает и выглядит не естесственно.

Цитата:

Можно же было спрыгнуть вниз, игрок не вроде не помирает от этого - хотя это надо исправить :-D
Я поднялся, прошел вперед, покрутил мышкой и просто не смог уже найти в какой стороне была лестница.

tirarex 07.10.2014 18:42

Ответ: [TrueHorror] - разработка
 
Странно , все пишут про адовую темноту но я спокойно все вижу без фонаря и освещения. Поднялся по лестнице а там длинные коридоры и пустые пещеры а еще после того как там побегал начали пропадать обьекты (двери доски фонари итд) вангую это из за того что с лестницы сьехал.

mr.DIMAS 07.10.2014 18:46

Ответ: [TrueHorror] - разработка
 
На самом деле фоновое освещение есть и оно не слишком темное - RGB 20,20,20. Хотя тут все зависит от монитора, склоняюсь к тому чтобы сделать регулировку гаммы.

Samodelkin 07.10.2014 20:00

Ответ: [TrueHorror] - разработка
 
tirarex, ну у тебя либо ЭЛТ монитор, либо гамма неправильно настроена.
Нужно чтобы чёрный цвет, по возможности, соответствовал цвету выключенного монитора, иначе цвета будут заметно более блёклыми.

20,20,20 это почти чёрный цвет, с учётом что при умножении на цвет текстуры значение ещё раза в 2-3 меньше становится, в районе 7-10 из 256. Это в среднем 1/30 от яркости монитора и вполне нормально что изображение почти не различимо.
Чтобы сделать затемнённое но играбельное помещение, нунжа яркость не менее 1/5 от хорошего яркого монитора.

Как уже ранее оговаривалось, яркость вещь относительная, и чтобы показать темное помещение, не нужно его делать темным, достаточно изобразить объекты яркость которых всем известна.
Например если изобразить очень сильную засветку вокруг обычных лампочек, станет ясно что камера очень чувствительная и в помещении темно.
Можно добавить пост-эффект зернистость, которая бывает на цифровых камерах в темноте.
Можно снизить цветность изображения, потому что человеческое зрение более чувствительно к яркости, чем к цветности, и в темноте цвета хуже различаются.
Лучше добавить HDR чтобы наглядно было видно как диапазон меняется при отсутствии и попадании ярких объектов в кадр.

mr.DIMAS 07.10.2014 20:26

Ответ: [TrueHorror] - разработка
 
Так как сделано уже около 60 процентов можно и графонием заняться. Пожалуй запилю HDR, Glow и твой SSAO.

tirarex 07.10.2014 21:12

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от Samodelkin (Сообщение 287796)
tirarex, ну у тебя либо ЭЛТ монитор, либо гамма неправильно настроена.
Нужно чтобы чёрный цвет, по возможности, соответствовал цвету выключенного монитора, иначе цвета будут заметно более блёклыми.

20,20,20 это почти чёрный цвет, с учётом что при умножении на цвет текстуры значение ещё раза в 2-3 меньше становится, в районе 7-10 из 256. Это в среднем 1/30 от яркости монитора и вполне нормально что изображение почти не различимо.
Чтобы сделать затемнённое но играбельное помещение, нунжа яркость не менее 1/5 от хорошего яркого монитора.

Как уже ранее оговаривалось, яркость вещь относительная, и чтобы показать темное помещение, не нужно его делать темным, достаточно изобразить объекты яркость которых всем известна.
Например если изобразить очень сильную засветку вокруг обычных лампочек, станет ясно что камера очень чувствительная и в помещении темно.
Можно добавить пост-эффект зернистость, которая бывает на цифровых камерах в темноте.
Можно снизить цветность изображения, потому что человеческое зрение более чувствительно к яркости, чем к цветности, и в темноте цвета хуже различаются.
Лучше добавить HDR чтобы наглядно было видно как диапазон меняется при отсутствии и попадании ярких объектов в кадр.

У меня ноутбук.

Samodelkin 07.10.2014 23:38

Ответ: [TrueHorror] - разработка
 
Я провода найти не могу.
Видимо это как-то связано с комнатой за досками.
Доски сломать нечем, а на верхнем уровне никаких спусков в комнату я не нашел, обходов тоже.
Пытался пройти два раза, потратил минут 30, так что да -- увеличить время игрового процесса тебе удалось.
В остальной шахте тоже искал, нашел только 4 детонатора, 4 шашки, 2 топлива, листочки и лампы, вроде всё.
Провода я видел только подключённые к прожектору в начале уровня.

tirarex 07.10.2014 23:53

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от Samodelkin (Сообщение 287808)
Я провода найти не могу.
Видимо это как-то связано с комнатой за досками.
Доски сломать нечем, а на верхнем уровне никаких спусков в комнату я не нашел, обходов тоже.
Пытался пройти два раза, потратил минут 30, так что да -- увеличить время игрового процесса тебе удалось.
В остальной шахте тоже искал, нашел только 4 детонатора, 4 шашки, 2 топлива, листочки и лампы, вроде всё.
Провода я видел только подключённые к прожектору в начале уровня.

Провода в комнате со столом кружками и фонарем. Она по пути от лестницы к комнате с бетонированной стеной.

А еще кинематика для дверей это плохая идея , можно встать за дверью и активировать ее (там где провода) и вытолкнуть себя за стену так.

Samodelkin 08.10.2014 00:02

Ответ: [TrueHorror] - разработка
 
А блин я ж не знал что это дверь, думал забор и его надо обходить.
В управлении, которое в меню, нету клавиши действия и я не пробовал её нажимать.
А когда предметы подбираешь там написано что ЛКМ+Е но я как то автоматически нажимал и у меня в мозгу не забиндилось что Е относится к ЛЮБОМУ действию, а не только подбор предметов.

mr.DIMAS 08.10.2014 00:30

Ответ: [TrueHorror] - разработка
 
Все кароч, буду под каждым возможным действием писать че надо нажать. "Доски" от двери отличаются тем что на них Z-образно размещены доски, кароч видимо ты не видел деревянных дверей. И сделаю настраиваемой кнопку действия.

Samodelkin 08.10.2014 01:31

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287815)
"Доски" от двери отличаются тем что на них Z-образно размещены доски, кароч видимо ты не видел деревянных дверей.

Доски от дверей отличаются тем что у вторых есть ручки.
Приделай ручку и сразу ясно будет что это дверь.

Нашёл провода, но скомбинировать не получилось: сначала предметы просто пропали -- остались 3 детонатора и 2 провода, затем комбинатор перестал работать.
Мне кажется тебе надо перепроверить логику, всё ли зануляешь, не оставляешь ли объект в невалидном состоянии и т. п.

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

mr.DIMAS 08.10.2014 01:48

Ответ: [TrueHorror] - разработка
 
Да, с предметами есть запары, вот только они у меня очень редко возникают и найти причину багов реально сложно.

А еще иногда предметы проваливаются сквозь пол. Это блять так раздражает, даже физикс этим грешит.
Цитата:

Нашёл провода, но скомбинировать не получилось: сначала предметы просто пропали -- остались 3 детонатора и 2 провода, затем комбинатор перестал работать.
Всмысле "комбинатор"? К стенке не крепятся предметы? Я вообще впичали, лучше бы у меня эти баги возникали чем у вас.

Samodelkin 08.10.2014 02:31

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287818)
Всмысле "комбинатор"? К стенке не крепятся предметы? Я вообще впичали, лучше бы у меня эти баги возникали чем у вас.

Нет в инвентаре.
У меня было 4 детонатора и 4 провода.
Я нажал комбинировать 1 провод и 1 детонатор.
Оба предмета пропали, взамен ничего не появилось.
Затем я попытался скомбинировать ещё два.
Детонатор вернулся в инвентарь, провод пропал.
Затем чего-бы я не выбирал для комбинации, ничего не комбинировалось вообще.

В инвентаре нету иконки фонаря и шашки, вместо них белые квадраты.

mr.DIMAS 08.10.2014 11:16

Ответ: [TrueHorror] - разработка
 
Вообще комбинировать не нужно, нужно просто в нужном порядке закрепить объекты на стене и подорвать. Я не стал делать комбинирование таким явным ибо слишком много возни с модельками и иконками получается. Надо поправить это баг с комбинированием.

Кстати фонарик заряжается именно комбинированием его со со спиртом.

ARA 08.10.2014 11:26

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287829)
Кстати фонарик заряжается именно комбинированием его со со спиртом.

Запили комбинирование ГГ со спиртом, чтоб не так страшно играть было...

Randomize 08.10.2014 12:00

Ответ: [TrueHorror] - разработка
 
Ох. Как же утомительно носить фонарь! Прям целое дело. Да и роняю постоянно. Чёт всё дрыгается постоянно по непонятным причинам. А, я понял.
ГГ такой нервный толстячок, его постоянно колбасит, и он застревает в проёмах.
Я понимаю - отсутствие друзей это проблема, но зачем искать их в шахте? А население шахты интересное. У них там принтер с собой походу. А где принтер там и ноут. Видать хороших парней он ищет, они небсь сидят там играют в варик за поворотом.
Ах да, скриммеры эт плохой тон. Гнятущей атмосферой бери.
ЛКМ+E? Экстравагантно! Лучше просто E. Один чёрт писульки с собой тащить нельзя.

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

Зы. продолжай. Мне интересно что за друзей найдёт себе ГГ в шахте.

mr.DIMAS 08.10.2014 13:32

Ответ: [TrueHorror] - разработка
 
Это так толсто, что даже тонко :-D. Я объяснил выше почему гг роняет лампу, потому что лампа тяжелая слишком - по случайке поставил ей массу большую.

Цитата:

но зачем искать их в шахте?
Вступление читал? Сюжет читал?

Randomize 08.10.2014 15:03

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287847)
Вступление читал? Сюжет читал?

Случайно прокликал оба раза. Выводи при загрузке сюжетку, а по завешении загрузки что-то вроде "Нажмите [RESET] чтоб начать экшон"

ABTOMAT 08.10.2014 16:49

Ответ: [TrueHorror] - разработка
 
Сглаживание не сглаживает а только мылит. Отключу-ка я его.
Сюжет в начале еле-еле успел прочитать.
При альт-табе игра зависла. Пришлось начинать заново.
Пилять, если я жму Esc, то назад в игру уже не попасть? Это не пауза, а выход из игры в главное меню? Надо заново начинать и всё проходить?
В шахте не смог протиснуться к лампе со следующей запиской. Помешал конусовидный холмик в полу. С трудом по бокам всё же перепрыгнул.
Почему записки рельефные? У тебя там план "каждому объекту по бампу к 2000 году" ? Вот уж точно это тот случай когда лучше не делать чем делать. И вообще само качество моделей и текстур где-то между полом и плинтусом. Хоть тут тресни, от бампа они красивее выглядеть не станут.
Пятно фонаря тоже выглядит не так.

Ахх, впрочем, ладно, графику не буду ругать. Просто непонятно, зачем было париться над эффектами, если самые основы хорошей картинки не были соблюдены.
Нашёл бетонную стену с дырками для взрывчатки. Не понял, как взрывать.
Блин, опять случайно Esc нажал! Да ёперный театр, теперь я уже не буду проходить с начала.

impersonalis 08.10.2014 17:56

Ответ: [TrueHorror] - разработка
 
Чот прямо накинулись на mr.DIMAS. Критика это хорошо, но главное не отбить у автора желание далее совершенствовать свой продукт.

Samodelkin 08.10.2014 19:55

Ответ: [TrueHorror] - разработка
 
Удалось взорвать стену.
На следующем уровне игра вылетела.
Последовательность действий была примерно такой:
  • Нажал Е на вентиль, из которого идет пар в самом начале. Объект я так понял не юзабельный.
  • Повернул на право, открыл дверь, попытался нажать на кнопку лифта.
  • Прошёл в другую сторону там где щиток.
  • Открыл дверь около щитка, но в неё не заходил.
  • Попытался несколько раз нажать Е на щиток, он видимо тоже пока не работал.
  • Несколько раз повернул мышью не выходя из этого помещения со щитком и игра вылетела.

Заметил, что объекты часто пропадают, видимо неправильно работает фрустум куллинг, но видимо причина вылета не в этом.

В общем чтобы дальше можно было тестировать, надо срочно:
  • Поправить физику, чтобы перса не трясло.
  • Сделать приседание, с уменьшением высоты капсуля (или той формы которая используется для коллизии персонажа), чтобы предотвратить застревание по высоте. В дальнейшем надо также убирать застревание на шпалах и цепляние за углы.
  • Сделать больше света.
  • Сделать сейвы или возможность переключения по уровням.

mr.DIMAS 08.10.2014 21:02

Ответ: [TrueHorror] - разработка
 
Я не понимаю зачем вообще претензии к графике мне предъявлять, когда игра еще не готова.


Цитата:

Пилять, если я жму Esc, то назад в игру уже не попасть? Это не пауза, а выход из игры в главное меню? Надо заново начинать и всё проходить?
А кнопку "Начать" не пробовал нажать? Боишься на кнопки нажимать?
Цитата:

Почему записки рельефные? У тебя там план "каждому объекту по бампу к 2000 году"
Смотри первый пункт.

Цитата:

Не понял, как взрывать.
Нужно читать записки. Прямо на входе в большое туннель валяется записка в ней все написано. Нужно использовать инвентарь, выбираешь сначала взрывчатку, нажимаешь "Использовать" указываешь на дырку, нажимаешь [E] - объект прикрепляется, и так четыре раза.


Кароч твоя критика не конструктивна.

Критика должна быть такой( цитата )
Цитата:

Конструктивная критика - критика, в которой говорится не что плохо, а что и как сделать лучше. Например, "Отлично! А вот это, мне кажется, можно сделать так, будет надежнее!" - или: «Да, спасибо, это было красиво и эффективно. Кажется, будет еще лучше, если вот на будущее ты обратишь внимание на это и то. Что думаешь?» или «Это было замечательно, а вот это, на мой взгляд, можно сделать лучше. Мне это видится, например, так…»
...
Нет конструктива - критика запрещена.
Цитата:

В общем чтобы дальше можно было тестировать, надо срочно:
Большинство из этого уже готово, кроме "больше света".

Arton 08.10.2014 23:05

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287829)
Кстати фонарик заряжается именно комбинированием его со со спиртом.

ЗБС!
Врождённая логика не позволяла мне даже мысли об этом. По этому я долго думал зачем мне спирт.

ABTOMAT верно говорит, холмик на первом перекрёстке мешает, ели протиснулся, там ещё камни по кругу катаются.

Цитата:

Сообщение от impersonalis (Сообщение 287864)
Чот прямо накинулись на mr.DIMAS. Критика это хорошо, но главное не отбить у автора желание далее совершенствовать свой продукт.

Всё у него отлично идёт, но уровни надо поправить, а в первую очередь отладить свет. Глаза выедает!

Цитата:

Сообщение от Randomize (Сообщение 287836)
Ох. Как же утомительно носить фонарь! Прям целое дело. Да и роняю постоянно. Чёт всё дрыгается постоянно по непонятным причинам... ...Герой-криворучка постоянно ронял триклятую лампу, что вогнало меня в пучины уныния и я закрыл игру.

Да ладно, нормально его носил! Я даже не заметил что он 10 кГ весит :-)

ABTOMAT 09.10.2014 06:10

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287873)
Я не понимаю зачем вообще претензии к графике мне предъявлять, когда игра еще не готова.


А кнопку "Начать" не пробовал нажать? Боишься на кнопки нажимать?
Смотри первый пункт.

Нужно читать записки. Прямо на входе в большое туннель валяется записка в ней все написано. Нужно использовать инвентарь, выбираешь сначала взрывчатку, нажимаешь "Использовать" указываешь на дырку, нажимаешь [E] - объект прикрепляется, и так четыре раза.


Кароч твоя критика не конструктивна.

Критика должна быть такой( цитата )


Большинство из этого уже готово, кроме "больше света".

Перевод свой пост с русского на русский:

Сглаживание надо починить или убрать вовсе.

Сюжет сделать чтобы сам не исчезал, а только после клика (нажатия клавиши).

При альт-табе выяснить почему вылетает и принять меры к исправлению

При выходе в меню по Esc возвращаться назад в игру тоже надо по Esc.

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

Холмик тот убрать. И вообще проверить, везде ли на уровнях можно без плясок пройти куда надо.

Бамп с бумажек убрать.

Пятну фонаря текстуру вставить.

В инвентаре работу сделать более очевидную. Я вот увидел справа два поля, попробовал как в майнкрафте перетащить туда вещи, не получилось, забил.

Теперь конструктивно?

Mr_F_ 09.10.2014 11:33

Ответ: [TrueHorror] - разработка
 
Цитата:

При альт-табе выяснить почему вылетает и принять меры к исправлению
кстати lost device обрабатывать тот ещё геморрой, причём начиная с дх10 делать это уже не надо (и в гл тоже не надо).
так что если неохота заниматься ерундой, предлагаю юзать borderless окно, то бишь выглядит как фуллскрин, а технически окно. я так делал со своим движком, чтобы не париться)

mr.DIMAS 09.10.2014 20:44

Ответ: [TrueHorror] - разработка
 
А разрешение экрана тогда менять через ChangeDisplaySettings(...)?

Делаю сохранения. Вопрос такой: сделать чекпоинты или свободное сохранение\загрузку?

И еще как проще избежать такого:
Код:

map<string,string> localization;
...
(runtime)
DrawText( localization[ "foo" ], ... );


Samodelkin 09.10.2014 20:59

Ответ: [TrueHorror] - разработка
 
Разрешение экрана при borderless видимо никак, но можно попробовать сменить разрешение бэкбуфера.

Я за грамотно расставленные чекпоинты, но видимо будет критика...

localization очень длинное название переменной.
А почему map? У тебя есть язык, название куска текста и сам текст, то есть 3 поля.
Язык и текст желательно менять извне, а в код вставить выбор где какой текст выводить.
В общем подробней опиши в чём проблема.

Mr_F_ 09.10.2014 21:03

Ответ: [TrueHorror] - разработка
 
Цитата:

А разрешение экрана тогда менять через ChangeDisplaySettings(...)?
об этом не думал что-то, обычно юзал разрешение = разрешению десктопа)
ну можно рендерить игру в другом разрешении, а потом рисовать квад в десктопном с изображением игры)

mr.DIMAS 09.10.2014 21:18

Ответ: [TrueHorror] - разработка
 
Цитата:

localization очень длинное название переменной.
А почему map? У тебя есть язык, название куска текста и сам текст, то есть 3 поля.
Язык и текст желательно менять извне, а в код вставить выбор где какой текст выводить.
В общем подробней опиши в чём проблема.
Суть в том что я делаю игру с локализацией( то бишь переводом на другие языки ). Ну и там при загрузке, например, уровня я загружаю файл соответствующий( посмотри папку data\lang\rus ) и парсю его, и потом там где надо отрисовать текст, передаю текст в виде loc[ "foo" ]. Я не думаю что это хорошая идея использовать string в качестве ключа . Но и плодить кучу переменных для каждой строки тоже не очень весело. Поэтому и спрашиваю, может кто знает как про-разрабы с этим справляются.

Вообще если посмотреть на современные игры, то складывается ощущение что разрабам глубоко похер на оптимизацию. Но чет мне не хочется уподобляться сим говнокодерам.

Mr_F_ 09.10.2014 21:49

Ответ: [TrueHorror] - разработка
 
а надо ли получать новые стринги из localization[] каждый кадр? скорее всего это будет происходить крайне редко - наверное ок и стрингом.
там где часто одни и те же, можно один раз получить значение из массива в обычную переменную и выводить её.

Samodelkin 09.10.2014 22:10

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287926)
Суть в том что я делаю игру с локализацией( то бишь переводом на другие языки ). Ну и там при загрузке, например, уровня я загружаю файл соответствующий( посмотри папку data\lang\rus ) и парсю его, и потом там где надо отрисовать текст, передаю текст в виде loc[ "foo" ]. Я не думаю что это хорошая идея использовать string в качестве ключа . Но и плодить кучу переменных для каждой строки тоже не очень весело. Поэтому и спрашиваю, может кто знает как про-разрабы с этим справляются.

Вообще если посмотреть на современные игры, то складывается ощущение что разрабам глубоко похер на оптимизацию. Но чет мне не хочется уподобляться сим говнокодерам.

Да ты полиглот!

На самом деле std очень хорошо оптимизирована, просто шаблоны выглядят монстрообразно, так как там куча параметров, но после инстанцирования получается более простой код.

Джонатан Блоу внушает доверие, поэтому хоть я сам и не пробовал эту штуку, но порекомендую её тебе: http://number-none.com/blow/code/mo_file/index.html
(заодно и проверишь как там))

Цитата:

Сообщение от Mr_F_
ну можно рендерить игру в другом разрешении, а потом рисовать квад в десктопном с изображением игры)

Я видел такое в ArmA 2 -- можно ещё настраивать положение этого квада на экране.
Можно также оставлять рисовать оверлей с 2д графикой в нативном разрешении, чтобы интерфейс не смызывался.

Но я только что проверил у себя -- достаточно поставить меньшее разрешение бэкбуфера в D3DPRESENT_PARAMETERS и оно само растянется до размеров окна.
Так что не стоит усложнять если не требуется доп. функционал с квадом.

mr.DIMAS 09.10.2014 22:32

Ответ: [TrueHorror] - разработка
 
Цитата:

а надо ли получать новые стринги из localization[] каждый кадр? скорее всего это будет происходить крайне редко - наверное ок и стрингом.
В свое время сделал ГУЙ как в юнити, для отрисовки текста используется просто вызов DrawText который в движке засовывает экземпляр Text в queue и отправляет на рендер. Показалось очень удобным, теперь же у меня бомбит от того что это все отжирает ресурсы на обращение в рантайме к map<string,string>.
Наверное сделаю обертку на своим же высером, ибо переделывать движок а потом и в игре переделывать некоторые моменты с гуем, как-то не очень радует.
Обертка будет содержать текст и параметры отрисовки, хоть так удастся избежать постоянного обращения к map по string.

Samodelkin 09.10.2014 22:38

Ответ: [TrueHorror] - разработка
 
В map там же упорядоченное дерево, так что сравнивается быстро.
Один раз за кадр ничего страшного.
Вон у тебя там софтварный скиннинг куда больше отжирает -- его бы на шейдер перенести.
Да и вообще у меня 60 фпс везде, давай уже карту пробуй делать больше и детальней.

mr.DIMAS 09.10.2014 22:47

Ответ: [TrueHorror] - разработка
 
Как сделать пятно у фонаря? Как проецировать текстуру на пятно от спотлайта?

Mr_F_ 09.10.2014 23:30

Ответ: [TrueHorror] - разработка
 
делаешь матрицу типа как для камеры и фигачишь наподобие

float4 projPos = mul(float4(worldPos,1), projectionMatrix);
projPos.xyz /= projPos.w;
float2 projTexCoords = projPos.xy*0.5+0.5;

mr.DIMAS 09.10.2014 23:35

Ответ: [TrueHorror] - разработка
 
ZBuffer должен быть выключен при отрисовке?

Mr_F_ 10.10.2014 00:10

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

mr.DIMAS 10.10.2014 16:10

Ответ: [TrueHorror] - разработка
 

http://www.3dnews.ru/903316
Убейсофт заботится о своих пользователях

[сарказм]Может и мне забить на оптимизацию?[/сарказм]

ARA 10.10.2014 16:31

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 287981)

http://www.3dnews.ru/903316
Убейсофт заботится о своих пользователях

[сарказм]Может и мне забить на оптимизацию?[/сарказм]

Цитата:

«Наша цель — 30 кадров в секунду. 60 к/с нормально смотрятся в шутере, но не в экшен-приключении. Меньшая частота кадров более удобна пользователям»
А 1280 на 720 даёт более детальную картинку лучше воспринимается глазами. Отвечаю.

Samodelkin 10.10.2014 17:11

Ответ: [TrueHorror] - разработка
 
Лет 10-15 назад играл в разрешении 640х480 в некоторые новые по тем временам игры они казались очень детализированными, сейчас же на 1080р в тех же играх углы да мыло.

К слову Crytek сегодня (10 октября) релизит RYSE с поддержкой 4К.

mr.DIMAS 11.10.2014 12:32

Ответ: [TrueHorror] - разработка
 
Собрал игру со старым булетом( 2.78 ), тормозов от физики существенно прибавилось, но и "тряска" прекратилась. И еще на старой физике, когда залезаешь на лестницу персонаж подыхает, лестница создает выталкивающий импульс слишком сильный, но в новом такой фигни нет. Че за нах вообще? У булета дохлое комюнити и там ответа неделю ждать буду, может тут кто знает в чем дело?

tirarex 11.10.2014 12:50

Ответ: [TrueHorror] - разработка
 
PhysX

Mr_F_ 11.10.2014 12:56

Ответ: [TrueHorror] - разработка
 
Havok
знакомый хвалит архитектуру и скорость

mr.DIMAS 11.10.2014 13:23

Ответ: [TrueHorror] - разработка
 
Ну это метод решения проблемы "в лоб". Мне не охота перелопачивать движок выдергивая оттуда буллет, ибо он там очень прочно корни пустил. Физик грешит "проваливанием" объектов сквозь пол, и Continuous Collision Detection не помогает. Кароч мне нужно решение проблемы с булетом, а не замена его другим движком. Но я понимаю что ответа мне не дадут и все придется самому решать.

ARA 11.10.2014 14:39

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 288007)
Ну это метод решения проблемы "в лоб". Мне не охота перелопачивать движок выдергивая оттуда буллет, ибо он там очень прочно корни пустил. Физик грешит "проваливанием" объектов сквозь пол, и Continuous Collision Detection не помогает. Кароч мне нужно решение проблемы с булетом, а не замена его другим движком. Но я понимаю что ответа мне не дадут и все придется самому решать.

Попробуй обратиться к Coks юзеру. Он в своё время делал враппер буллета на блиц. Думаю, шарит :)

mr.DIMAS 11.10.2014 14:42

Ответ: [TrueHorror] - разработка
 
Это проблема новой версии булета, я не думаю что он с ней работал.

Samodelkin 11.10.2014 15:44

Ответ: [TrueHorror] - разработка
 
Цитата:

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

В буллете всё можно настроить и всё будет работать как надо.
К слову я с PhysX'а перешёл на буллит, потому что у PhysX'а есть проблемы с некоторыми компиляторами, в том числе с MinGW которым я пользовался, и на форуме ответили что они заинтересованы сотрудничать с теми у кого много денег большие проекты, а мелкие разрабы, если не хотят пользоваться тем софтом что и большие разрабы (то есть висуал студией), пусть сами решают свои проблемы.
Ну вот я проблему решил и взял буллет.

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

mr.DIMAS 11.10.2014 15:50

Ответ: [TrueHorror] - разработка
 
А где у булета все настраивается? Я знаю только dynamicsWorld->GetDispathInfo()

Samodelkin 11.10.2014 16:01

Ответ: [TrueHorror] - разработка
 
Там настраивать можно каждый отдельный объект того или иного класса.
Ты можешь сгенерировать справку через doxygen для конкретно своей версии исходников буллета, а можешь посмотреть онлайн документацию, но она может быть немного старее, ещё можешь посмотреть хедеры.
Отличия буллета от физикса, то что он не является чем-то внешним, работающим из коробки, тут заточка на то что ты буллет можешь интегрировать и перемешать со своими игровыми кодами. Например в GTA4 буллет использовался вместе с Euphoria и какими-то своими специальными движками для физики авто и т.п.

mr.DIMAS 11.10.2014 17:16

Ответ: [TrueHorror] - разработка
 
Я карочи всё. Всё. Заебался. Подумываю от том чтобы использовать btKinematicCharacterController. Либо написать свой велосипед с перемещением при помощи рейкаста. Я и damping, restitution и им подобные параметры крутил и так и так и ниче. Как "дергается" игрок на наклонной поверхности так и дергается. Писец.

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

Samodelkin 11.10.2014 17:27

Ответ: [TrueHorror] - разработка
 
Я поэкспериментирую с буллетом у себя, посмотрим.

Попробуй например SSAO пока.

Samodelkin 11.10.2014 20:36

Ответ: [TrueHorror] - разработка
 
Пока я тут ещё экспериментирую, но как бы между делом: я буллет 2.82 еще пол года назад скачал, а вышел он год назад в октябре 2013.
Почему у тебя 2.81 считается новым?

mr.DIMAS 11.10.2014 21:33

Ответ: [TrueHorror] - разработка
 
Я напутал все, у меня 2.83 - недавно качал, хз почему в память отложилась 2,81

Samodelkin 11.10.2014 22:13

Ответ: [TrueHorror] - разработка
 
На самом деле Bullet очень устойчивый движок, даже когда я намеренно пытался вывести из равновесия, никаких взрывов сцены или улетающих в небо объектов не было.

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

Например если у игры 60fps можно сделать так:
deltaTime = 1.0f / 60.0f;
stepSimulation( deltaTime, 4, 1.0f / 60.0f );
В данном случае будет один шаг, т. к. он равен дельта-времени.

А вот в случае если по каким-то причинам игра подзастряла на 3 кадра и получилось:
deltaTime = 3.0f * 1.0f / 60.0f;
теперь при вызове
stepSimulation( deltaTime, 4, 1.0f / 60.0f );
будет вызвано три шага.

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

Ну так вот, а если deltaTime будет меньше минимального шага:
deltaTime = 1.0f / 120.0f
stepSimulation( deltaTime, 4, 1.0f / 60.0f );
то начинаются как раз такие глюки с подпрыгиванием.

В общем ставить шаг точно равный fps тоже имхо не надежно, я делаю за кадр 2 шага.
deltaTime ~ 1.0f / 60.0f (то есть может немного гулять).
stepSimulation( deltaTime, 4, 1.0f / 120.0f );
Особых негативных последствий для производительности я не заметил, хотя у меня пока нет таких больших локаций как у тебя и стресс-тестов я не проводил.

Можно вообще отсоединить физику от реального времени:
stepSimulation( 1.0f / 60.0f, 1, 1.0f / 60.0f );
Тогда раз всё ровно, можно попробовать обойтись одним шагом.
Скорость игры будет зависеть от FPS (что тоже не плохо, если графический движок плавно адаптирует сложность графики и FPS не скачет).

Если ты делаешь безлимитный FPS то соответственно шаги придется при необходимости делать ещё меньше, чтобы умещались в deltaTime.

Пока это одна из причин пригания объектов, может есть и другие...

mr.DIMAS 11.10.2014 22:45

Ответ: [TrueHorror] - разработка
 
Кароч наверное все таки баг в другом, я заметил что не на всех наклонных поверхностях такой косяк( можно сказать что этих поверхностей очень мало ). Я забил кароч на этот баг. Просто в этом месте на карте уберу наклон и все. Ища баг я потратил кучу времени, которое мог бы провести с пользой.

Я кстати сделал сохранения. В общем сделал некое подобие сериализации, но упрощенное - объект восстанавливает только изменяемые игроком или игровым процессом переменные. Работает довольно хорошо.

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

Убрал бамп с бумажек, убрал холмик( автэ это все тебе :-D )

Пятно к фонарю пока не добавил - все время просрал на борьбу с булетом.

Сделал пропуск заставки по нажатии пробела.

Ну и всякие маленькие изменения, коих много.

Samodelkin 11.10.2014 23:14

Ответ: [TrueHorror] - разработка
 
Я всё таки еще раз предлагаю, если проект не коммерческий, разместить коды в каком-нибудь репозитории.

mr.DIMAS 11.10.2014 23:45

Ответ: [TrueHorror] - разработка
 
Пожалуйста: https://github.com/mrDIMAS/src

Там ничего особенного нет - только голые исходники.

Репозиторий будет обновляться раз в неделю или около того.


Часовой пояс GMT +4, время: 16:04.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot