Gamedev


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
153 38 64

ИндиММО Аноним 08/01/20 Срд 22:36:23 6340391
image.png (114Кб, 932x575)
932x575
image.png (638Кб, 1280x553)
1280x553
Новый проект.mp4 (23048Кб, 0x0)
0x0
Короче делал проектик на Phaser и вдруг решил что сингловые игры уже морально устарели и всем нужны именно ММОшки, и запилил такой вот шаблончик для ММО. На данный момент есть генератор бесконечного мира. Который генерит вот такой вот мирок, размеры тайтлов сделал 16х16. Вот сейчас думаю что это маловато. Мир подгружается чанками. Думаю вообще сейчас над концепцией игры, какую боевку сделать и т.д. Изначально думал что нибудь пошаговое склепать в мире какого нибудь фентези. Короче хотелось бы услышать мнение народа.
Аноним 08/01/20 Срд 22:37:06 6340402
Новый проект.mp4 (23048Кб, 0x0)
0x0
Аноним 08/01/20 Срд 22:37:57 6340423
Новый проект.mp4 (22733Кб, 1280x720, 00:00:41)
1280x720
Аноним 08/01/20 Срд 23:03:32 6340464
>>634039 (OP)
> Короче хотелось бы услышать мнение народа.
не взлетит
/thread
Аноним 08/01/20 Срд 23:24:51 6340495
>>634046
Та пофиг, что добавить, вот что интересно, взлет не взлет меня не интересует
Аноним 08/01/20 Срд 23:39:37 6340536
>>634049
Добавляй то, что тебе интересно, во что бы ты сам поиграл. Если ты сам не знаешь зачем делаешь, то зачем вообще браться?
Аноним 08/01/20 Срд 23:52:26 6340557
>>634053
Хотел услышать интересные идеи
Аноним 09/01/20 Чтв 02:32:08 6340668
Аноним 09/01/20 Чтв 03:21:24 6340739
>>634039 (OP)
Был тут уже один долбоёб, который похожую хуйню с колобками делал.
Аноним 09/01/20 Чтв 09:51:43 63411310
Аноним 09/01/20 Чтв 23:12:20 63449211
image.png (32Кб, 392x316)
392x316
Ладно, буду тут просто дневник разработки вести, пока что буду оптимизировать базу для будущего, буду фиксить все пиздецовые хуйнюшки, типа пикрил. Думаю на счет коллизий, нужны ли дереву они? Реализацию придется делать скорее всего на сервере, щоб слишком умные игроки не проходили сквозь все что захотят. Боевку буду делать пошаговую, тайтлы земли оставлю 16х16, деревья делаю выше, возможно потом тайтл игрока сделаю чуть больше, в 32х32 приятнее рисовать. Возрастет нагрузка на сервер из-за проверки коллизий, а это значит придется делать некий протокол который будет выдавать игроку разрешение ступить куда либо. Аж страшно стало от уже навалившихся задач
Аноним 09/01/20 Чтв 23:14:00 63449412
>>634492
Если у тебя тайлы - то какие коллизии? Проверяй тайл занят/не занят и разрешай/запрещай движение.
Аноним 09/01/20 Чтв 23:14:54 63449613
>>634494
Лол, точно, после работки туплю сижу, благо завтра выходной
Аноним 25/01/20 Суб 14:59:19 63888814
ScreenRecorderP[...].mp4 (5814Кб, 1218x566, 00:00:10)
1218x566
Короче, решил в изометрии делать, не так убого смотрится и есть маневр для художеств
Аноним 25/01/20 Суб 16:00:35 63891315
>>638888
Ля братишка делай РПГ песочницу
Аноним 25/01/20 Суб 16:50:50 63893016
>Браузерка
Еб твою мать.
Аноним 25/01/20 Суб 18:01:51 63898817
istorija-dune-2[...].jpg (218Кб, 1024x768)
1024x768
screenshot.comm[...].png (74Кб, 640x400)
640x400
ss8a876182c3a3b[...].jpg (638Кб, 1440x816)
1440x816
>>638888
По-моему, на прямоугольной сетке тоже может нормально выглядеть, зато ассеты делать полегче будет.
Аноним 25/01/20 Суб 18:23:30 63899718
>>638988
Это если руки не из жопы. Если они не из жопы, то и текстовый квест будет выглядеть более чем нормально.

Автор, это не ты лет 5 назад выкатился с зоны и делал 3д-игру про колобков, которые катаются и стреляют?
Аноним 25/01/20 Суб 23:40:30 63904019
image.png (145Кб, 1051x563)
1051x563
>>638988
Это так, но я не художник, а для TOP-DOWN игры нужен талант, особенно в 2020, но я обнаружил что обычные 2D Координаты легко конвертнуть в изометрию, только немного непривычно с координатами работать.
Аноним 25/01/20 Суб 23:42:25 63904120
Кстати, изменил размер тайтлов на 32х32, стало лучше (вроде)
Аноним 25/01/20 Суб 23:54:05 63904321
>>638913
Это и так будет РПГ, я думаю на счет пошаговой боевки, сеттинг с большой вероятностью фентези
Аноним 27/01/20 Пнд 23:58:41 63939822
image.png (93Кб, 781x538)
781x538
Пока делаю систему перемещения которая будет полностью от сервера зависит, для безопасности...
Аноним 28/01/20 Втр 11:16:56 63948523
Новый проект.mp4 (19936Кб, 1920x1080, 00:00:45)
1920x1080
- Ввел логин и пароль, после перезахода игрок сохраняет свою позицию в мире. Есть баг, после перезахода игрок не может двигаться
- Полностью перевел игру в изометрию, но сохранил урезанный TOP-DOWN клиент
- Движение теперь полностью обрабатывается на сервере, игрок может только отправить данные куда он хочет двигаться, раньше за это передвижение полностью отвечал клиент
Аноним 28/01/20 Втр 11:34:23 63948924
Аноним 28/01/20 Втр 15:07:42 63950925
Слушай, ОП идея хорошая но поменяй карту пожалуйста
Сделай изометрию с приятной плоской текстурой ландшафта, а не этот паинт.
И йоб желательно заменить на элементарные спрайты с анимацией, для начала в пикселе хотя бы.
Тебе не трудно - тем кто заглянет, приятно
Аноним 28/01/20 Втр 17:06:07 63954626
Сделайте ему уже траву, хотя бы в пеинте, глаза болят
Аноним 28/01/20 Втр 17:39:43 63954827
трава1.png (5Кб, 176x176)
176x176
держи.gif (0Кб, 32x32)
32x32
>>639546
я попытался и вообще мимопроходил.
Аноним 28/01/20 Втр 20:13:11 63956428
Water.png (3Кб, 128x32)
128x32
Sand.png (2Кб, 64x32)
64x32
sprGrass.png (1Кб, 64x32)
64x32
>>639548
Вот мои простые спрайты, на коленках делал, если есть возможность, перерисуйте, я пока занимаюсь кодом
Аноним 28/01/20 Втр 20:16:08 63956529
>>639489
Была такая мысль, но кто то уже делает рим ворлд по сетке, да и как это будет в ММО смотреться? Ты же имеешь ввиду непрямое управление персонажем?
Аноним 28/01/20 Втр 20:30:12 63956630
image.png (92Кб, 692x381)
692x381
Короче с сервером все отлично, жрет мало, держит хорошо, теперь надо над клиентом проработать, т.к. разработка будет долгой, думаю взять тайпскрипт, а то в голове все объекты становится трудно держать, особенно когда уже возвращаешься к старой функции
Аноним 29/01/20 Срд 00:12:33 63960631
>>639566
Нужен компактный шрифт
Аноним 29/01/20 Срд 12:10:46 63966532
Haven & Hearth 4.jpg (242Кб, 808x634)
808x634
Вспомнил ламповый ХаХач.
Аноним 29/01/20 Срд 15:48:47 63970933
javaw 2013-06-0[...].jpg (570Кб, 1280x974)
1280x974
>>639665
Как же хочется в хих, хоспаде.
29/01/20 Срд 18:47:13 63975334
цфеук.gif (1Кб, 64x32)
64x32
аууфф.png (14Кб, 300x216)
300x216
Земля1.png (1Кб, 64x32)
64x32
Земля2.png (1Кб, 64x32)
64x32
Я пытался
29/01/20 Срд 18:47:38 63975535
песок.png (0Кб, 64x32)
64x32
Земля3.png (1Кб, 64x32)
64x32
Земля4.png (1Кб, 64x32)
64x32
Земля5.png (1Кб, 64x32)
64x32
29/01/20 Срд 18:47:54 63975636
Песок (2).png (1Кб, 64x32)
64x32
Земля-песок.png (1Кб, 64x32)
64x32
песок (3).png (1Кб, 64x32)
64x32
Аноним 29/01/20 Срд 18:51:22 63975737
>>639753
Что ты пытался? Почему тайлы бледные, как твое лицо, когда игру не пустили в стим? Почему тайлы не симметричные, блядь?
Аноним 29/01/20 Срд 18:58:31 63976138
>>639757
Я не ОП.
> Почему тайлы бледные, как твое лицо, когда игру не пустили в стим?
Терпеть не могу насыщенные и яркие цвета. Но чет да переборщил.
>Почему тайлы не симметричные, блядь?
Тут я ниибу, я мимопроходил и использовал >>639564 как маску.

