forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   The Dwarf Adventure (http://forum.boolean.name/showthread.php?t=20514)

mr.DIMAS 30.12.2016 00:01

The Dwarf Adventure
 
Вложений: 3
Привет пекари. Я начинаю новый проект, про гномов, рытье земли, торговлю и массовое рубилово. На сей раз проект в 2д, ибо подобное сложно реализуется в 3д ведь цель сделать игру, а не писать очередной движок.

Жанр: ролевая игра, приключение
Фишка игры - полностью разрушаемое окружение.

На чем я делаю сей проект: C++14 + SFML + OpenGL + самодельная position-based физика.

Игра планируется кроссплатформенная, поэтому и был взят SFML.





Управление:
[A][D] - ходить влево\вправо
[E] + прицеливание мышкой - прикрепить веревку
[W][S] на веревке - карабкаться вверх\вниз
[Пробел] - прыжок
[ЛКМ] - расплавить землю
[F12] - сделать скриншот

СКАЧАТЬ

Если будет просить редисты от студии (msvcrt14.dll) то их надо поставить https://www.microsoft.com/ru-ru/down....aspx?id=48145

Пожалуйста, потестируйте и прикрепите скриншот из игры или напишите FPS, Frame Time, Logic, CBT, CCT.

tirarex 30.12.2016 01:27

Ответ: The Dwarf Adventure
 
Фпс в начале игры 900 и плавно падает до 470-600
1200
0
4
1
(при скрине дропбоксом фпс падает в 2 раза )
https://www.dropbox.com/s/2pvdwkmieu...26.47.png?dl=0

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

DarkInside 30.12.2016 01:41

Ответ: The Dwarf Adventure
 
У меня наоборот сначала фпс 130, потом растет до 400, потом падает до 280.
1600-0-5-2
i7-3612QM, GT650M.
Курсор как-то тупит, не очень удобно.


mr.DIMAS 06.01.2017 16:24

Ответ: The Dwarf Adventure
 
Вложений: 2
Для гуи выбрал ImGui, он просто охренительный. Делаю потихому редактор карт и менюшки. Также увеличил производительность в игре, поэтому напишите пожалуйста здесь CBT и CCT.




Демку можно пощупать здесь

СКАЧАТЬ

mr.DIMAS 21.05.2017 22:04

Ответ: The Dwarf Adventure
 







Gector 03.06.2017 18:22

Ответ: The Dwarf Adventure
 
Вложений: 1
При запуске ошибка.

Mr_F_ 03.06.2017 18:26

Ответ: The Dwarf Adventure
 
качай последний vcredist, видимо

mr.DIMAS 04.06.2017 03:08

Ответ: The Dwarf Adventure
 
Цитата:

Сообщение от Gector (Сообщение 313661)
При запуске ошибка.

Очевидно что качать декабрьскую\январскую сборку смысла нет. Игра улетела далеко вперед за это время.

Публичная демка будет готова где-то к 10-15 июня.

mr.DIMAS 16.06.2017 16:04

Ответ: The Dwarf Adventure
 
Возможно вы спрашиваете: ̶Г̶д̶е̶ ̶д̶е̶н̶ь̶г̶и̶,̶ ̶Л̶е̶б̶о̶в̶с̶к̶и̶?̶!̶ где уже демка? Ты ж обещал.
Отвечаю: я был занят дипломом. Вчера успешно защитил его и теперь у меня степень магистра. Наконец-то у меня снова появилась куча свободного времени, и через пару деньков демка все-таки будет.

mr.DIMAS 30.06.2017 23:00

Ответ: The Dwarf Adventure
 
Вложений: 7
Настало время для первой публичной демки!

Вместо тысячи слов сразу видос:

И скриншотики








Теперь сюжет:
Цитата:

Вы гном и вы живете в опустевшем королевстве. Долгое время ваш народ жил в богатстве и процветании, до тех пор пока жители королевства не наткнулись на месторождение таинственных энергитических кристаллов, прозванных аркалитом. Эти кристаллы позволили создать удивительные машины и могущественное оружие, позволившие захватить соседние королевства. Ваше королевство пришло в упадок после обнаружения загадочной Черной твари глубоко под землей в толще аркалита. Древнее существо мгновенно испепелило гномов, добывающих этот зловещий минерал. Спустя некоторое время по всему королевству начали появляться смертоносные создания из других миров, постепенно уничтожавшие местных жителей. Даже обыкновенные осы стали огромными и опасными. Мечи и топоры стали бесполезными, создания из других миров могли быть уничтожены только энергией аркалита. Каждый уровень королевства был занят могущественными существами, которые контролировали приток тварей из других миров и поддерживали их жизнь. Вы должны освободить свое королевство от захватчиков, уничтожив Черную тварь.
Управление достаточно стандартное:
[A][D] - ходить влево\вправо
[W][S] - лазать по лестницам вверх\вниз
[E] - использовать (активно используется в гуи для применения предметов)
[Пробел] - прыжок

Ну а вообще управление можно посмотреть в меню.

СКАЧАТЬ

St_AnGer 03.07.2017 13:56

Ответ: The Dwarf Adventure
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 313709)
Настало время для первой публичной демки!