На будущее, если у кого появится вопрос:
>нахуй делаешь если не умеешь
Потому что никто ОПу не помогает, а это хоть что-то.
Аноним 29/01/20 Срд 19:07:23 63976439
>>639761
>Потому что никто ОПу не помогает
А нужно ли? Пока что мы видим только школьника, впервые решившего сделать мам-ммо, из говна и браузера. Не имея никаких наработок он высрал невнятное поделие, без описания, планов, и чего-либо. Очевидно что он сольется через месяц, просто потому что не осилит.
Аноним 29/01/20 Срд 19:13:40 63976540
Аноним 29/01/20 Срд 21:00:37 63978441
>>639764
> из говна и браузера
вэй вэй, ващет я написал сервер на чистом Go, хорошо что сам язык позволяет так легко и просто писать на нем. Клиент на js, так что можно и декстоп клиент сделать и даже на мобилку, использую библиотеку Phaser, а не модные нынче движки и конструкторы, очевидно что я уже сделал более менее рабочий прототип, нужно проработать концепцию и стилистику, определится с боевой системой и т.д.
Аноним 29/01/20 Срд 22:37:10 63980442
>>639784
Играть то где?
Какую ролевую систему будешь делать?
Кто квесты будет писать?
Что с экономикой?
Аноним 29/01/20 Срд 22:44:21 63980843
>>639804
1. Универсальный вариант, в браузере.
2. Думаю
3. Песочку квесты не очень нужны, но я думал над созданием мирных городов, где можно будет их выполнять.
4. Как в раннем TZ

Все это в процессе вполне корректируется и изменяется
Аноним 29/01/20 Срд 22:51:05 63981044
>>639808
>1. Универсальный вариант, в браузере.
Я имел в виду ссылку. Подними бэк на каком нибудь хероку.
Или в докер запихни и на любом PAAS сервисе разверни.
Аноним 29/01/20 Срд 22:52:57 63981145
>>639808
>3. Песочку квесты не очень нужны, но я думал над созданием мирных городов, где можно будет их выполнять.
Квесты не нужны, но нужна как минимум затравка. Интересные ситуации сами собой не возникнут. Расы, противоборствующие стороны, конфликты, хоть какой нибудь маломальский лор.
Какую книжку читал последней или какая понравилась больше всего? Вот и копируй оттуда.
>4. Как в раннем TZ
Что это?
Аноним 29/01/20 Срд 22:59:07 63981246
>>639810
Зачем деплоить сырой прототип, который будет еще и падать иногда? Как только будет более менее рабочий вариант, я обязательно запущу его
>>639811
Хорошая идея, но я сначала хочу сделать основу, на которой можно будет строить полноценную игру, нужно так-же учитывать что я делаю только в свободное от работы время.
>Что это?
TimeZero
Аноним 29/01/20 Срд 23:13:13 63981547
>>639812
>TimeZero
А какая там экономика?
Аноним 29/01/20 Срд 23:19:48 63981748
>>639815
Ну как минимум раньше жеско разделялось все на профы, копалка в шахтах копает, сталкер охотится на монстров и т.д. Для получения профы приходилось делать сложные квесты и тратить очки перков не в боевые навыки, а в профессиональные. Из ресурсов делалось все, оружие, броня, химия, производили их владельцы фабрик, производили все по купленным чертежам. В каждом городе в шахтах были свои уникальные ресурсы, ну короче тебе лучше почитать, благо игра не ноунеймовая, но я думаю за основу именно такую систему взять
Аноним 29/01/20 Срд 23:32:48 63982049
>>639566
typescript дело хорошее, хотя в голове за тебя держать он объекты не будет) Можешь чуток порисовать в uml
Аноним 29/01/20 Срд 23:34:36 63982150
>>639784
А что по твоему нынче популярно?) Для рендера тот же phaser юзаешь или мб что-то more fancier типо pixi.js?
Аноним 29/01/20 Срд 23:43:10 63982551
>>639821
Да, для рендера тупа Phaser юзаю, легко и удобно
HarmizVenZZZ 30/01/20 Чтв 00:42:52 63983752
ОП, бро, те скок лет?
Если больше 16, то лучше задумываться делать то, что изи поднимется. По тебе видно, что ты не опытный в сфере геймдева.
Первые проекты делаются такими, чтоб подняться. Не оч потными и не рискованными.
Ты же делаешь ПОШАГОВУЮ ММО в 2020
На счет ммо я не имею ничего против, сам задротил. Но этот жанр морально устарел, и ничего кроме вова после открытия не держится +- норм(даже ААА, да и сам вов тонет)
Пошаговую ето уже страшно
Попытайся делать другой проект, там подняться сможешь, а после - соберешь команду, да сделаете.
Проект подобный те в соло не осилить бро
ВОт ты сделаешь - и что дальше? Как сервера держать будешь? Как организовывать?
А держание сервера - окупиться?
а кроме етого вопроса есть еще множество, которые тоже сложные, и(если не дурак), то поймешь что останешься без почки если попытаешься реализовать это сейчас. А если ты это делаешь тупо для опыта, то искать стак братьев(команду аутистов ) выгоднее в этом плане + имя сделаешь в паблик-медиа
ток жанры выбирай по перспективнее и движок модный аля говноюнити-гмк-анрил
Аноним 30/01/20 Чтв 09:22:33 63987553
>>639837
>На счет ммо я не имею ничего против, сам задротил. Но этот жанр морально устарел, и ничего кроме вова после открытия не держится +- норм(даже ААА, да и сам вов тонет)
Просто забирают себе часть рынка
>Пошаговую ето уже страшно
Мне нравятся пошаговые бои
>Попытайся делать другой проект, там подняться сможешь, а после - соберешь команду, да сделаете.
Другой проект это стрелялочку для детей? Я ващет думал игру по самосбору сделать, мой механизм бесконечной генерации мира подойдет и для генерации гигахруща
>Проект подобный те в соло не осилить бро
http://www.westward-online.com/
>ВОт ты сделаешь - и что дальше? Как сервера держать будешь? Как организовывать?
До этого слишком далеко
>а кроме етого вопроса есть еще множество, которые тоже сложные, и(если не дурак), то поймешь что останешься без почки если попытаешься реализовать это сейчас. А если ты это делаешь тупо для опыта, то искать стак братьев(команду аутистов ) выгоднее в этом плане + имя сделаешь в паблик-медиа
Все вопросы решаемы, а местные аутисты это клепатели аркадок на движках
>ток жанры выбирай по перспективнее и движок модный аля говноюнити-гмк-анрил
Предпочтения в жанре всегда меняются и не люблю по чужим лекалам работать, движки это всегда лишние зависимости и т.д., есть хорошие годные библиотеки
Аноним 31/01/20 Птн 00:00:32 64001054
image.png (62Кб, 1000x528)
1000x528
>>639753
Пока поставил твой тайтлсет, даже хз
Аноним 31/01/20 Птн 00:24:25 64001455
>>639875
>клепатели аркадок на движках
грустно кекнул
мимо геймдизайнер
Аноним 31/01/20 Птн 01:11:53 64002156
>>634039 (OP)
>>640014
Ладно, вкину тебе идей
Пилишь ММО - значит упор делаешь на взаимодействие игроков. Нужен блок механик, которые будут ставить геймплей так, чтобы поощрять эти взаимодействия
Самое простое решение - деление персонажей на классы, как это реализовано в том же варкрафте, т.е. у одних персонажей есть опция торговать лицом, но нет опции наносить урон, а у других - кидать фаерболы, но такие не могут терпеть урон. Если развивать эту идею, то такой "маг" быстро складывается, у него сбиваются касты etc. подумой.
Подумол, понял, что игроки будут выбирать дпс-магов и игнорировать скучных орков-танков и решил уравнять всех игроков и сделать игру про волшебников. Тогда заставь их выбирать вектор развития своих школ магии, чтобы сделать их все равно разными и толкнуть на пресловутое взаимодействие, по типу - маг льда фиксирует огра, маг молнии бьет, а маг воды баффает урон. Сделай разнообразнее - заклинания льда не работают на железного голема, но зато школа огня плавит ему ноги, не давая ходить, превращаясь из урона в контроль. Что бы ты там не делал, если боевая механика центральная в твоей игре, то сделай её интересной и командной.
Но бой - не единственное, чем игроки будут заниматься в ммо, как не старайся. Когда они обнаружат, что шанс выпадения $ФЕСКИ ВЕЛИКОГО ШАТАТЕЛЯ$ 0.01%, а она дает аж +2 к силе шатания, они её захотят. И чтобы реализовать свои влажные мечты побегут на заранее приготовленный тобой аукцион, где часами будут пытаться порешать рыночек, добиваясь приобретения вожделенного головного убора.
И начнется - фарм мобов, профы, кланы, чтобы этим бесконечным гриндом было хоть сколько-то весело заниматься.
Как ты понимаешь, следуя моим советам ты сделаешь очередную невыразительную дрочильню. Чтобы этого избежать не следуй моим советам, за исключением двух вот этих:
1) Еще раз, все что ты делаешь - ты делаешь чтобы заставить игроков взаимодействовать друг с другом.
2) Не забывай про баланс. В ммо он такой - чтобы заработать на шапку ты можешь 2 дня бить мобов или 2 дня собирать реги для крафта.
Помни: геймдизайн - это наука про выбор, которого на самом деле нет
Аноним 31/01/20 Птн 01:26:33 64002357
>>640021
Добавлю
Если хочешь вызвать у игроков разрыв шаблона и отличиться - используй в качестве основы для своей ролевой системы ролевую систему для нри.
За столом очень мучительно подсчитывать хит-поинты, и модель урона в них часто принимает вид: бросаешь 3д6.Чтобы убить слабого врага нужно выкинуть 8+, среднего 10+ и сильного 13+. На соседней доске /bg/ есть тред с целым архивом спираченных рулбуков разных ролевых систем. Спизди у них, покопайся, может найдешь что-нибудь интересное для себя.
Аноним 31/01/20 Птн 10:33:05 64005158
>>640021
Кстати, да, тоже задумываюсь о балансе, по любому будет какое-то имбовое направление, но до этого еще далеко конечно, надо техническую часть сделать
Аноним 31/01/20 Птн 10:55:15 64005459
Аноним 31/01/20 Птн 11:03:32 64005560
image.png (8Кб, 273x291)
273x291
земля0.png (2Кб, 128x80)
128x80
>>640010
Ч с разрешением? Чому они пережаты?
Аноним 31/01/20 Птн 11:03:45 64005661
ScreenRecorderP[...].gif (4223Кб, 904x484)
904x484
Жаль на рисовку нет времени, да и руки кривые
Аноним 31/01/20 Птн 11:04:10 64005762
>>640055
Играюсь с разрешением
Аноним 31/01/20 Птн 11:05:12 64005863
Ну линуксе вид немного другой, наверное это от разрешения экрана зависит, у меня старый нищемонитор
31/01/20 Птн 23:33:15 64026364
>>640021
Ты ему советы даёшь, как будто у него игра готова. У него всё, что есть это блядский перс, который перемещается по одной локации. Даже наблюдателя нельзя сделать. И сервак у него валится, если он хочет сделать любое действие.
Аноним 01/02/20 Суб 09:11:40 64030565
>>640263
> У него всё, что есть это блядский перс
Несколько персонажей*
>который перемещается по одной локации
Бесконечно генерируемому бесшовному миру, который использует чанковую систему
Аноним 01/02/20 Суб 09:13:17 64030666
>>640263
>И сервак у него валится, если он хочет сделать любое действие
Валится при попытке зайти за персонажа который уже в игре
Аноним 02/02/20 Вск 00:13:44 64051267
1025694336.jpg (113Кб, 848x1200)
848x1200
>>634113
привет, а какие-нибудь библиотеки юзаюешь для игрового сервера

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

ты случаем пикрил не читал, я заказал просто ее
Аноним 02/02/20 Вск 00:46:50 64051868
>>640512
Да, норм книженция, но можно и без нее обойтись, библиотеки все стандартные
Аноним 02/02/20 Вск 01:21:25 64052469
Графон был лучше с 16х16. Один хрен рисовать не умеешь, 16х16 этот прискорбный факт как-то скрывает. Сейчас слишком детально и выглядит плохо, лучше уже и не будет.
Аноним 02/02/20 Вск 10:07:07 64055870
>>640524
Это иллюзия из-за того что на карте 16х16 было больше объектов, одинаково убого смотрится, я жи понимаю что говно, ибо в тестурки я вкладываю максимум 5 минут, и сейчас у меня заказ крупный и времени нет пока развивать проект, но на вырученные деньги думаю нанять художника, щобы он мне спрайты нарисовал
мимо ОП треда
Аноним 09/02/20 Вск 14:07:15 64194571
Вот и загнулся
Аноним 09/02/20 Вск 23:02:49 64203272
>>641945
Завтра сдаю проект и возвращаюсь к игре
Аноним 09/02/20 Вск 23:10:26 64203373
image.png (1749Кб, 1465x1291)
1465x1291
12345.png (150Кб, 373x322)
373x322
ship1.png (5Кб, 300x100)
300x100
Sprite-0003.png (2Кб, 90x50)
90x50
Аноним 09/02/20 Вск 23:15:23 64203674
>>642033
А ты в изометрии шаришь? Я бы даже задонатил тебе немношк
Аноним 09/02/20 Вск 23:20:55 64203775
Аноним 09/02/20 Вск 23:24:12 64203876
>>642037
Хороший ресурс, можно на первое время напиздить оттуда тайтлов
Аноним 09/02/20 Вск 23:34:59 64204077
Аноним 11/02/20 Втр 13:52:15 64233578
image.png (353Кб, 1123x617)
1123x617
image.png (787Кб, 1280x612)
1280x612
image.png (544Кб, 1129x627)
1129x627
image.png (446Кб, 1083x616)
1083x616
Пока выбираю разрешение игры, спиздил несколько тайтлсетов
Аноним 11/02/20 Втр 14:10:40 64234179
>>634039 (OP)
>вдруг решил что сингловые игры уже морально устарели и всем нужны именно ММОшки
А с чего это ты решил? По мне так как раз ммо и сетевые игры уже порядком подзаебали, и очущается острый дефицит хороших синглплеерных игр.
Аноним 11/02/20 Втр 15:03:03 64235180
>>642341
>По мне так как раз ммо и сетевые игры уже порядком подзаебали
Они подзаебали, потомущо их делают на конвейере
Аноним 13/02/20 Чтв 11:56:05 64270181
>>642351