Оно работает даже на встроенной видяхе (i3-4160, Intel HD Graphics 4400)! Залип минут на 30-40, взрывая всё вокруг.

Phantom 03.07.2017 14:30

Ответ: The Dwarf Adventure
 
Цитата:

Сообщение от St_AnGer (Сообщение 313710)
Оно работает даже на встроенной видяхе (i3-4160, Intel HD Graphics 4400)!

Так говоришь, будто это плохая видяха. Я на ней даже в последний контр страйк играл.

St_AnGer 03.07.2017 15:14

Ответ: The Dwarf Adventure
 
Цитата:

Сообщение от Phantom (Сообщение 313711)
Так говоришь, будто это плохая видяха. Я на ней даже в последний контр страйк играл.

Да не, не плохая. На макбук (i5 с Intel HD 5000) когда винду втыкал, то и Crysis 3 на средних игрался вполне себе. Просто большинство вот таких игр сейчас ВНЕЗАПНО тормозит на том же железе (которое тянет Crysis 3), вот и удивляюсь.

RegIon 04.07.2017 15:55

Ответ: The Dwarf Adventure
 
Косяк!
Если нажать в игре по GUI кнопкам, то произойдет выстрел.!

mr.DIMAS 04.07.2017 20:54

Ответ: The Dwarf Adventure
 
Следующая демка возможно будет в начале августа. А так как я пишу сие сообщение с говеного мобильного инета на даче (30 кб\сек лол), то демку я буду заливать довольно долго :-D

mr.DIMAS 26.09.2017 00:14

Ответ: The Dwarf Adventure
 
Скоро новая демка.

А пока посмотрите на физичную водичку


mr.DIMAS 02.10.2017 21:44

Ответ: The Dwarf Adventure
 
Вложений: 1
Ха, я вас обманул - на самом деле я делаю редактор для игры. В частности редактор анимаций для персонажей



А вот и пробная анимация


St_AnGer 02.10.2017 22:58

Ответ: The Dwarf Adventure
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 314105)
Ха, я вас обманул - на самом деле я делаю редактор для игры. В частности редактор анимаций для персонажей



Пили скорее, пощупать же хочется, у меня на маке через вайн предыдущая демка отлично работала.
Да и самому что-то творить прям очень хочется, творческая ломка... Но времени нету, печаль-беда :(

mr.DIMAS 06.10.2017 00:40

Ответ: The Dwarf Adventure
 
А вот и результат работы редактора в игре:

mr.DIMAS 08.10.2017 17:21

Ответ: The Dwarf Adventure
 
Добавил инверсную кинематику с ограничениями поворотов в движок, теперь можно заставить персонажа правильно ставить ноги на неровный пол и правдоподобно держать и крутить оружие. В игру пока не встраивал, можно посмотреть результат работы в редакторе.


Жека 10.10.2017 07:14

Ответ: The Dwarf Adventure
 
Круто! Какие доки смотрел по инверске? Поделись. :)

mr.DIMAS 10.10.2017 12:12

Ответ: The Dwarf Adventure
 
Да это влобный CCD по графу сцены. Читал вот эту статейку: http://www.ryanjuckett.com/programmi...descent-in-2d/
+ видос посмотрел чтобы лучше понять принцип работы в динамике:


Кстати с этим методом уже появились проблемы при неоднородном масштабировании узлов графа. Вот тут описываю проблему (если кто хочет помочь): http://www.gamedev.ru/code/forum/?id=230475

mr.DIMAS 21.10.2017 16:18

Ответ: The Dwarf Adventure
 
Вложений: 2
Продолжаю заниматься улучшением внешнего вида игры. Добавил тени для террайна, теперь границы выделяются более четко и появляется ощущение объема.

Было:



Стало:


К тому же я добавил оружие ближнего боя. Не все оружие ближнего боя может ломать террайн, однако кирка может.


mr.DIMAS 26.10.2017 23:21

Ответ: The Dwarf Adventure
 
Балуясь с SSE заметил полнейшую дичь - когда компилишь игру со включенным SSE (/arch:sse2) то вода (и вообще все частички) ведут себя не так как с выключенным SSE (/arch:ia32).

Вот без SSE:



А вот c SSE:



У меня один вопрос: ШОЗАНАХ ТУТ ТВОРИТСЯ?

mr.DIMAS 28.10.2017 01:09

Ответ: The Dwarf Adventure
 
Оказалось все дело в оптимизациях /fp:fast + /arch:ia32. Компилятор выполняет более агрессивные оптимизации, и поэтому такая разница.

PS. А игра тем временем "весит" 32000 строк кода. The Mine на момент релиза "весила" всего 20000 строк. Ящитаю это успех: менее чем за год было написано в 1,5 раза больше строк чем за 4 года разработки The Mine.

Mr_F_ 29.10.2017 02:11

Ответ: The Dwarf Adventure
 
Цитата:

Ящитаю это успех
Скажи это демосцене) Имхо, наоборот - чем меньше, тем лучше (хотя я сам чувствую неадекватную гордость за свои жирнющие файлы (да у меня ж БОЛЬШОЙ проект, как у БОЛЬШОГО дяди), так что понять могу)

mr.DIMAS 29.10.2017 12:47

Ответ: The Dwarf Adventure
 
Таки лучше когда выше отношение фичи\строки_кода. Больше фич->меньше строк кода -> крутота.

mr.DIMAS 29.10.2017 15:48

Ответ: The Dwarf Adventure
 
Вложений: 1
Добавил поиск пути.



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

Суть алгоритма: вначале строится navmesh по террайну, и уже по нему осуществляется поиск пути. Сам поиск сделан через A*, работает довольно шустро. Навмеш приходится перестраивать при каждом изменении террайна, но перестройка довольно быстрая и можно делать в отдельном потоке, что не сказывается на производительности игры.

mr.DIMAS 24.12.2017 17:07

Ответ: The Dwarf Adventure
 
Планирую выйти в ранний доступ в стиме в ближайшее время.

mr.DIMAS 31.01.2018 23:13

Ответ: The Dwarf Adventure
 