Они заебали, потому что кругом метаблядки и гайдопетухи, от игры с ботами в синглах интереса и разнообразия уже реально больше
Аноним 13/02/20 Чтв 20:28:58 64276782
>>634039 (OP)
Самые первые образцы мне понравились, а изометрия твоя — хуйня без души, ломающая глаза. Да, есть много хороших изометрических игор, но твоему проекту реально лучше было в оригинальном виде. Сейчас ты мне просто Рогалию напоминаешь.
Аноним 14/02/20 Птн 18:40:25 64295283
image.png (237Кб, 970x551)
970x551
Решил немного порисовать сегодня, вроде неплохо
Аноним 15/02/20 Суб 02:05:57 64299284
image.png (305Кб, 938x529)
938x529
Добавил деревья, на очереди камни и т.д.
Аноним 15/02/20 Суб 04:49:13 64299985
>>634039 (OP)
Ты ведь в курсе печальной истории хахача уровня гд - рогалии?
Аноним 15/02/20 Суб 09:47:55 64300986
>>642999
Не в курсе, я недавно в вашей ГД помойке
Аноним 15/02/20 Суб 10:24:52 64301587
Аноним 15/02/20 Суб 10:26:03 64301688
>>643015
Блять, пздц, по их стопам пошел, аж стыдно
Аноним 15/02/20 Суб 10:45:40 64301989
Ну короче почитал про это рогалию, какой-то дикий упор на строительство, вещизм, фермы и т.д. Ну и боевка там ужасная конечно, у меня правда ее вообще нет, но я планировал пошаговые бои делать, и упор на исследование мира, который бесконечно генерится, вот хотел устаревание чанков сделать, что если туда никто очень долго не заходит он удаляется, а затем при заходе генерируется совершенно новый
Аноним 15/02/20 Суб 23:39:15 64320590
>>643015
Это Рунскейп уровня /б/?
Аноним 16/02/20 Вск 09:36:18 64324891
>>634039 (OP)
>> решил что сингловые игры уже морально устарели
слишком толсто
Аноним 16/02/20 Вск 14:02:25 64329692
ScreenRecorderP[...].mp4 (8160Кб, 804x518, 00:00:18)
804x518
Ну вроде со статикой разобрался, сделал сортировку по глубине, теперь это полноценная изометрия, пора браться за мобов и боевую систему, ну и поиск пути надо сделать полноценный с проверкой на доступность тайтлов и т.д.
Аноним 16/02/20 Вск 14:44:08 64330393
Аноним 16/02/20 Вск 15:33:03 64331194
Аноним 16/02/20 Вск 20:50:35 64337895
>>643311
>>643311
Опа, спасибо, как раз думал как минимизировать затраты на анимацию персонажей, всего две проекции персонажа и смотрится органично, ты не знаешь какие там технологии юзали? Это обычные растовые картинки, но пиздато анимированные?
Аноним 17/02/20 Пнд 09:22:24 64344996
image.png (1534Кб, 1024x768)
1024x768
image.png (3685Кб, 1920x1080)
1920x1080
>>643378
Да тут вроде вообще одна проекция, да рисуются ножки\ручки в фотошопе, анимируются в spine который не найти, blender или dragon bones, как раз буду пробовать так сделать в блендере, но это сложновато, во первых рисовать надо хорошо, изучить прогу по анимации, саму анимацию, как то все подогнать под стандарт одежды, оружия одноручное\двуручное. Вот в BB еще больше сократили затраты на анимацию, нет ног от рук только кулачки.
Аноним 17/02/20 Пнд 11:12:15 64348397
>>643449
Ну это уже уровень кубов, в вот корейцы хорошо придумали
Аноним 17/02/20 Пнд 19:36:32 64357098
>>634039 (OP)
Идея сделать современную ммо в 1 рыло утопична даже больше, чем полёт на Марс в 2020 году.

Я скажу сколько времени тебе потребуется на подобную реализацию. Примерно 20-40 лет и то получится хуже, чем у любой студии из 30-40 человек.
Аноним 17/02/20 Пнд 19:37:56 64357199
>>643570
Просто отсекай априори нелепую траты времени, чтобы после не оказаться в ситуации депрессии.

Всегда нужно делать что-то минимальное. Фичи и контент ты будешь запиливать уже после написания готовой игры. Сейчас все игры продаются до релиза, либо не продаются в принципе.
Аноним 17/02/20 Пнд 20:03:09 643580100
>>643570
Ну хз, можно основу сделать , рабочий прототип, а дальше уже предложения пойдут и желающие помочь
Аноним 23/03/20 Пнд 01:04:23 650625101
R.I.P.
Аноним 23/03/20 Пнд 01:33:48 650630102
>>650625
Тю
Думал пару тайтлов анону намалякать
Аноним 23/03/20 Пнд 09:46:32 650670103
>>650625
Не РИП, я сейчас занят немного, так же переписываю алгоритм перемещения на поиск Пути - А, кумекаю вот, надо ли из всех тайтлов граф делать или на ходу перемещать, пока что у меня дичь выходит
Аноним 11/04/20 Суб 15:57:39 655463104
>>650670
Анон, я нахальный пидорас, покажи свой код? Не понимаю как оно всё работает и хочу почитать чужое. Можешь и не свой, может сам чьё нибудь читал и сможешь показать?
Аноним 12/04/20 Вск 08:51:19 655824105
>>655463
Лол, думаешь поймешь що я карябую?
Аноним 12/04/20 Вск 08:54:46 655825106
>>655463
Короче вот, статью на хабре сделал на случай если надоест разработку вести, а передать опыт ннадо бы
https://habr.com/ru/post/488752/
Аноним 12/04/20 Вск 18:43:24 656087107
>>655825
Так это же даже лучше, чем код. Спасибо, анончик.
Аноним 15/04/20 Срд 11:05:52 657065108
>>656087
С тебя звездочка на гитхаб
Аноним 25/04/20 Суб 21:02:24 662578109
Аноним 26/04/20 Вск 17:42:40 662988110
>>662578
>MMO
>Без сетевой части
Ты там совсем охуел?
Аноним 26/04/20 Вск 19:16:17 663039111
>>662988
Это прототип, просто чтобы вы потыкали пока, я заебался уже писать если честно
Аноним 27/04/20 Пнд 11:47:43 663261112
>>663039
Найди кто будет делать сервер
А ты делай клиент
Аноним 27/04/20 Пнд 16:54:55 663675113
изображение.png (66Кб, 1223x1277)
1223x1277
>>662578
Качественный контент, да
Аноним 27/04/20 Пнд 20:50:54 663845114
>>663675
Надо другую шумовую функцию найти
Аноним 27/04/20 Пнд 22:34:55 663898115
>>662578
Ладно, для прототипа на коленке пойдёт
Теперь надо запилить двухсторонний A*, чтобы персонаж не ходил по воде
И уменьши камеру, чтобы всё было побольше и персонажа можн было хотя бы разглядеть
Аноним 28/04/20 Втр 09:06:20 664004116
>>663898
Игра давно в изометрии, а поиск пути вот калякую, вроде ласт функцию дописать осталось, но лень пздц
Аноним 09/05/20 Суб 23:24:36 668025117
image.png (227Кб, 772x432)
772x432
Накалякал поиск пути, чет месяц потратил, сорян, жаль по прямой не всегда пойдет, т.к. в игре это расстояние одинаковое можно сказать, ща пофикшу перемещение, а то пздц какой-то
Аноним 10/05/20 Вск 00:08:17 668039118
ScreenRecorderP[...].mp4 (7008Кб, 892x560, 00:00:24)
892x560
Аноним 12/06/20 Птн 14:34:33 676231119
R.I.P.
Аноним 12/06/20 Птн 17:50:44 676252120
>>676231
Мобов пилю, ща на РАБотку еще на гошника устраиваюсь
Аноним 20/06/20 Суб 22:32:06 677845121
крч такой бизнес-план:
1. делаешь бесконечную генерацию до определенных пределов, сколько осилит сервер (даже у того же кубача есть лимиты в сколько-то миллионов чанков)
2. делаешь всех игроков на один сервер
3. делаешь игру в браузер с адресом типа nazvanie.io
4. делаешь цветные ники и шапки за донат
5. ???
6. PROFIT
Аноним 21/06/20 Вск 09:56:11 677879122
>>677845
Фенкс, я вот тут поиск пути набросал и думаю над боевкой и генерацией мобов, что вот лучше сделоть, щобы интересно было
Аноним 21/06/20 Вск 10:55:22 677883123
ScreenRecorderP[...].mp4 (18943Кб, 800x480, 00:00:24)
800x480
Пока немного сгладил перемещение
Аноним 21/06/20 Вск 10:57:42 677884124
Аноним 21/06/20 Вск 12:42:24 677898125
>>639566
Загони ботов пачку туда. Часто такое бывает, что вроде хорошо работает, а потом при росте нагрузки оказывается, что потребление ресурсов растёт нелинейно.
Аноним 21/06/20 Вск 22:02:26 678106126
>>677879
> что вот лучше сделоть, щобы интересно было