Я тут устроился на работку, и на игру вряд ли будет хватать времени :(

Вы держитесь тут, всего хорошего - может быть по выходным смогу хоть что-то делать.

St_AnGer 01.02.2018 09:17

Ответ: The Dwarf Adventure
 
Ну вот, ещё один из нас стал рабом системы...

mr.DIMAS 04.02.2018 00:24

Ответ: The Dwarf Adventure
 
Вложений: 1


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

mr.DIMAS 17.02.2018 00:18

Ответ: The Dwarf Adventure
 
Вложений: 1
Уже больше недели работаю над игрой после основной работы - выходит где-то по 2 часа. Добавил генерацию подземных складов и генерацию интерьера в домах. Интерьер в домах пока что слишком плох, но я работаю над этим. Ну и ко всему прочему изменил расположение элементов интерфейса и нарисовал три иконки новые. Уот так уот.


mr.DIMAS 23.02.2018 21:19

Ответ: The Dwarf Adventure
 
Потихоньку переношу мозги мобов на Behaviour Trees. NPC стали более адекватно себя вести. На текущий момент код мозгов NPC такой.

Код:

mBehaviour = bt::Builder()
    .Parallel()
        .Sequence("Heal")
            .Condition([this] { return NeedHealing(); })
            .Do([this] { return UseHealingPotion(); })
        .End()

        .Selector("Behaviour")               
            .Sequence("Attack")
                .Condition([this] { return !NeedHealing(); })                   
                .Do([this] { return LookForTarget(); })                                   
                .Condition([this] { return IsEnemyCloseEnoughToDefaultPosition(); })
                .Do([this] { return SelectWeapon(); })
                .Selector()
                    .Sequence()
                        .Condition([this] { return IsTooCloseToEnemy(); })
                        .Do([this] { return SetMoveDestinationFarEnoughFromEnemy(); })       
                    .End()                   
                    .Do([this] { return SetMoveDestinationEnemyPosition(); })                   
                .End()
                .Do([this] { return OpenNearbyDoors(); })
                .Do([this] { return MoveToDestination(); })
                .Do([this] { return LookAtActor(); })
                .Do([this] { return AimAtLookPoint(); })
                .Do([this] { return UseWeapons(); })
            .End()
           
            .Sequence("WalkAway")
                .Selector("Position")
                    .Sequence("Danger")
                        .Condition([this] { return IsDefaultPositionTooDangerous(); })
                        .Do([this] { return SetMoveDestinationSafePoint(); })
                    .End()
                    .Do([this] { return SetMoveDestinationDefault(); })
                .End()               
                .Condition([this] { return !ReachDestination(); })
                .Do([this] { return LookAtWaypoint(); })
                .Do([this] { return AimAtLookPoint(); })
                .Do([this] { return OpenNearbyDoors(); })
                .Do([this] { return MoveToDestination(); })
            .End()

            .Sequence("Idle")
                .Condition([this] { return ReachDestination(); })
                .Do([this] { return StayStill(); })
            .End()
        .End()   
    .End()
    .Build();

Самая мякотка в том что при помощи Behaviour Tree я могу рандомизировать еще и поведение мобов, а не только их внешний вид. Больше рандома богу рандома!

mr.DIMAS 01.07.2018 15:53

Ответ: The Dwarf Adventure
 
Вложений: 3
Давненько не писал о прогрессе, а все потому, что медленно все идет :)


Сейчас потихоньку делаю редактор для игры. Вот свеженькие скрины





Редактор предметов:



Ну и напоследок - нодовый редактор диалогов - пока что еще в зачаточном состоянии.


В самой игре изменился генератор мира, я полностью отрефакторил его - а то каждое изменение давалось с трудом.


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

ABTOMAT 05.07.2018 03:32

Ответ: The Dwarf Adventure
 
> Сделал самодельный редактор для анимации
> Не воспользовался ничем готовым

Такую бы энергию да в мирное русло!

mr.DIMAS 10.07.2018 12:02

Ответ: The Dwarf Adventure
 
Цитата:

Сообщение от ABTOMAT (Сообщение 315307)
>
Такую бы энергию да в мирное русло!

Что за мирное русло такое? :)

ABTOMAT 11.07.2018 05:14

Ответ: The Dwarf Adventure
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 315344)
Что за мирное русло такое? :)

Улучшать саму игру, а не делать то, что уже до тебя миллион раз сделали

mr.DIMAS 11.07.2018 10:09

Ответ: The Dwarf Adventure
 
Вообще я посмотрел не редакторы анимаций готовые - Spine, Dragon Bones. Первый платный, второй бесплатный но с очень кривой интеграцией. В общем-то редактор анимок занял у меня всего неделю. Остальные инструменты тоже делаются из надобности - особенно редактор предметов - очень удобно когда все в виде таблицы, а не json файлик на >6k строк. А вот редактор диалогов скорее всего делать не буду, перенесу их в скрипты - в общем-то на него я много времени не потратил - дня три после работы по 2 часика. А так в основном в игре ковыряюсь.

mr.DIMAS 05.12.2018 17:49

Ответ: The Dwarf Adventure
 
Гномы теперь опенсорс!



Скачать свежий релиз можно тут - https://github.com/mrDIMAS/TheDwarfAdventure/releases

Arton 06.12.2018 02:17

Ответ: The Dwarf Adventure
 
Хотел написать, что мол всё, развитие игры остановилось навсегда... но я поиграл, пять минут.

Честно говоря TrueHorror был куда играбельней. Здесь же всё о-о-очень сыро, даже отдачу в управление почти не чувствую.

И конечно порадовали сохранения размером в 300 Мб, на самом старте игры :-D
Которые можно ужать до, меньше 2 Мб.
У тебя там вся игра дампуется что ли? (как раз в памяти ~400 Мб занято)

Arton 06.12.2018 02:41

Ответ: The Dwarf Adventure
 
P. S. Если интерфейс стилизован под пиксель-арт, то нужно отключить сглаживание.


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

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