1. Самое очевидное с такой "полу-пошаговой" системой, чтобы как в Рунескапе боевка была по принципу - нажал кнопку>персонаж сам подошел к мобу>персонаж начал бить автоатакой, если не прожимать доп скиллов

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


Аноним 28/06/20 Вск 13:34:31 679125127
>>640021
>Еще раз, все что ты делаешь - ты делаешь чтобы заставить игроков взаимодействовать друг с другом.
Имхо бред. Что если игроков мало? Что если игроки конфликтуют? Что если игрок хочет аутировать где-нибудь в углу карты подальше от всех, изредка выходя к "цивилизации" для торговли? Лично я ненавижу, когда игра вынуждает на социальное взаимодействие. Я бы хотел ММО, в которой ты можешь играть с кем-то, но только потому, что сам этого хочешь, а не потому, что твой персонаж ничтожен без помощи других персонажей (чувствуешь себя ущербным даже в тупой игрушке, мне этого и в жизни хватает, и наверняка я не один такой). К тому же такое насильное сближение игроков заставляет создавать ботов, бегающих паровозом за главным персонажем, даже если ботоводство запрещено.
>Не забывай про баланс. В ммо он такой - чтобы заработать на шапку ты можешь 2 дня бить мобов
Это не "баланс", это "растягивание контента/прохождения". И у него есть очевидная мотивация - игроку будет скучно, когда он откроет весь игровой контент (получит все шапки, ачивки и т.д.), следовательно свежий контент нужно поставлять регулярно, а поскольку это трудно, освоение текущего контента делается максимально длительным. То, что в сингле ты можешь освоить за 10 часов, в ММО ты будешь осваивать 1000 часов, потому что если ты освоишь за 10, тебе станет скучно и ты уйдёшь в оффлайн, а у ММО просядет онлайн вплоть до следующего апдейта новым контентом (а часть игроков будет потеряна навсегда). Но это не имеет никакого отношения к игровому балансу. Если бы существовал способ создавать разнообразный контент для игры каждый день, то необходимости растягивать прохождение ММО не было бы, не было бы необходимости в гринде и т.д.

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

>>668025
>Накалякал поиск пути, чет месяц потратил
В чём проблема оставить только WASD/стрелочки? Откуда такое повальное увлечение мышкотырканьем? Это же извращение - "ходить мышкой". Сделай WASD, это намного удобнее - двигаешься одной рукой, а стреляешь, собираешь лут, выбираешь цель и т.д. - второй рукой. Для примера посмотри Realm of the Mad God - да, это ММО-шутер (2D), но управление там идеально, WASD-движение и мышка только для наведения прицела и окошек. Бесят ММО, которые зачем-то заставляют перемещаться мышкой, дебилизм какой-то. Знаю, "диды так играли и мы будем играть", но это реально неудобно и пора бы от этого отказаться, чай не 90-е. В древних играх на буквенные клавиши биндилось дохрена команд и потому ничего кроме мыши для движения не оставалось, но сегодня этим никто не парится, никому в современных играх не нужно биндить что-то именно на WASD, так что можно сделать адекватное перемещение персонажа без накручивания системы поиска пути (поиск пути для аватара игрока - даже звучит абсурдно). Да, у меня бомбит. :(

>>678106
>нажал кнопку>персонаж сам подошел к мобу>персонаж начал бить автоатакой
Бесит такое, из-за этого случайно агришь нейтральных мобов или бьёшь игрока, которого не хотел бить.
Аноним 28/06/20 Вск 23:01:22 679255128
>>679125
>Для примера посмотри Realm of the Mad God
Блин, спасибо анонче, все же я наверное откажусь от изометрии, и буду пилить в таком стиле, мне понравился процесс игры, и стилистика, переделать клиент можно в две секунды, к тому-же я сохранил обычный топдовн клиент, поиск пути оставлю для ботов
Аноним 29/06/20 Пнд 21:08:58 679443129
Аноны, вопрос такой.
Глядя на труды ОПа задумался над своей РПГ. Точнее задумывался-то давно и даже что-то частями пилил.
А тута решил забросить делать шутан и попробовать РПГ. Хочется чтобы рельеф/карта были красивыми поэтому сейчас делаю небольшой редактор карт безовсяких тайлов, но т.к. игра задумывается в 2Д, то встаёт вопрос над уровнями рельефа (имею ввиду всякие холмы, горки и тд).
Есть ли какие-то красивые\интересные реализации уровней рельефа для 2Д?
Аноним 30/06/20 Втр 01:25:34 679472130
>>679443
>реализации уровней рельефа для 2Д
ИМХО, лучше сразу забей, любая горка выше одного роста персонажа будет перекрывать собой большую территорию, на которой по логике могло бы быть что-то размещено, но из-за проекции (изометрия или сбоку-сверху - не важно) разместить там ничего нельзя. По той же причине в 2D эрпоге не бывает небоскрёбов, все домики 1-2 этажа - ведь если запилить небоскрёб, он займёт половину карты и за ним уже ничего не будет видно.

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

Но если подумать, я бы вот хотел сделать типа 2.5D реализацию: карта состоит из 2D-тайлов, но при этом её можно вращать на 90 (60) градусов. Получается не одна проекция, а целых 4 (6 для гексагонов) - и вот тут-то и становится возможно увидеть, что расположено за горой или высоким домом, заглянуть за широкое дерево без "рентгена" и т.д. Можно спокойно пилить любые холмы и ямы, игроку просто придётся нажимать Q/E для разворота проекции. Хотя тут возникает вопрос - не придётся ли пилить слишком много дополнительной графики? Для каких-нибудь цельных домиков скорее всего да, а вот круглые (дерево, столб) и просто тайловые (горы) объекты, наверное, можно слепить из всё тех же ресурсов...

В общем, что-то вроде Don't Starve или того же RotMG - и там, и там есть вращение карты, однако в этих играх карты полностью плоские (не считая стен и порталов). Собсна не совсем ясно, зачем в этих играх нужно было делать возможность вращения карты, если все объекты мелкие и одинаково выглядят с любой стороны... Вот с крупными объектами было бы интересно, да.
Аноним 30/06/20 Втр 02:46:51 679498131
.png (1689Кб, 509x1200)
509x1200
>>679472
> Так что обычно большую карту делят на кусочки, соединяя порталами-переходами
У меня пока задумка делать мир бесшовным. Порталы будут в города\подземелье.
Ещё думаю над тем как сделать воду, точнее чтобы берег был не тайловый, а красивые изогнутые линии + речки всякие.
А про графику и ресуры. Можно моделировать здания, деревья и тд, а потом рендерить их в текстуру (заранее имеется ввиду) под нужным ракурсом.
Как-то давно наткнулся на пикчу и захотелось сделать свой варик, но для соло игрока.
Аноним 30/06/20 Втр 13:07:07 679533132
Вращаемая карта[...].png (108Кб, 926x900)
926x900
>>679472
>я бы вот хотел сделать типа 2.5D реализацию: карта состоит из 2D-тайлов, но при этом её можно вращать на 90 (60) градусов. Получается не одна проекция, а целых 4 (6 для гексагонов)
Вот, сделал в Inkscape набросок того, как я это вижу. Получилось прикольно, но с шестиугольниками для вращения на все 6 сторон придётся сделать дополнительные тайлы; с квадратами было бы проще. Ух, теперь хочется такую игру запилить, хотя из идей только вот такая вращаемая карта, лол.

>>679498
>У меня пока задумка делать мир бесшовным
Тогда либо все горки/овраги будут низкими, либо придётся вращать карту как я предложил) У тебя на втором скриншоте видно, как высокие горы/столбы блокируют чуть ли не половину карты. Даже если позади них можно было бы пройти (в рпгмейкере вроде нельзя), без "рентгена" игрок слеп, да и размещать там что-либо как-то нехорошо.

>Ещё думаю над тем как сделать воду, точнее чтобы берег был не тайловый, а красивые изогнутые линии + речки всякие.
Тут два варианта:
- делаешь >9000 тайлов разных кривых берегов и ручейков, по желанию можно сделать автоматическое размещение подходящих кусочков;
- либо рисуешь реки как отдельные объекты (как дома или деревья), но тогда они не смогут быть длинными, иначе будут зря нагружать рендерер (хотя сегодня это мелочь, конечно). Нет, конечно, можно сделать их из кусочков, тогда будет как отдельная тайловая карта, но с другими параметрами тайлов (тайлы намного крупнее основной карты).
Хотя, имхо, если уж делать реки "гладкими", то и остальные тайлы/объекты должны сочетаться. Будет некрасиво, если реки выбиваются из общего стиля карты.

>Можно моделировать здания, деревья и тд, а потом рендерить их в текстуру
Знаю про это, но в любом случае это нагрузка на художника/свой художеский скилл)
Аноним 30/06/20 Втр 14:27:05 679546133
Шесть проекций [...].png (65Кб, 963x762)
963x762
Вращение карты [...].gif (106Кб, 512x512)
512x512
>>679533
>но с шестиугольниками для вращения на все 6 сторон придётся сделать дополнительные тайлы
Похоже, я ошибся, новые тайлы нужно рисовать только для вращения на 12 сторон, для вращения на 6 сторон достаточного всего одного набора тайлов. Попробовал вручную повертеть простенькую карту 5x5 - выглядит неплохо (хоть и немного странно), к тому же более-менее разобрался, как такие карты вообще строятся (на интуитивном уровне, лол). Осталось только допилить свой движок под это дело, сделать редактор карт, и можно делоть игоры)

Что думаете на счёт таких карт?

если что, я не оп, просто мимо пробегал и заинтересовался темой 2Д-(ММО)РПГ
Аноним 30/06/20 Втр 16:37:59 679618134
>>679125
> агришь нейтральных мобов
1. Как вариант - один раз кликнуть, чтобы просто выбрать целью а там уже кликнуть еще раз, чтобы начать атаку или нажать что-то еще для всяких там суперударов(если они будут)
если человек промажет и даблкликом - то ему лучше отойти от компа, пока еще по меню "Пуск" попадает
> бьёшь игрока, которого не хотел бить.
в 99% ММО пвп-действия включаются отдельной галочкой или вообще ограничены отдельным локациями(типа WvW в гильдварс2), так что не вижу особой проблемы - нейтрального игрока не заденет, враждебного атакует по правилам п.1
Аноним 30/06/20 Втр 17:02:13 679624135
.png (970Кб, 900x574)
900x574
>>679546
> Похоже, я ошибся, новые тайлы нужно рисовать только для вращения на 12 сторон
Нет
Их нужно нарисовать только с одной стороны, но нужно их структурировать и рисовать по слоям: вода, уровень земли 1, уровень земли 2 и тд
Алсо, для графики ещё хочу попробовать пикрелейтед - texture splatting
Если применять твою методу, надо будет ещё подумать как текстура ляжет на всё это при поворотах
Аноним 30/06/20 Втр 17:21:31 679637136
>>679624
>>для вращения на 12 сторон
>Нет
Я имею в виду, что шестиугольник мы можем использовать один и тот же для 6 сторон, а для ещё 6 сторон его нужно повернуть на 30 градусов. У меня шестиугольники смотрят в сторону зрителя всегда одним из углов, так вот чтобы они могли смотреть не углом, а одной из сторон, придётся их перерисовать (на самом деле это не гексагоны, а немного приплюснутые шестиугольники - ровный гексагон показался некрасивым). Но вообще тут ещё вопрос того, что изображено на тайле - если это что-то строго ориентированное (как табличка, строго указывающая направление) - придётся нарисовать 6/12 раз, иначе будет дезориентировать. В том же Don't Starve предметы всегда лицом к зрителю, и это немного раздражает/дезориентирует (лично я стараюсь карту не вертеть).

>рисовать по слоям: вода, уровень земли 1, уровень земли 2
А, ну да, забыл про это. Персонажи ведь всегда к какому-то из уровней принадлежат... Хотя в моём случае всё равно непонятно как это прикручивать к принципам ECS...

>Алсо, для графики ещё хочу попробовать пикрелейтед - texture splatting
Это ведь только для реалистичных текстур и сложных ландшафтов имеет смысл? В таких 2D РПГ ведь графика собирается вручную/полуавтоматически, это проще (посмотри тайлсеты для RPG Maker, например, как там сделаны переходы между водой и землёй).
Аноним 30/06/20 Втр 17:36:06 679646137
>>679637
> Я имею в виду, что шестиугольник мы можем использовать один и тот же для 6 сторон
Короче говоря, нужно поворачивать текстуру на гексагоне, а сам он всегда одинаковый.

> Хотя в моём случае всё равно непонятно как это прикручивать к принципам ECS
Просто не задрачивать ECS сильно.
Хранить уровень земли (если таковой будет) и номер гексагона. Тем более планируется ли переход между уровнями? Как персонаж спустится на воду или заберётся на холмик?

> Это ведь только для реалистичных текстур и сложных ландшафтов имеет смысл?
Что ты имеешь ввиду? Это я немного увлекался редактирование вакрафта и для неё создали редактор noggit. Там этой техникой разрисовывается ландшафт. Вот и подумал что вместо обычных тайлов можно попробовать её использовать.

> В таких 2D РПГ ведь графика собирается вручную/полуавтоматически
Над этим я тоже подумал. Можно вот такую методу применить https://archive.gamedev.net/archive/reference/articles/article934.html
Аноним 30/06/20 Втр 20:26:07 679705138
>>679646
>Короче говоря, нужно поворачивать текстуру на гексагоне, а сам он всегда одинаковый.
Ну да, но даже текстуру можно не поворачивать, если она равномерная со всех сторон и плоская. Какой-нибудь песок, голая земля или очень мелкая трава - какая разница, под каким углом смотреть, в таком масштабе изменения незначительны, особенно если текстуры мелкие.

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

>Тем более планируется ли переход между уровнями? Как персонаж спустится на воду или заберётся на холмик?
По ходу дела сымпровизирую. Или нет. Пока представляю как короткие прыжки. Надо сначала просто карту сделать, всё равно нет чёткой идеи игры, скорее попрактиковаться хочется)

>Что ты имеешь ввиду?
Я имею в виду, что для простых "мультяшных" тайлов а-ля классические RPG Maker'ские пилить какое-то сложное смешивание текстур - оверкилл. Тем более, что такие тайлы рисуются вручную, и программное смешивание может плохо выглядеть - лучше пусть этим займётся художник... А вот с фототекстурами - другое дело, их вручную смешивать слишком трудно/нет смысла, программно получится не хуже.

>Можно вот такую методу применить
Интересно, мельком просмотрел статью - похоже, то, о чём я когда-то задумывался, давным-давно было решено) Всего-то нужно оставить часть тайла прозрачной и накладывать на другой тайл...

Мне кажется, мы мешаем ОПу, всё-таки это тред его проекта, а не просто любой 2д мморпг...
Аноним 30/06/20 Втр 22:42:04 679768139
.jpg (320Кб, 1280x720)
1280x720
.gif (6666Кб, 634x556)
634x556
>>679705
> Это уже костылирование будет, чревато лапшой, которой я пытаюсь избежать всеми силами.
Тогда у тебя все эти компоненты будут разбухать на все случаи игры

> пилить какое-то сложное смешивание текстур - оверкилл.
Ну вот грейвярд кипер выглядит классно
Правда, я как-то раз смотрел. Там многое сделано из готовых чанков.
Вот, например, речка состоит из двух берегов, а где сама вода - там ничего нет, просто пустота.
Аноним 01/07/20 Срд 23:28:19 680042140
test.webm (899Кб, 800x600, 00:00:07)
800x600
>>679768
>Тогда у тебя все эти компоненты будут разбухать на все случаи игры
Так ведь суть ECS - на каждый случай игры создавать отдельный компонент, и на каждый компонент создавать отдельную систему для работы с ним. Хотя зачастую одной системе нужно несколько компонентов для работы... Сейчас вот мне потребовался компонент для слоя карты, компонент палитры тайлов и уже имевшийся компонент текстуры (в составе палитры), а работает с этим только система карт (пока только рисует).

>Ну вот грейвярд кипер выглядит классно
(усиленно пытаюсь не сравнивать свои убогие потуги в геймдев с чужими играми)
Мне кажется, для такого всё-таки художник нужен, а не какая-то особая фича движка...
Аноним 02/07/20 Чтв 17:39:49 680299141
>>680042
> Так ведь суть ECS - на каждый случай игры создавать отдельный компонент
Это дико бесит, меня по крайней мере.
Вместо того чтобы взять bbox игрока и сравнить с bboxами, например, предметов чтобы их подобрать, нужно придумывать разные компоненты для этого.

> Мне кажется, для такого всё-таки художник нужен, а не какая-то особая фича движка...
Нужен человек со вкусом просто.
Аноним 02/07/20 Чтв 22:23:28 680336142
test.webm (226Кб, 800x600, 00:00:03)
800x600
>>680299
>Это дико бесит, меня по крайней мере.
Ну, не знаю. Вроде логично, если, например, для расчёта здоровья монстров используется тот же компонент, что и для расчёта здоровья игрока, только с поправкой на шмотки (тоже компоненты). С одной стороны слишком мелкий компонент, но зато как удобно - что угодно можно оживить, наделив здоровьем, или точно так же сделать бессмертным, отобрав компонент здоровья. :D
>Вместо того чтобы взять bbox игрока и сравнить с bboxами, например, предметов чтобы их подобрать, нужно придумывать разные компоненты для этого.
Эм? Если это для обработки коллизий/физики, то этим занимается отдельная система. Если где-то ещё потребовалось узнать, сталкивается ли игрок с чем-то - достаточно проверить компонент коллизии, а наполняется он системой коллизий автоматически (в первую очередь для системы физики). Т.е. компонент коллизии потребуется в любом случае, если есть физика, а вот для каких-то особых взаимодействий с предметами новый компонент уже не нужен - достаточно проверить состояние компонента коллизии (в нём будет лежать флаг "есть столкновение!" и ссылка на виновника столкновения).

Но вообще это тема для другого треда, наверное)

>Нужен человек со вкусом просто.
Человек со вкусом не обязательно умеет рисовать, а умеющий рисовать обычно вкус имеет)

>>680042
Добавил слоёв - получились холмы; осталось реализовать повороты и ещё кучу всего, если делать игру.

Мучаюсь: мне создавать свой тред, чтобы уже там хвастаться? Я пока не уверен, что смогу развить из этого наброска какую-то серьёзную игру, изначально хотел просто показать, как это могло бы выглядеть. Идеи на подобную тему когда-то давно были, но теперь я понимаю, что не смогу красиво всё нарисовать, а брать чужую графику/покупать/заказывать не хочу...
Аноним 03/07/20 Птн 02:11:43 680364143
>>680336
> а вот для каких-то особых взаимодействий с предметами новый компонент уже не нужен - достаточно проверить состояние компонента коллизии (в нём будет лежать флаг "есть столкновение!" и ссылка на виновника столкновения).

Ну вот, например, пекмен. Там есть предметы которые игрок собирает. Чтобы не городить какие-то ссылки на другие сущности, достаточно циклом пройтись по массиву предметов и сравнить bboxы с игроковским. Если есть пересечение, то считается что предмет подобран и его можно не рисовать на экране и дать игроку бонус какой-то.
Аноним 03/07/20 Птн 03:00:18 680369144
>>680364
>Ну вот, например, пекмен. Там есть предметы которые игрок собирает.
Ну, пакман - маленькая простая игра, в ней, наверное, действительно нет смысла "городить" ECS. Но мы же в треде ММОРПГ, так? Даже если это маленькая инди-ММО, она должна иметь большие возможности для расширения. Пакмана не нужно расширять, ты напишешь его один раз и забудешь, и нет особой разницы, как реализован подбор предметов. А вот в постоянно обновляемой ММО это важно. Важно, чтобы код был расширяемым.
Вот ты собираешься
>циклом пройтись по массиву предметов и сравнить bboxы с игроковским,
а где ты это будешь делать? В обработчике поведения игрока, типа player.update? А сколько подобной логики там будет сконцентрировано? А если понадобится лишить игрока части этой логики, без ущерба остальным сущностям? А если вдруг захочется сделать так, чтобы монстры тоже собирали предметы? А если вдруг понадобится, чтобы у каждой подбираемой вещи были свои условия подбора? И т.д., и т.п. Лень выдумывать, но можно выдумать массу способов расширения геймплея, из-за которых код игрока будет разрастаться, а контроль над ним - теряться. Ну и кроме игрока, монстров и подбираемых предметов могут быть и другие сущности, их нужно как-то внедрять в уже имеющуюся базу кода...

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

...так, ладно, я могу на эту тему слишком много говорить. лучше б игры делал
Аноним 03/07/20 Птн 08:43:28 680387145
эххххх завидую я вам, на юнити наверное быстрее писать чем самому корябать на Го и ЖСе
Аноним 03/07/20 Птн 13:11:59 680428146
>>680387
>эххххх завидую я вам, на юнити наверное быстрее писать чем самому корябать на Го и ЖСе
Кому завидуешь?

Я это >>680042 >>680336 на FreePascal с SDL2 сделал (мог и без SDL2, но надоело копаться в различных API; может потом как-нибудь откажусь и от SDL2). Заготовка движка с системой ECS была готова с декабря (в очередной раз переписана с нуля, теперь ещё более ECS-но, чем ранее), но я не знал, куда её можно было бы применить с учётом моих ограниченных навыков. Идея с гексагональной картой показалась интересной, решил попробовать, тем более идея "Don't Starve"-подобной игры несколько лет вертится... Ну и на реализацию нужных компонентов с системой, примитивную генерацию и многослойный тест суммарно ушло около 3-4 часов - в то время как на Unity или Godot можно было бы просто набросать стандартных компонентов или взять готовый ассет... Но мне не хочется натягивать графику на готовые компоненты готовых движков, мне интересно самостоятельно изобретать велосипеды и видеть, как они начинают работать) Наверное, эффект IKEA - готовый движок или библиотеку ты просто берёшь и используешь, а с нуля всё делаешь своими руками, оттого выше интерес и ценность самодельного движка. Игру так сделать труднее, но интереснее, если всё получается)

Может потом тоже попробую сделать сервер (тоже на FreePascal), но онлайн-игры имеют множество собственных проблем, с которыми мне не хочется сталкиваться. В итоге можно долгое время совокупляться с чисто сетевыми проблемами, забыв о геймплее и контенте для игры... А ведь потом ещё этот сервер где-то поддерживать нужно, а у меня нет белого IP и не хочется оплачивать VPS/VDS ради онлайна в 1.5 человека включая себя. Т.е. сетевые игры намного труднее даже без какого-либо сложного контента/геймплея (как те .io-игры).
Аноним 03/07/20 Птн 19:57:38 680559147
>>680428
>Может потом тоже попробую сделать сервер (тоже на FreePascal)
Не, на поскале это будет совсем муторно делать, надо учесть что у тебя будет общие данные, которые как то распределять между потоками нужно, хз как на паскале это проворачивают
Аноним 03/07/20 Птн 20:11:55 680563148
>>680369
> а где ты это будешь делать? В обработчике поведения игрока, типа player.update? А сколько подобной логики там будет сконцентрировано? А если понадобится лишить игрока части этой логики, без ущерба остальным сущностям?

В классе Game (он ведь по мимо этого содержит и информацию об игре) функция Update/Frame
У игрока функция Touch которая принимает указатель\ссылку на предмет
Функция может просто возращать булево значение и уже потом решать какой бонус дать игроку, а можно реализовать логику прямо внутри неё

> А если вдруг захочется сделать так, чтобы монстры тоже собирали предметы?
Делаешь им функцию Touch

Аноним 03/07/20 Птн 23:07:20 680580149
>>680559
Ну потоки на паскале делаются легко, для этого есть простой в использовании класс TThread. Для сети тоже есть куча компонентов/модулей, но я только когда-то давно пробовал по туториалам использовать компоненты для HTTP и UDP на Delphi, с тех пор с сетью никак не взаимодействовал, не было интереса/задач, так что это новая тема для меня. Главная проблема в том, что я почти ничего не знаю про архитектуру сетевых приложений и т.п., а уже рвусь пилить игровой сервер)

>>680563
>В классе Game (он ведь по мимо этого содержит и информацию об игре) функция Update/Frame
Главное, чтобы этот класс/метод не превращался в монстра, делающего всё что угодно...

У меня вот нет класса "игра", есть "движок", абстрактно занимающийся разными низкоуровневыми вещами (ввод-вывод, обновление систем), а вся игра должна собираться из сцен, наполняемых сущностями, состоящих из компонентов и обрабатываемых системами. Т.е. в идеале после создания класса TEngineCore я к нему не возвращаюсь и просто соединяю между собой нужные сцены, сущности, компоненты и системы. И если где-то происходит проблема, это проблема нового кода, ведь он не может просто взять и сломать старое, занимаясь какой-то своей работой. В общем, выглядит лучше построения сложного дерева классов с последующим рефакторингом и выкидыванием половины сделанного, чем я занимался год назад (изначально собирался сделать ECS, потом осознал, что сделал обычное ООП-дерево и запутался в нём, начал переделывать в сторону ECS и ещё больше запутался, потом переписал с нуля, но решив взять для простоты 2D пространство вместо 3D)...

>Делаешь им функцию Touch
Копипастом из класса player? Или унаследовать их от общего предка, и поместить Touch в класс-предка? А потом двигать методы туда-сюда по дереву и ставить костыли, чтобы монстр-пешеход мог открывать ящики, а монстр-птица не мог, но при этом игрок по-прежнему имел способность летать (способность ходить; способность летать; способность атаковать; способность открывать ящики - комбинируя их получаем разные классы, но дерево из таких классов будет выглядеть жутко)...

Ой, всё, об этом можно долго спорить, тем более я сам пока слабо разбираюсь (например, много слышал про "систему сообщений", но так и не понял, как её делать и использовать, и не знаю, как у меня будут взаимодействовать между собой разные сущности).
Аноним 03/07/20 Птн 23:20:09 680585150
>>680580
> Копипастом из класса player?
Я не знаю какой ты программист
Можешь делать в меру своих навыков

> монстр-пешеход мог открывать ящики, а монстр-птица не мог
Эти монстры отличаются лишь визуальным представлением и логикой движения
Возможность взаимодействовать с чем-то можно дать/забрать у кого угодно (как, например, возможность атаковать и тд)

> комбинируя их получаем разные классы, но дерево из таких классов будет выглядеть жутко
Тут наследование не нужно
Аноним 04/07/20 Суб 10:04:09 680611151
>>680585
>> Копипастом из класса player?
>Я не знаю какой ты программист
>Можешь делать в меру своих навыков
При чём тут я, я спрашиваю, как избежать дублирования кода, который нужен для разных классов? В ООП всего два пути - наследование и агрегация/композиция. Наследование - страшное неуклюжее дерево, плохо подходящее для геймдева, а агрегация - зайчаток ECS. ECS просто даёт возможность собирать объекты в реалтайме, полностью абстрагируясь от данных (компоненты, могут содержать что угодно) и логики (системы, могут делать с компонентами что угодно).

Копипаст кода = трудности с его модификацией во всех местах сразу (когда нужно обновить логику).
Вызов внешних процедур из разных классов = смешивание ООП и процедурного кода, не все ЯП разрешают.

>Эти монстры отличаются лишь визуальным представлением и логикой движения
Ну и? Будешь делать класс Monster и потомки RoadMonster и FlyingMonster? Логику-то ведь нужно где-то разместить. А графика будет в классе Renderable, от которого наследуется Monster... или он наследуется от Movable?

>Возможность взаимодействовать с чем-то можно дать/забрать у кого угодно (как, например, возможность атаковать и тд)
Каким образом? Через флаги? А нужно ли добавлять флаг CanAttack в класс LootBox? А если мы вдруг захотим сделать мимика, который функционирует как сундук, но умеет нападать? Наследовать Mimic от LootBox или от Monster? Или добавить в LootBox функцию Attack и флаг CanAttack? Всё это слишком сложно и чревато проблемами в будущем, когда придётся что-то менять...

>Тут наследование не нужно
Ну не знаю, я бы всё-таки отделил движущиеся объекты от атакующих. Могут существовать мобы, которые умеют ходить, но не должны атаковать (курицы). И могут существовать монстры, которые атакуют, но не двигаются (вспоминаем HL). То есть разные объекты - разная функциональность, зачем их смешивать друг с другом в одном классе? Эдак можно вообще один класс Entity создать и напихать в него всю функциональность, которая может быть у игровых объектов, а менять поведение он будет по значению какой-нибудь переменной... вот только это бред, который обязательно приведёт к проблемам.

По-моему это уже холивар.
Аноним 04/07/20 Суб 13:43:41 680662152
>>680611
> Наследование - страшное неуклюжее дерево, плохо подходящее для геймдева
Это ты как опытный игростроитель говоришь?

> Копипаст кода = трудности с его модификацией во всех местах сразу (когда нужно обновить логику).
Повторюсь, если ты программируешь так, то это не значит что у других точно также

> Будешь делать класс Monster и потомки RoadMonster и FlyingMonster? Логику-то ведь нужно где-то разместить
Для логики есть класс Movement

> А если мы вдруг захотим сделать мимика, который функционирует как сундук, но умеет нападать?
И опять ты мимо
Можешь посмотреть как сделаны банкиры в mangos (эмуляторе сервера вов): обычные юниты, могут атаковать
Щёлкаешь на них ПКМ открывается окошко банка, а рядом с ними гильдбанк, не двигается, не летает, не умирает и с ним игрок тоже взаимодействует

> Ну не знаю, я бы всё-таки отделил движущиеся объекты от атакующих.
> То есть разные объекты - разная функциональность, зачем их смешивать друг с другом в одном классе?
Ты иерархии строить не умеешь
Есть такой принцип: разбиения задачи на подзадачи и ты его игнорируешь
Ты все классы смешиваешь в кучу, а когда надо расширить (например, движение) ты зачем-то делаешь вообще новый класс, а не занимаешься классом движения
Аноним 04/07/20 Суб 20:36:47 680776153
>>680662
Я не понимаю, как ты предлагаешь делать игры без композиции и наследования, но с ООП.
Чисто на процедурах тоже сложно, слишком много протаскивать через аргументы придётся.
Аноним 06/07/20 Пнд 20:44:37 681204154
Довеча короче поиграл в Darkwood и мне понравилась боевка, думаю реализовать у себя ее, интересно как в онлайне будет смотреться
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов