Gamedev


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

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
287 27 54

Говорят рогалики можно кирилить десятилетиями. Поехали! Аноним 19/02/19 Втр 11:55:23 5583491
cogmindasciiart[...].png (20Кб, 1115x1003)
1115x1003
Говорят рогалики можно кирилить десятилетиями.

Поехали!
Аноним # OP 19/02/19 Втр 12:14:33 5583502
В треде будут по большей части рассуждения, так как я не знаю как реализовать ту или иную функцию. Для начала моя самая большая хотелка: Уникальная система крафта персонажа, предметов, окружения, врагов, эффектов. То есть, все находящееся в игровом пространстве может быть как разбито на некие составляющие, так и быть составлено из них. На самом деле все, на этом все заканчивается, но посмотрим как реализовать хотя бы это. Интересует меня в большей степени внутренняя составляющая игры, поэтому графику и прочее я оставлю на потом.
Аноним # OP 19/02/19 Втр 12:19:20 5583513
Писать планирую на C# с оглядкой на многочисленные библиотеки со вспомогательными функциями для создания roguelike игр (там тебе и генерация карт и игровые сущности). В общем, есть куда подсмотреть в случае чего
Аноним # OP 19/02/19 Втр 12:38:30 5583644
Ну так вот, рассуждения:

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

Итого:
Пространство
Игрок, враги (или экземпляры одного объекта или просто наследуются от общего опредка)
Предмет
Эффект
Действие
Аноним # OP 19/02/19 Втр 13:12:01 5583735
Само собой для простоты разработки все должно быть разбито на группы, то есть, если это это эффект, то у него должна быть определенная природа (физическое воздействие, химическое или наоборот, защита от этого воздействия), если это предмет, то его свойства должны также учитывать наличие этих типов взаимодействия
Аноним 19/02/19 Втр 13:26:26 5583806
Ну нихуя себе ты неочевидностей рассказал ммм...
Аноним # OP 19/02/19 Втр 13:39:49 5583917
>>558380
Ого, кто-то впервые столкнулся с проектированием архитектуры.
Аноним 19/02/19 Втр 13:42:19 5583928
>>558391
Лично я столкнулся с очередным маняфантазированием в гд, вот сижу прикидываю через сколько дней сдохнет тред.
Аноним # OP 19/02/19 Втр 13:44:38 5583939
>>558392
Так через сколько сдохнет? Мне интересно же.
Аноним 19/02/19 Втр 13:46:14 55839410
>>558393
Думаю максимум через 3 дня. Скорее всего раньше.
Аноним # OP 19/02/19 Втр 13:49:39 55839511
>>558394
Ого, целых три дня. Не плохо. Я то думал уже сегодня вечером исчезнуть из треда
Аноним 19/02/19 Втр 13:50:58 55839612
»558364
Почему у тебя "эффект" и "действие" - базовые объекты? Не кажется ли тебе оптимальным описать всевозможные взаимоидействия и эффекты внутри классов "игрок, враги" и "предметы", ты вообще с ООП знаком? Ну и рогалики, требущие .net - такое себе, конечно.
Аноним # OP 19/02/19 Втр 14:04:09 55839813
>>558396
>Почему у тебя "эффект" и "действие" - базовые объекты?
Разве так не будет проще их переиспользовать?

> Не кажется ли тебе оптимальным описать всевозможные взаимоидействия и эффекты внутри классов "игрок, враги" и "предметы"
Что будет в том случае, если классы игрок, враг или предмет должны будут иметь одинаковый эффект или действие? Дублировать код?

>ты вообще с ООП знаком?
Вообще знаком, но критику с радостью приму. Будет круто, если ты чуть более подробно распишешь то, что я делаю не так, потому что сейчас я не понимаю в чем именно проблема. Мне всегда казалось, что ООП должен решать проблему переиспользуемости кода.

>Ну и рогалики, требущие .net - такое себе, конечно.
Согласен, но рогалик, это просто пет. проджект для изучения net, потому и такой стек технологий
Аноним # OP 19/02/19 Втр 14:07:32 55840014
>>558398
>Почему у тебя "эффект" и "действие" - базовые объекты?
>Разве так не будет проще их переиспользовать?
И да, любой эффект может применять действие и любое действие может накладывать эффект. Поэтому они должны существовать как отдельные от всего сущности.
Аноним 19/02/19 Втр 14:13:37 55840215
>>558398
>если классы игрок, враг или предмет должны будут иметь одинаковый эффект или действие? Дублировать код?
>решать проблему переиспользуемости кода
Юзай ECS

А вообще сделай тупой прототип за 2 дня, и там все подводные будет видно. Потом просто с нуля уже начнешь писать с необходимой архитектурой. Главное еще не переусложнять.

мимо
Аноним # OP 28/02/19 Чтв 19:30:42 56230816
Так, а вот и я.

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

Аноним # OP 28/02/19 Чтв 19:32:09 56230917
render155137119[...].gif (216Кб, 1931x460)
1931x460
Сегодня за пару часов накидал небольшой проект с классами базовых объектов, картой и разными вспомогательными плюшками. Выглядит это сейчас так:
Аноним # OP 28/02/19 Чтв 19:40:50 56231218
Писал с оглядкой на https://github.com/Chris3606/GoRogue , но мне он не очень пока нравится. Например, в классе Coord (Из названия понятно, что он призван облегчить нам работу с координатами) зачем-то используется Xna, который от майкрософта. Также по коду идет много оптимизаций и костылей, которые вроде как описаны и документированы, но все равно режут глаз. В общем, будем писать все свое.
Аноним # OP 28/02/19 Чтв 19:54:17 56232019
Сейчас нужно немного переосмыслить то, что я тут наделал. Такое ощущение, что я хуйни написал.
Аноним 28/02/19 Чтв 20:38:12 56232520
По мне, ты слишком много внимания уделяешь архитектуре, классам и т.п. Ради чего всё это? Сама то игра у тебя в голове есть?
>>558398
>рогалик, это просто пет. проджект для изучения net
А, ну тогда понятно. Но всё равно, даже практиковаться, имхо, лучше на том к чему есть хоть какие-то идеи и интерес.
Аноним # OP 28/02/19 Чтв 20:53:24 56233221
>>562325
Есть и интерес и идеи. Обычные приложения пилить как раз намного более скучное дело, чем игру. Тем более, что мелкие приложения уже все запилены, а что-то более масштабное в одиночку просто не поднять. Тем более, что сам я страдаю уже несколько лет игровой импотенцией и мне всегда чего-то не хватало в играх.
Аноним # OP 28/02/19 Чтв 20:54:15 56233322
>>562325
>По мне, ты слишком много внимания уделяешь архитектуре, классам и т.п. Ради чего всё это?
И да, для меня написание всего этого - уже игра. Получаю удовольствие от построения архитектуры
Аноним 01/03/19 Птн 01:23:23 56239723
>>558349 (OP)
>пикрелейтед
Это из cogmind? Бля, надо добраться до нее наконец-то.
Аноним 01/03/19 Птн 01:24:41 56239824
14315047902312.jpg (21Кб, 349x356)
349x356
>>558398
>ООП должен решать проблему переиспользуемости кода.
Ну да, должен ;) ;) ;)
Аноним 01/03/19 Птн 08:31:28 56244825
>>562398
А что, нет?
У меня есть базовый класс "иди нахуй", в котором очень много витиеватого трёхэтажного кода, написанного много раз. Теперь, чтобы послать нахуй залётного ЕЦС-чушкана, мне достаточно просто сконструировать класс с инициализатором. И это всё одной строкой!
var посыл = ИдиНахуй.new(){КогоПослать = "ЕЦС-чушкан"}
Далее, если мне нужно плотно работать с чушканом (если он с первого раза не понял), я могу унаследоваться от базового класса:
class ИдиНахуйЕЦСЧушкан : ИдиНахуй { КогоПослать = "ЕЦС-чушкан" }
И далее, просто конструировать класс-потомок.
Аноним 01/03/19 Птн 08:43:14 56245126
>>562448
Ничего себе, ты дажи класы с носледованием выучил. Кокой ты крутой прогромист.
Шучу, на самом деле твой пост детектит в тебе нюфаню.
Аноним 01/03/19 Птн 18:33:41 56257627
>>562398
>>562451
Нут ты и траль, дружище. Ты же даже никак не аргументировал свою точку зрения. Если тебе есть что сказать по теме, то давай, ждём. А пока создаётся впечатление, что ты сам ничего в этом не понимаешь.
Аноним 01/03/19 Птн 18:36:11 56257828
>>562576
И да, добавлю: серебряной пули не существет. Не стоит толкать ООП туда где ему не место и наоборот, если проблема отлично решается средствами ООП, то почему бы его не применить?
Аноним 01/03/19 Птн 18:43:30 56258229
>>562397
Скрин из их инструмента для рисования
Аноним 01/03/19 Птн 18:51:40 56258530
>>562576
>>562578
Все твои рассуждения разбиваются о тот простой факт, что ECS это паттерн ООП.
Аноним 01/03/19 Птн 18:59:51 56258731
>>562585
Такие факты надо пруфать.
Хотя банально по определению понятно, что это абсолютно не так.
Аноним 01/03/19 Птн 20:11:43 56260932
>>562585
>ECS это паттерн ООП.
Ты не мог не обосраться
Аноним 02/03/19 Суб 11:12:41 56274933
>>558364
Ты просто движкописец. Видимо твоё призвание - писить движки
Аноним # OP 05/03/19 Втр 20:24:08 56359634
Движкописец в треде.
В общем, переосмыслил написанное ранее. Пришел к выводу, что нужно делать так:
1. Есть карта
2. На карте расположены ячейки (Cell) в виде двумерной сетки с координатами x и y соответственно
3. У каждой ячейки есть своя координата и массив объектов находящияхся в ней [в ячейке]
4. Каждый объект находящийся в ячейке может иметь метод Step, который, собственно и может реализовывать часть логики отвечающей за ход данного объекта

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


На самом деле никого бы не сожрали, потому что плесень умеет только двигаться
Аноним # OP 05/03/19 Втр 20:24:25 56359735
render155180620[...].gif (558Кб, 1931x670)
1931x670
Аноним 05/03/19 Втр 20:33:20 56360136
Аноним 06/03/19 Срд 09:13:57 56372637
95049A77-9CF5-4[...].png (7Кб, 225x192)
225x192
>>563601
Но сама логика автомата пока собрана из говна и палок. В итоге хотелось бы прийти к описательному формату типа пикрил
Аноним 06/03/19 Срд 09:31:04 56372938
Аноним 06/03/19 Срд 09:53:12 56373239
>>563729
Если про код, то из моей головы. Так вижу решение проблемы описания правил для клеточного автомата. Решение не окончательное, конечно, а просто как пример. А скрин из какой-то онлайновой ide, чтобы подсветка кода была
Аноним 31/03/19 Вск 17:45:47 57039140
Ты это всё мутишь на С#? Блин, мне тоже интересна тема рогаликоварения, правда я начал с С++. Хотелось бы тоже обоюдный обмен опытом на стабильной основе запилить, дашь фейкомыло?
Аноним 31/03/19 Вск 18:51:22 57039841
>>558398
>пет. проджект
Пет у тебя сокращение от "петтинг"?
>>563596
У каждой ячейки есть своя координата и массив объектов находящияхся в ней [в ячейке]
>Каждый объект находящийся в ячейке может иметь метод Step
И потом, чтобы stepнуть все объекты, ты будешь перебирать все ячейки?
мимопроходил
Аноним 01/04/19 Пнд 04:13:14 57045142
>>570398
Это сделать же можно через доп bool active, что то такое? чтобы в массив обработки степа добавлялись только обьекты с этим фрагом, и степпер обсчтиывал только их. А пуляться и забираться обьекты будут при их появлении/уничтожении. Не знаю как идея, расскажите о подводных

мимо-не-оп
Аноним 01/04/19 Пнд 04:13:56 57045243
>>570451
>с этим флагом
самофикс
Аноним 01/04/19 Пнд 21:12:41 57061744
>>570398
>И потом, чтобы stepнуть все объекты, ты будешь перебирать все ячейки?
Нет, все объекты, которые можно будет степнуть в том числе регистрируются в специальном синглтон-хранилище, откуда я их переберу обычным циклом. В ячейках они регистрируются чтобы удобнее было делать потом выборку указав конкретную ячейку

Мимо ОП
Аноним 01/04/19 Пнд 21:15:15 57061945
Рад, что тред не умирает и даже кому-то интересен. У меня тут нужда небольшая в деньгах появилась и по вечерам шабашу. Как только закрою проект, так сразу продолжим кодить, а пока можно подумать над альтернативой регистрацией объекта в ячейку и отдельное хранилище. Мне кажется, что это не самый лучший способ
Аноним 01/04/19 Пнд 21:21:58 57062346
>>570391
Пиши в тред, друг. Здесь, если мы хуйни понарошку нас хоть люди поправят, но если очень хочется, то я позже заведу фейк и кину в тред

Оп
Аноним 01/04/19 Пнд 21:30:45 57062447
>>570623
>понарошку
Понапишем

Аноним 01/04/19 Пнд 21:37:25 57062648
>>570619
>регистрацией объекта в ячейку и отдельное хранилище. Мне кажется, что это не самый лучший способ
Объясню пока. Это скорее даже не костыль, а просто плохо масштабируемое решение. Если представить, что у нас появляются ещё какие-то критерии по которым мы бы хотели делать выборки, то сразу становится ясно, что ми по итогу просто будем перебирать каждый раз это самое общее хранилище. Непорядок.
Аноним 02/04/19 Втр 04:08:27 57065249
>>570623
Лишь бы ты не ищезал внезапно.
К слову, я смотрю ты филигранно расставляешь архитектуру игры, но у тебя есть концепт со стороны пользователя? Вот что он будет видеть?
Мне тоже интересна дико тема проработки архитектуры, правда пока-что не хватает умишка прорабатывать это всё. И твоя идея даже подожгла немного меня.

То есть допустим, несмотря на то, что у тебя шикарная идея, не понятно как это будет со стороны пользователя выглядеть, что ты хза игру создать хочешь, что за вселенную, чем там можно и нужно будет заниматься? Чем она будет увлекать? Насколько можно будет отождествляться со своим персонажем? (Как пример, тут Cogmind несмотря на всю свою эпичность механик, сильно проигрывает в связи с персонажем Cataclysm DDA, предполагаю, что причина тому совершенно ни на что не похожий мир, и персонаж, который представляется абстрактным роботом) Рогалики это довольно неординарная ветвь игр, но её основное требование, и в то же время преимущество, это то, что здесь можно невозбранно экспериментировать с механиками, структурой мира, ядром игры и прочим. Создавать по-настоящему симулятивные программы. Очень хороший пример это Дварф Фортресс.

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

Я хотел получить почту, или что-нибудь еще (телегу дискорд или тому подобное) чтобы более оперативно общаться на эту тему.
Аноним 02/04/19 Втр 22:55:04 57095050
3DEA5F79-1110-4[...].png (142Кб, 800x800)
800x800
>>570652
На самом деле о геймплее очень рано заводить речь. Будет так: у меня есть ряд технологий, которые мне сейчас интересно освоить. Это и клеточные автоматы, и ии (ml.net), и скриптовые языки внутри приложения. И как будет запилен некий набор функций, я его облачу в геймплей в сеттинге «самосборка». С таким подходом модно будет даже попробовать поэкспериментировать с геймплеем, используя пикрил архитектуру
Аноним 03/04/19 Срд 03:49:39 57103051
>>570950
Кстати я тоже маняфантазировал, как бы самосбор выглядел в рогалике.

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

Кстати, я в этой теме далеко не ведающий, пояснить как ты будет машин лёрнинг использовать?
Как можно расшифровать пикрил?

К слову, как у тебя будет карта реализована? стандартным нетхаковским методом? (одна карта на весь экран, каждый z уровень отдельно, а не является 3д структурой), или как в том же катаклизме? (герой в центре бесшовной карты, а z уровни являются частью игры (хотя конечно в кате с я уровнями проблема ебанутая, там вообще их по сути нету, но кит исправился во второй части. И забросил её.))

И как ты видишь Самосбор рогалик? Как выживастик? Или как симуляцию, где @ должен будет существовать?
Аноним 03/04/19 Срд 17:18:26 57114052
>>571030
>Я думаю что это всё должно так или ниаче паралельно идти. Потому что вдруг ты сочтёшь нужным применить какую-нибудь геймплейную механику, а у тебя тех возможности не будет нормальной, и придётся пилить это через костыли, или вообще отказаться от этой идеи.
Если для описания игровой логики (геймплея) мне чего-то не хватает и приходится городить костыли, значит я что-то сделал неправильно и нужно будет это исправлять, а не городить костыли. Цель - не конечный результат, а скорее увлекательный процесс написания и проектирования движка.

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

>Как можно расшифровать пикрил?
https://metanit.com/sharp/mvc5/23.1.php
Там все доступно рассказнно.

>К слову, как у тебя будет карта реализована? стандартным нетхаковским методом?
У меня пока это просто 2д сетка, по которой перемещаются игровые объекты. Она не бесконечная.

>И как ты видишь Самосбор рогалик? Как выживастик? Или как симуляцию, где @ должен будет существовать?
Во всех рогаликах, что я играл, мне не хватало "глубины" погружения. Создавалось впечатление каких-то пластмассовых, заскриптованых декораций, по которым бродит персонаж. По задумке, все функции, которые я реализую, должны каким-то образом комбинироваться порождая огромное число разных механик. Конечно, все это может вырости в неуправляемую хуету, но так даже интереснее. В общем, будет некий, существующий по своим внутренним законам мир, а персонаж просто будет по нему бегать.
Аноним 03/04/19 Срд 17:18:42 57114153
Аноним 04/04/19 Чтв 04:20:33 57123654

>>571140
>У меня пока это просто 2д сетка, по которой перемещаются игровые объекты. Она не бесконечная.

Тобишь ты будешь потом перепиливать всё?

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

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

Еще можно натренировать чтобы локации генерировались более интересным образом.

Еще были маняидеи насчёт написания StoryTeller'a, грубо говоря бота рассказчика, который бы формировал текст путешествия в форме логов, но при этом учитывая огромное количество переменных, или может даже меня окружение/квесты.

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

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

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

К слову, чего пишешь сейчас там? Интересно узнать как сама разработка происходит.
Аноним 04/04/19 Чтв 14:27:05 57130555
>>571236
>Тобишь ты будешь потом перепиливать всё?
Если текущее решение не будет меня устраивать - конечно. Проблемы в этом никакой нет, ведь с каждым разом должно получаться все лучше и лучше

>Вот в этом проблема уже есть, в плане того, что у тебя так или иначе должно быть понимание как всё работает, и должна быть единая система, полностью изначально расписанная.
Расписал крупноблочно (на высоком уровне абстракции так сказатб) чтобы определиться с направлением. Сейчас идет этап исследования, когда я просто экспериментирую. Обычно после этого этапа требования и уточняются.

>К слову, чего пишешь сейчас там? Интересно узнать как сама разработка происходит.
Сейчас работаю над другими проектами (за которые мне платят), а рогалик, это домашний проект, который получается все оставшееся время (которого пока нет). Поэтому пока ничего нового показать не смогу
Аноним 04/04/19 Чтв 14:32:21 57130756
>>571305
>>571236
Вообще, цель, это не рогалик как законченный продукт, а сам процесс разработки, в течении которого я смогу пощупать кучу всего нового. Да, было бы очень хорошо, если бы мне его удалось закончить, но нужно быть готовым, что это затянется надолго.
Аноним 04/04/19 Чтв 18:05:24 57133357
>>571307
Да, ты писал уже об этом. Ну буду мониторить тебя. К слову, може ты на гитхаб зальёшь исходники, или как-нибудь еще рашшеришь? Мне интересно посмотреть исходники
Аноним 04/04/19 Чтв 21:06:13 57135758
>>571333
Да, так позже и сделаю.
Аноним 08/04/19 Пнд 07:13:37 57206059
че блять умер что ли, ну ебана
Аноним 08/04/19 Пнд 17:50:10 57211460
>>572060
Работу работаю. Абу мне не платит за этот тред и приходится зарабатывать работая на дядю. Так что давай запасемся терпением лучше.
Аноним 09/04/19 Втр 07:07:13 57219961
>>572114
ты сюда время от времени хотя бы измышления свои вываливай, может думки по механикам и архитекртуре там.
Аноним 09/04/19 Втр 18:35:38 57229962
Присоединяюсь! Какой язык используете?
Аноним 09/04/19 Втр 18:36:09 57230063
Аноним 09/04/19 Втр 18:37:17 57230164
>>572300
Сделал уже что-нибудь? Или может есть предыдущие проекты?
Аноним 09/04/19 Втр 18:39:09 57230265
>>572301
Если ты про игровые проекты, то это первый.
Аноним 09/04/19 Втр 18:45:28 57230766
>>572300
А пчому именно С# то? Чем он лучше Спп?
Аноним 09/04/19 Втр 18:50:08 57231167
>>572302
Ааа, ладно. Завтра планирую новый рогалик начать писать, ибо мне не очень понравилось как я реализовал предыдущий, хоть и много всего сделал, если вам будет интересно может буду показывать свои результаты, не знаю.
Аноним 09/04/19 Втр 18:50:53 57231268
Аноним 09/04/19 Втр 18:52:35 57231369
Аноним 09/04/19 Втр 18:53:21 57231470
>>572313
А что у тебя за рогалик? И почему ты решил остановиться? Что не так было с предыдущим? Какая там архитектура была?
Аноним 09/04/19 Втр 19:08:33 57231671
>>572307
Ничем. Смотри >>558398
>Согласен, но рогалик, это просто пет. проджект для изучения net, потому и такой стек технологий
Аноним 09/04/19 Втр 19:10:31 57231772
>>572314
Вообще читая тред я наверное осознал какой простой у меня рогалик, ибо у меня все как то намного проще получилось, да и вообще зашкварно или нет, но я его писал на lua, думаю может на c++ попробовать, хз. Ну вообще рогалик как рогалик получился, графика тайловая, в папке с игрой лежит тайлсет чтоб каждый мог изменять его, над генерацией я не сильно заморачивался, думал и пытался реализовать чтоб были подземелья, комнаты все такое, а в итоге получился генератор пещеры, ну я и решил оставить ибо выглядело неплохо. Игра очень сложная, мобы живут своей жизнью, размножаются, игрок может свой мини домик построить. 10 класс и 10 рас, в общем довольно много сделал, долго объяснять) Но как то мне он не нравится, по этому планирую новый рогалик с опорой на реализм в механике боевки, типа можем атаковать любую часть тела моба, моб будет погибать от тяжёлых ран или от потери крови, скиллы прокачиваются взависимости от того, что ты делаешь, в общем наверное как то так, ух, многовато как то я написал.
Аноним 09/04/19 Втр 19:16:35 57231973
>>572317
Неплохо. Мне казалось фундамент так или иначе нужно будет закладывать на С++, или С#. Я просто начал плюски задрачивать, потому и выбрал их. А ОП о-очень интересные идеи в плане архитектуры подаёт. С заделом на будущее.

Идея написать полное и гибкое ядро на спп допустим, а остальной контент и функционал пилить на том же луа, или питоне. Как по мне, так это довольно интересная задумка, которая позволит создать универсальный движок для рогаликов. Но это конечно надо тщательно прорабатывать архитекртуру, и обдрачиваться предиктивностью. И тут конечно вопрос оптимизации опять вылезет. Хоть рогалик и игра пошаговая, о работать она тоже быстро по-своему должна.
Аноним 09/04/19 Втр 19:25:56 57232374
>>572319
Круто, в общем завтра скину скриншот рогалика который получился, а сейчас спать, удачи :3
Аноним 09/04/19 Втр 19:32:47 57232475
>>572323
А графоний на чем пилил, OpenGL/SDL/...?
Аноним 09/04/19 Втр 19:35:11 57232576
>>572324
а какие плюсы и минусы той или иной либы по отношению к рогаликоварению?
Аноним 09/04/19 Втр 20:55:15 57233577
1.png (14Кб, 734x255)
734x255
Так. Сейчас попробуем порассуждать на тему юнитов и принятых ими решений.
Представим, что существует некая условная йоба (человек, дрон, плотоядная плесень, лужа йоба-слизи). Вокруг йобы представлен мир, а у самой йобы имеются некие сенсоры, позволяющие получать информацию из этого самого мира. Если это человек, то в роли сенсоров могут выступать глаза, уши, нос. Если это плесень, то она может получать только информацию о том, что находится в тех клетках где она распространена и немного рядом (те клетки, с которыми она соприкасается). Так как время в игре квантовано (разделено на шаги) очевидно, что каждый ход юнит должен просто анализировать полученную им информацию и выдавать своему телу или чему-то еще команду.

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

Из чего по итогу состоит юнит:
1. "сенсоры" собирающие данные об окружающем мире и самом юните (например, сенсор отвечающий за чувство голода)
2. модульное тело, каждая часть которого может иметь свои уникальные функции
3. черный ящик принимающий решения и отдающий команды модулям тела

Далее о черном ящике. Сам он должен быть также модульным, (модуль клеточного автомата, модуль ИИ). Даже не один модуль, а целая цепочка, если так как универсальный ИИ создать будет для меня практически невозможно, а вот ИИ отвечающий за какую-то определенну. функцию - легко.

Вообще, по задумке, внутри ящика будет существовать некий объект со внутренней информацией (некий scope, в котором будет храниться также контекст (дополнительная информация))

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

ваш ОП
Аноним 09/04/19 Втр 20:57:06 57233678
>>572335
>(модуль клеточного автомата, модуль ИИ)
Там же будет какой-нибудь скриптовый язык, чтобы можно было написать логику просто руками. Например, lisp (интерпретатор которого мы напишем сами, конечно же)
Аноним 09/04/19 Втр 21:09:56 57234379
>>572325
Я сам хз, но по идее для простых рогаликов подойдёт ченить высокоуровневое, сам юзаю OpenGL в самой простой вариации(шэйдеры и массивы примитивов для координат квада) потому что по-другому никак.
Если не охота байтоебить можно начать с Love2D какого-нибудь.
Аноним 09/04/19 Втр 21:10:46 57235180
>>572336
Ты же на Сишарпе, как лисп воткнёшь?
Аноним 09/04/19 Втр 21:13:54 57239381
>>572351
Любая достаточно сложная программа на C или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp (Филип Гринспен)

А если по существу, то так и воткну. Это же скриптовый язык. Для него лишь необходим так называемый интерпретатор, который в свою очередь может быть написан на чем угодно (уже написан почти на всем, на чем только можно, в том числе c#)
Аноним 09/04/19 Втр 21:17:57 57244182
Аноним 09/04/19 Втр 21:21:01 57245283
>>572441
Вайп старыми постами?
Аноним 09/04/19 Втр 21:24:33 57246184
>>572452
Как-то слабовато получилось
Аноним 09/04/19 Втр 21:36:16 57247385
Спасибо, Абу, почистил тред
Аноним 10/04/19 Срд 04:03:49 57253186
>>572335
Ну в общих чертах это конечно очевидное описание. Вот скорее интересно, получается, каждый юнит будет получать каждый ход заного всю карту? как вообще будет представляться в уме ИИ всё пространство? Как информация будет интерпретироваться? Условно, для простого ИИ обычного импа-чухана, можно просто вложить тайлы препятствий, тайлы опасности и тайлы агрессивно-дружественных существ. Хотя каждый ход прогонять заного всё это, смысла особого нет, как по мне. Не оптимальненько. При этом тебе придётся либо писать каждому виду существ "модели" поведения, или же можно создать 1 модульный вид интеллекта, который будет ограничиваться "знаниями", которые у него имеются (а-ля флаги).

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

>>572343
Меня парит больше вопрос оптимизации, и кроссплатформенность, Можно и побайтоёбить, но немного, и чтобы не было слишком сложно, а-ля брейнфак бля, без фанатизма в общем.

>>572336
Чем тут Лисп от Луа отличается?
И меня постоянно почему-то парит то, что такие скриптовые языки будут невероятно медленные, по сравнению с компилированным кодом, и что им можно только давать простую логику. Но при этом желание сделать core игры так сказать на Сишке, а дописать механ на Луа довольно неслабо перевешивает.
Аноним 10/04/19 Срд 09:06:50 57254187
>>572324
К сожалению, не заморачивался над этим, и просто использовал Love 2D, там используется function love.draw(), что довольно все облегчает. В следующем моем посте, прикреплю уже скрины с тем моим рогаликом, о котором я писал.
Аноним 10/04/19 Срд 09:37:33 57254288
1.png (38Кб, 1600x900)
1600x900
2.png (46Кб, 1600x900)
1600x900
3.png (87Кб, 1600x900)
1600x900
4.png (103Кб, 1600x900)
1600x900
Вот собственно тот рогалик о котором я писал:
1) скрин - меню,создание персонажа, выбор расы и класса. Sy - Satiety, Ka - Karma(в игре можно помолиться богу в сложной ситуации, и чем больше у тебя карма, тем больше шанс, что бог тебе поможет,кстати не все расы веруют в бога, типа есть расы атеисты)
2) скрин - сама игра, спрайты выполнены в размере 21x21, в папке с игрой находится tileset. справа открыт инвентарь, любая вещь имеет свой бафф, урон(если будешь кидать эту вещь во врага), вес и цена. На скрине мы видим торговца, масло на полу(на нем любой может подскользнуться и упасть), ловушки, статую,лестницы вниз и мобов.
3) скрин - игра как она выглядит на самом деле, то есть то, что игрок не сможет увидеть,ибо он видит только то. что в зоне его видимости. Есть 2 типа стен: целые и полуразрушенные. вторые игрок может сломать и руками, но -немного hp будет, либо любую стенку киркой, так же можно и строить стены, статуи, ковер и создать свой домик. Так же на скрине мы видим алтари.
4) скрин - вакханалия, я просто дал убить себя слизням, подождал много ходов и вот они размножились жестко, ибо эт слизни.
Аноним 10/04/19 Срд 09:39:22 57254389
>>572542
Забыл добавить, чтобы повысить карму, нужно кормить котиков) А еще они всегда за тобой ходят, убив котика ты получишь мясо, но -карма.
Аноним 10/04/19 Срд 09:47:25 57254490
tileset.png (15Кб, 645x741)
645x741
>>572542
А вот и мой тайлсет, кстати в игре могут заспавнится надписи, типа тех, кто был здесь до игрока, они выглядят очень неразборчиво, написанные кровью, мелом и тд(это генерируется) и фишка в том, что надпись может быть вообще выглядеть не понятно, типа HEL##O W##LD
Аноним 10/04/19 Срд 10:23:50 57255191
>>572544
>>572543
>>572542

Неплохо неплохо, опыт значит имеешь уже.

ОП, а ты какие-либо используешь UML системы? Сейчас вот я Enterprise Achitect постигаю. Мне кажется, с ним пилить архитектуру намного легче)
Аноним 10/04/19 Срд 11:34:10 57256092
ShwrwLO-ip4.jpg (231Кб, 974x847)
974x847
DV5onpaVQAAzmLG[...].jpg (105Кб, 612x792)
612x792
Cosmology.jpg (500Кб, 687x548)
687x548
Я тут тоже маняфантазиями балуюсь


- Отражать скованность персонажа (от одежды), оглушённость, и невозможность двигаться параметром от 0 да 100%. От громоздкой одежды повышается скованость, также как и от допустим захвата персонажа ручками. Скованость можно распрастраняться на отдельные части тела. "Нулём" можно считать базовую скорость/ловкость персонажа, который "условно" голый. 100 процентов, это полное обездвиживание той или иной части тела.

- Обработку STЕP (каждый ход) можно проводить добавляя в массив все активные объекты в "пузыре", активные объекты будут добавляться при инциализации баббла, а также при удалении или входе в него.


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


- Любой предмет можно будет использовать для удара по цели, но без условных "знаний" или "перков навыка" удар будет стандартным образом, как если бы оружие не предполагало свойство атаковать им Сила удара будет зависеть от материала, веса, возможно обьема и силы атакующей сущности. Таким образом, чтобы использовать определённый предмет адекватным образом, нужно "знать" его работу. Возможно именно в этом ключе будут работать навыки и "перки", условные знания-умения, позволяющие так или иначе использовать предмет, извлекая из него дополнительную выгоду. Умения также могут древовидно развиваться иногда даже эволюционируя в допустим те же самые боевые искусства, которые технически, будут менять дефолтный метод взаимодействия предмета. В пример, НПС, у которого отсутствует знания об огнестреле, не сможет его использовать, а будет драться им в рукопашную. Все действия, которые можно совершить с предметом (кроме основных, типо стрельбы, или же можно даже это изменить, но выставить стрельбу как дефолтное первичное действие) будут скрыты в меню, которое открывается через R удобно будет выбрать вместо перезарядки r какое либо другое действие. В меню удара или перед атакой или стрельбой можно указывать цель на существе, но становится не понятно как действовать с целями нестандартной анатомии. Каждое существо имеет свою условную "оболочку", которая определяется мышцекостями, и служит ограничением по возможному объёму органов, будут иметься безопасный и максимальный уровни Это позволяет расхардкодить форму любого существа, позволяя менять его оболочку, или даже легко создавать существ прямо внутри игры (привет некромантия) Проблема остаётся при переопределение размеров органов. Изменение органических существ в основном будет производиться из-за мутаций (хотя кач мышц можно также учитывать, вкупе с фактом что сердце объём не меняет от этого), Тем самым изменять органы пропооционально.

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



Аноним 10/04/19 Срд 21:36:10 57267893
В попенсорс будешь лить? Интересно будет сравнить подход.
Аноним 19/04/19 Птн 17:32:40 57492394
Аноним 31/08/19 Суб 22:56:27 60659495
Вечер в хату. Не знаю, будет ли галка, но это я - ОП
Проект на c# успешно загнулся, но оставил за собой не мало опыта. Теперь мы возьмем этот опыт и запилим второй проект, но уже на typescript
Аноним 31/08/19 Суб 23:17:58 60659996
>>606594
Из прошлого проекта мы должны взять все лучшее, а именно - клеточные автоматы. Но на этот раз правила для них будут писаться не руками, а генерироваться. Возникла идея отображения характеристик и свойств объектов некой n-мерной плоскостью, по которой эти клеточные автоматы и будут передвигаться. Непонятно, конечно, как это будет выглядеть, но в голове представить это себе я могу.
Аноним 02/09/19 Пнд 09:35:32 60694397
>>606594
> Не знаю, будет ли галка, но это я - ОП
Поставь в браузер куки-экспортер и носи свои куки с собой.
Аноним 02/09/19 Пнд 17:30:02 60711798
>>606594
а в чём проблема, почему он просто так взял и загнулся?
Аноним 02/09/19 Пнд 18:43:55 60713699
>>607117
Потому что изначально все начиналось как пет проджект для обучения сишарпу. Сишарп был выучен, работа для которой он учился выполнена и я снова вернулся на старые рельсы фронтенд разработки, а там typescript и вот это вот все. На самом деле продолжил бы, но что-то мне не очень понравилось. Не хочу лезть в c# пока дальше.
Аноним 03/09/19 Втр 12:55:34 607286100
>>607136
> сирешётка
> фронтенд
Говноед-комбо
Аноним 03/09/19 Втр 13:01:21 607288101
>>607286
Ну ты бы хоть аргументировал, друг
Аноним 03/09/19 Втр 13:15:42 607292102
>>607288
Назови хоть один успешный проект на сиришотке, кроме ебучего KSP, которое даже на топовом железе умудряется тормозить?
Аноним 03/09/19 Втр 13:28:54 607294103
>>607292
А чем мы успех измеряем? В компании где я работаю, на c# вполне приличный спрос. И продукты написанные на нем продаются. Или ты намекаешь на низкую производительность?
Аноним 03/09/19 Втр 13:34:08 607296104
>>607292
>которое даже на топовом железе умудряется тормозить
Играл на 2 ядра-2гига, чет нихуя не тормозило.
Аноним 03/09/19 Втр 13:42:27 607298105
145420865324a5b[...].jpg (7Кб, 236x223)
236x223
>>606599
Зря бросил прошлый проект на с#, по второму кругу делать будет уже не так интересно + потеряется былой энтузиазм после пары недель. Выглядело между прочем не плохо, подкрутить механики, ui, и вот уже альфа рогалика готова, эх.... анон, анонович...
Аноним 03/09/19 Втр 13:49:52 607302106
>>607298
Да брось, во второй раз будет еще лучше. Тогда по сути написание кода заняло в общем всего пару дней. Остальное, это размышления, которые прекрасно лягут и по второму кругу.
Аноним 03/09/19 Втр 13:53:49 607304107
Аноним 03/09/19 Втр 13:55:18 607306108
>>607302
Ох ёёёёёё, только заметил дату создания треда, R.I.P в общем.
Аноним 03/09/19 Втр 15:34:54 607362109
Не совсем ведаю за typescript. Рзве о подойдёт для того чтобы написать более-менее оптимизированный рогуль?
Аноним 03/09/19 Втр 15:49:18 607365110
>>607362
Нет, конечно. Это говно очевидно будет безбожно глючить, как и любое приложение на js. Оп, наверное, подался в корпоративные рабы, вот и учит тайпскрипт.
Аноним 03/09/19 Втр 16:00:38 607367111
>>607365
Есть ли альтернатива typescript в мире фронтенда?
Аноним 03/09/19 Втр 16:07:36 607371112
>>607362

тайпскрипт это джаваскрипт в который добавили минимальную поддержку типов и свою собственную обёртку над прототипами ака классы помимо той что есть в последней версии джаваскрипта

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

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

мимо воннаби фронтэндер
Аноним 03/09/19 Втр 16:10:30 607373113
>>607367
скажет начальник что будешь использовать тайпскрипт значит будешь, не скажет тебя никто не заставляет
Аноним 03/09/19 Втр 16:10:51 607374114
>>607371
Ну это понятно, но как сказано выше, встаёт вопрос чисто оптимизации всего этого дела. жоваскрипт жеж.
Аноним 03/09/19 Втр 16:11:09 607375115
>>607373
А ты бы что использовал, для рогаликоварения, кресты?
Аноним 03/09/19 Втр 16:12:11 607376116
>>607373
Чет не понял посыла. А если нет начальника и нужно выбирать?
Аноним 03/09/19 Втр 16:12:31 607377117
>>607375
Анреал идеально подойдёт, советую, еще захочешь.
Аноним 03/09/19 Втр 16:15:50 607378118
>>607377
ты гониш шоле? рогалис на анриле писать, это как пытаться самокат нахуй на базе ракетного шаттла делать. + опять же в анриле много ненужного груза, а для рогаликов, если пилить прямо конкретно его, потребуется для обсчитки много ресурсов. В общем рогули писать это не игры делать, там именно движкописание важно
Аноним 03/09/19 Втр 16:17:22 607379119
>>607375
ты не понял мой пост
тайпскрипт это суперсет джаваскрипта
буквально джаваскрипт в котором ты можешь указать ожидаемый тип переменной и который будет ругаться но все равно работать если переменная окажется другого типа
он транслирует код в es5 джаваскрипт

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

>>607374
довольно быстрый язык
Аноним 03/09/19 Втр 16:17:42 607380120
>>607378
Сразу видно что ты не шаришь в анриле. Ничо, для тя поясню - внутри анрила есть 2 классные штуки, первОЯ это кресты, на них можно написать шо душе угодно, но вторая еще вкуснее и проще это блюпринты, так вот, ты идёшь, качаешь бесплатный унрил, куришь мануалы по блюпринтам, и делаешь рогалик не написав не одной строчки кода, ахуеть да? Прогресс то идёт, время дроча консолички, и все остального прошло.
Аноним 03/09/19 Втр 16:19:41 607381121
>>607376
ты знаешь в чём преимущество типизированых языков над динамическими? можно легче отловить многие невнятные баги. если твой проект сложный может оно того и стоит
Аноним 03/09/19 Втр 16:21:00 607382122
>>607380
Я знаю про это, и ты меня видать не понял. Я знаю и про бллюпринты и про встроенные кресты, конечно можно написать рогалик, никто не спорит, но суть рогаликов именно и в том, что ты полностью знаешь как у тебя код работает, ты сам подстраиваешь все обработчики и прочеее нахуй хуё моё, а тут в анриле много лишнего функционала, это просто невыгодно нахуй с точки зрения оптитмизации. Конечно если ты лепишь какую нибудь поеботу простецкую (без сложных вычислений имеется), а-ля нетхак то никаких проблем - пиши. Но попробуй тот же ДФ перенести на анрил, что то не подкасывает всё станет ещё несоразмернее хуже с оптимизоном.
Аноним 03/09/19 Втр 16:21:33 607383123
>>607380
рогалик это очень простая пошаговая игра
зачем ей фреймворк?
ее можно сделать буквально в браузере управляя дом деревом лол
Аноним 03/09/19 Втр 16:22:28 607384124
простая в визуальном плане в смысле
Аноним 03/09/19 Втр 16:23:04 607385125
>>607383
смотря какой рогалик исчо. Если добавлять симулятивности, как в теж хе ДФах или CoQ, то уже хуй там.

>>607384
ну это всё меняет
Аноним 03/09/19 Втр 16:25:56 607386126
>>607385
в дф довольно много вычислений иирк, нужен сервер и какая нибудь либа. в джаваскрипт есть биндинги к куче либ так что при желании можно хоть нейросеть прикрутить
Аноним 03/09/19 Втр 16:26:19 607387127
>>607382
1. Если ты делаешь 2Д, не 3Д, то проблем с оптимизоном в унриле у тебя не будет, вот 100%, исключение составляют лишь бесконечные циклы если ты где то проебёшься с ними.
2. Если ты знаешь, но не решаешься сделать, значит у тебя не достаточно опыта, либо предвзятое мнение и не желание разбираться в движке.
3. Судя по твоему описанию склоняюсь к тому что уаньку ты мало трогал, и не шаришь в ней, следовательно, идёшь курить мануалы по блюпринтам, это займёт максимум пару дней, и еще пару по поути.
4. Перенести ДФ как раз таки будет легко по причине того что ты видишь конечный продукт + знание механики освобождает от придумывания своей, остаётся только графон и заблюпринтить.
Всё таки советую анон покурить анрильку, думаю ты удивишься сколько всего можно сделать на ней не глюченого, если не 3Д!!

>>607383
Время 3++ в консолечке прошло, ало дядя, за тебя всё движок делает, тебе надо лишь нафантазировать механики, спиздить графон и музон, всё!
Аноним 03/09/19 Втр 16:26:50 607388128
ну в смысле сервер если это веб рогалик, но это не обязательно
Аноним 03/09/19 Втр 16:30:14 607389129
>>607387
МОжет быть я и ошибаюсь, хочу ошибалться даже. Раз ты такой ведающий, разъясни момент с оптимизацией? Это зависит исключительно от того как написан код самой игры, сложных обработчиков и процедур? Просто ДФ, как ты говоришь перенести легко относительно, никто не спорит, но меня ОЧЕНЬ заботит оптимизация игры, вот захочу я повысить количество обрабатываемых обьектов в мире даже больше чем в ДФ, и что? Насколько сам движок будет влиять? Или допустим ты если пишешь сложную логику, то надо хотя бы иметь опенсурс от анрила, чтобы понимать как те или иные функции работают, это опять же вопрос не невозможности реализовать, а оптимизации этого всего действа.
Аноним 03/09/19 Втр 16:37:33 607392130
>>607389
Насчёт оптимизации, здесь выигрывают как раз готовые движки по типу анрила, юнити, потому что за нас уже всё продумано и реализовано, и остаётся лишь курить мануалы и применять готовые решения(Не путать с тасканием ассетов!). Вот как писал анон выше, написать рогалик самому к примеру на голых плюсах, или на java, объём работы увеличивается в разы, а с ним самая важная часть, это понимание архитектуры куда, какую функцию записать, что бы определить правильную последовательность обращений из одного файла в другой и т.д, в движке же, как я упомянул раньше всё проще, многие фишки в том числе с оптимизация просто у мешаются в пару строк кода. Из минусов как многие сразу могут написать есть лишь то что закрытый код() и если захочется тонкой настройки это нэт, костыль на костыле будет получаться, Но для обычного инди девелопа идеально подходит, всё что остаётся это творить, и изредка думать над оптимизацией.
Аноним 03/09/19 Втр 16:38:55 607393131
1.png (63Кб, 1920x1080)
1920x1080
>>607389
Если ты будешь пилить на уе4, то должен понимать, что есть просто колоссальное количество подводных камней. Текстовый вывод в консольку? Похуй, нужна видеокарта с DX11. Примитивная игра практически без логики? Похуй, твой восьмиядерный интол будет загружен на 98%. Нет контента? Похуй, билд игры будет весить не меньше гигабайта.
Аноним 03/09/19 Втр 16:40:15 607394132
>>607393
Ой пиздабол, ой пиздабол... Узнаю стандартные мантры немощного который даже не собирал билд в юньке.
Аноним 03/09/19 Втр 16:40:31 607395133
>>607394
>быстрофикс
В уиче.
Аноним 03/09/19 Втр 16:45:13 607399134
>>607392
Да, иммено, ты мне про Фому я те про Ерёму, пиание рогаликов, хардкорное, as it is вообще никак не идёт в сравнение с обычным инди деланием. Это скорее какой-то хтонический байтодрочерский процесс (немного преувеличил но ты понял), где вся архитектура перепиливается с нуля. Естесна если ты хочешь создать простенькую игру которую можно будет только условно назвать рогаликом (на деле симуляции всего и вся там конечно же не будет.), то готовые движки будет самое то. Тут же у нас идёт йобаный хардкор, с пересборкой велосипедов под езде по рельсам и воздухоплаванию одновременно.

>>607393
ЧТД.
Аноним 03/09/19 Втр 16:47:51 607400135
честно говоря я в игродвижках не разбираюсь (игры слишком долго делать есть много других интересных вещей которые можно сделать быстрее) но как давний фэн рогаликов, который даже написал раз безбиблиотечный простенький рогалик на си на анси-кодах в консоли мне сама идея что монстр вроде юнити будет использоваться для рогалика кажется кощунством лол

в рогаликах главное дизайн игры, мир, механики, генерация уровней т.е. логика, в них перемещение происходит пошагово и по фиксированной двухмерной сетке, зачем для них монстр предназначенный для сложной графики
Аноним 03/09/19 Втр 16:49:20 607401136
>>607399
эм
какая стимуляция
рогалик это в первую очередь каменный суп, адом, ангбанд с его клонами, нетхак, все такое
Аноним 03/09/19 Втр 16:49:59 607403137
>>607400
Затем чтобы довести своё поделии до альфы, а не бросить спустя пол года дрочения голого кода.
Аноним 03/09/19 Втр 16:50:45 607404138
>>607399
Ладн я понял, забей, если ты так одержим своим то лучше это и используй, если получится то супер, если нет, мб пересмотришь свои взгляды в дальнейшем.
Аноним 03/09/19 Втр 16:51:44 607405139
>>607403
ты не понимаешь, перемещение персонажа по экрану и т.п. фигня в рогалике самое простое и делается день или за несколько дней
Аноним 03/09/19 Втр 16:53:09 607406140
>>607401
ну вроде как бы и да, но мне кажется что интереснее рогалики-гиганты, типо ДФ, с его невзъебенной симуляцией каждой хуйни и дотошным вычислением всего, Катаклизм ДДА, CoQ и прочее. Мне просто лично кажется обычные-примитивные дунжон кравлеры себя уже давно изжили, и это просто мягко говоря заэбало.
Аноним 03/09/19 Втр 16:54:04 607407141
>>607405
Ох мой юный анончик, ты даже не представляешь что тебя ждёт впереди... С другой стороны, если попробуешь заниматься гей девом тебе откроется много интересного, завидую тебе даже...
Аноним 03/09/19 Втр 16:55:57 607410142
>>607406
я лично куууууда больше времени убил на дксс, адом и посченг чем на катаклизм и дф

дело вкуса, дксс вообще вызов был, я спидранил сприганнами лол
Аноним 03/09/19 Втр 16:58:35 607412143
687740191365b8c[...].jpg (341Кб, 1024x577)
1024x577
>>607403
Считай это своеобразным естественным отбором.

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

>>607410
Может быть это я просто уже изыгрался, такой метамодерн пошёл.
Аноним 03/09/19 Втр 17:02:16 607415144
>>607407
и что же? рогалик я лично написал бы браузерный без специального игрового фреймворка, что-то 2д с реалтайм перемещением наверное взял бы какой-нибудь phaser, 3д не трогал бы вообще

но повторю мне написание игр кажется тратой времени, уд слишком много людей их пишет
Аноним 03/09/19 Втр 17:05:12 607416145
>>607415
Это зависит еще от того что ты сам напишешь. Посредственностей конечно дохуя, но при этом выдающиеся вещи (если таковыю сможешь родить) в узких рогаликоведческих кругах известна будет.
Аноним 03/09/19 Втр 17:09:36 607417146
>>607415
>слишком много людей их пишет
Ты уж определись ты это делаешь ради денег? Тогда надо идти в мобилкоговно рыночек. Для хобби? Тогда пиши на чём душе угодна, когда угодна, хоть в блокноте, даже если выйдет говно, главное чтобы получалось удовольствие от процесса. Для кого-то? Небольшой публики? Тогда придётся что-то изучать, осваивать, тратить время на не интересные вещи, но нужны для прогресса и понимания.
Аноним 04/09/19 Срд 20:20:21 607808147
>>572542
>спрайты выполнены в размере 21x21
Почему именно этот размер?
Аноним 05/09/19 Чтв 02:57:10 607937148
>>562448
всегда ору с ооп фанатов и их любви делать классы
>У меня есть базовый класс "иди нахуй", в котором очень много витиеватого трёхэтажного кода, написанного много раз.
>Теперь, чтобы послать нахуй залётного ЕЦС-чушкана, мне достаточно просто сконструировать класс с инициализатором. И это всё одной строкой!
>var посыл = ИдиНахуй.new(){КогоПослать = "ЕЦС-чушкан"}
зачем для этого класс?
const Посыл = require('./посылы/Посыл'); //ты эту часть вообще упустил где у тебя код базового класса хранится
const посылЕЦС = Посыл.кого("ЕЦС-чушкан");
все. никаких конструкторов. никаких классов на пустом месте
>Далее, если мне нужно плотно работать с чушканом (если он с первого раза не понял), я >могу унаследоваться от базового класса:
>class ИдиНахуйЕЦСЧушкан : ИдиНахуй { КогоПослать = "ЕЦС-чушкан" }
>И далее, просто конструировать класс-потомок.
можно сделать обертку с дефолтным значением аргумента
function ИдиНахуй(КогоПослать = "ЕЦС-чушкан") {
const Посыл = require('./посылы/Посыл');
return Посыл.кого(КогоПослать);
}
никакого говнонаследования

Аноним 05/09/19 Чтв 03:28:18 607940149
>>571236
>Насколько я знаю, машин лёрнинг пока можно обучать в очень узких специальностях. Может быть можно написать площадку с группой юинтов А, и одним юнитом Б, и их обучать убиению друг друга, тренируя pathfinding и стратегию, хотя я честно не уверен насколько это возможно.
я скорее не вижу зачем это надо
можно запилить очень эффективное ай без мл см. sil
может с помощью мл можно запилить еще более умных мобов, но... советую поиграть в sil, умные мобы напрягают, конкретно умные мобы будут напрягать конкретно

>>572335
обычно это делается просто через систему видимости (самая простая это конечно сделать левел полностью видимым). она может быть симметричной как в dcss и асимметричной как в *бандах например. симметричная видимость очень забавная вещь кстати, не знаю пофиксили ее или нет, но в dcss некоторые люди проходили игру специально уменьшив себе видимость артифактом - это соответственно уменьшало видимость монстров и делало их слепыми лол. все равно как гулять в клочке тумана. ну и помимо видимости добавляют еще всякое экстрасенсорное восприятие, дрожь поверхности, запах и т.п. чему не мешают стены

>>572531
как насчет сделать функцию/класс/назови как хочешь которая будет вычислять что видит монстр которого ей передали как аргумент и его реакцию в зависимости от флагов самого монстра и уровня который тоже в нее предан как аргумент. возвращать будет движение монстра. просто первое что в голову пришло

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

интерфейс странный - на не полностью открытой карте у тебя справа информация о персонаже, а на полностью открытой ее нет. карту нельзя открыть полностью чтоле?

стены надо однозначно темнее

у самого верхнего торговца левый верхний сундук это мимик? если нет, то у тебя наложилось два тайла
Аноним 05/09/19 Чтв 09:34:06 607967150
>>562309
>запускаем сценку из десятка символов несколько секунд
Обмяк с производительности C#.
Аноним 05/09/19 Чтв 09:39:37 607968151
>>558364
Сейчас бы разделять игрока и врагов в рогалике. Все живые существа должны быть частью симуляции и работать по одним правилам.
Поэтому во всех трушных рогаликах игрок и враг это один и тот же класс, они имеют одинаковые параметры, атрибуты, инвентари, и различаются только тем, что игрок управляется через контроллер игрока, враг - через контроллер AI, который посылает по сути те же команды, что и игрок с клавиатуры. Так везде, от dungeon crawl'a до катаклизма.
Аноним 05/09/19 Чтв 09:45:23 607970152
>>607968
Нет, маня, ты не права. Логика врагов основывается на алгоритмах (поиск пути, таргетирование и т.д.), а логика игрока - на том, что у него вместо мозгов в башке. Соотвественно, классы априори уже не могут быть идентичны. Ну или могут, но это будет уже как консируктор солянки. Залупа в общем конская.
Аноним 05/09/19 Чтв 10:03:56 607974153
>>607367
C++, SDL, emscripten.
>>607386
>что при желании можно хоть нейросеть прикрутить
А машинное обучение с бигдатой на блокчейне можно прикрутить, чтобы побыстрее работало? Что ты несешь, дурачок?
>>607392
>Насчёт оптимизации, здесь выигрывают как раз готовые движки по типу анрила, юнити, потому что за нас уже всё продумано и реализовано,
Продуман и реализован движок общего назначения, цель которого покрыть любую возможную разновидность игр. Используя тот же юнити для рогалика, ты будешь юзать 5% от его фич, а остальные фичи будут висеть мертвым грузом в дистрибутиве, ветвлениями в коде. Кастомный движок, написаный с нуля под конкретный набор фич ВСЕГДА разносит по перфомансу и размеру дистрибутива движок общего назначения. На юнити твой рогалик будет весить 200 Мб и позволять обрабатывать 1000 юнитов без просадки фпс, на голых плюсах это будет 10 мегабайт и десятки/сотни тысяч, зависит от твоего скилла и подхода к работе с данными. Чем меньше абстракций, ООП, паттернов, уровней наследования юзается - тем выше перфоманс. На ecs с хитрыми оптимизациями симулировать сотни тысяч сущностей вообще не проблема, даже на не самом топовом железе.
>>607970
Маня, ты путаешь класс персонажа и контроллер персонажа. Сваливать обработку ввода и симуляцию персонажа в один класс это первый признак говноархитектуры, это еще в конце 90х поняли и уже в первом анриле был отдельно Pawn, класс персонажа, и контроллеры PlayerController и AiController, которые работают с одним и тем же персонажем, просто по-разному его контролируют. Персонаж содержит все данные, здоровье, опыт, скиллы, инвентарь, и базовую логику взаимодействия, идти вперед, перейти в точку, атаковать. А контроллер отвечает именно за управление, обработку ввода.
На ecs это элементарно реализуется, контроллер подключается как отдельный компонент и управляет связанным с ним персонажем. В случае контроллера игрока он ловит ввод с клавиатуры, AI контроллер как раз определяет цель и строит путь. С таким унифицированным подходом легко реализовать переселение души, например, просто переключаешь компонент с одного персонажа на другого, и ты можешь управлять уже врагом (либо одним из своих юнитов). Либо наоборот, перевести своего персонажа в режим ИИ, чтобы он автоматом бегал по уровню и дрался.
В ООП это тоже просто делается через агрегацию.
А залупа конская у тебя вместо мозга, похоже.
Аноним 05/09/19 Чтв 10:08:20 607975154
вообще одна из самых сложных вещей это время
рогалики конечно пошаговые, но если каждое действие будет отбирать один ход и у всех одна скорость игра будет унылая
тогда как сделать фракционные ходы совсем не просто

>>607968
не совсем так
в адоме раньше когда он собственно и обрёл свою популярность не было инвентаря у мобов например в отличие от игрока
впрочем учитывая что он написан на си там и класса моб наверняка нет и не было лол, хотя объекты в си конечно есть и даже можно методы им приделать

>>607970
чушь какая
см. выше я уже написал как это легко делается функцией которой скармливают объекты мобов
Аноним 05/09/19 Чтв 10:10:24 607979155
>>607974
у джаваскрипта есть биндинг к tensorflow
чем он хуже пистона в конце концов
Аноним 05/09/19 Чтв 12:58:50 608010156
>>607974
>а остальные фичи будут висеть мертвым грузом в дистрибутиве, ветвлениями в коде.
Опять это шизик таблетки не принял.
Аноним 05/09/19 Чтв 18:00:37 608102157
Аноним 05/09/19 Чтв 18:05:57 608105158
dz.png (193Кб, 1024x576)
1024x576
>>607974
Всё намного проще, из 100 велосипедистов 1 сделает игру, ну допустим немного другие числа 95/5 и т.д, есть шанс что это будешь ты, но намного больше шансов, что ты забросишь свою разработку, своего уникального движка, всё. Вывод прост, не надо делать велосипед когда ты ставишь себе цель что-то выпустить, а не кодить ради удовольствия.
Аноним 05/09/19 Чтв 18:41:16 608139159
>>608105
ты просто не разбираешься в рогаликах
с одной стороны они достаточно простые в плане графики
с другой их фишкой являются особенности механики
в итоге их сплошь и рядом пишут без фреймворков или со специализированными фреймворками вроде ncurses и libtcod
Аноним 05/09/19 Чтв 22:03:42 608234160
>>608105
Пилили же рогалики десятилетиями до выхода юнитей, и сейчас продолжают пилить, не переживай. Все знаковые рогалики от кравла до катаклизма - на кастомных движках.
Можешь сколько угодно оправдывать своё нежелание писать код, просто скорее всего разработка рогаликов - не твоё. Скачай юнити, таскай ассеты по сценке, сделай шедевр и спокойно продавай его в стиме. А хадркодную разработку оставь увлеченным ребятам.
Аноним 05/09/19 Чтв 22:29:18 608242161
>>608139
>>608234
Вы же сами отвечаете на свои вопросы, сколько десятков, сотен тысяч людей по всему миру вдохновлялись этими десятками тех у кого получилось что либо сделать? Цифры же сами за себя говорят, ~100 рогаликов против ~100.000 тех кто слились, понимаете?
Аноним 05/09/19 Чтв 22:49:54 608258162
>>608242
И что? А ты живешь в сказочном маня-мире, где у всех всё получается и все обязательно приходят к успеху?
Ты в курсе, что в любой деятельности так? 100 крутых музыкантов на 100.000 тех, кто взял в руки гитару, но так и не научился играть. 100 миллионеров на 100.000 нищебродов. 100 успешных юнити-проектов на 100.000 тех, кто скачал юнити, потаскал ассеты по сценке и забил.
Добро пожаловать в реальность, Мань. Пытаются многие, получается у единиц, обладающих специфическими качествами - упорством, силой воли, те кто на самом деле горят и кого не останавливают трудности.
Если человек хочет запилить рогалик, игру, которая на 99% состоит из кода и алгоритмов, но при этом его пугает необходимость написать немного кода своими руками - он уже опустился и проиграл, даже не попробовав.
Аноним 05/09/19 Чтв 22:52:44 608259163
>>608258
Маня тут только ты, мы пришли к цифрам потому что я привёл как пример что шанс придти к успеху выше в 90-95% у тех кто пользуется готовыми материалами(движками), а не кодит всё с нуля. А ты приводишь в пример из общего числа тех кто лишь попытался, это не верно.
Аноним 05/09/19 Чтв 23:01:17 608269164
>>608259
>90-95%
Цифры из своего маня-мирка взял? Или это тебе маркетологи юнити внушили, чтобы ты продлял ежемесячную подписку?
Для рогаликов готовый движок не нужен, фреймворк для вывода буковок/тайлов по сетке напишет студент-первокурсник за пару вечеров. А дальше начинается уже симуляция мира самой игры, которую в любом случае предстоит писать, даже с готовым движком.
А вероятность успеха зависит не от выбора движка/написания своего, а от кучи других факторов. Тот, кто может - сможет и на готовом движке, и на своём, его не остановят трудности и необходимость что-то изучить. Тот, кто изначально ставит себя в положение опущенного, признавая, что ему не по силам писать код и хочет готовенькое - тот скорее всего не сможет ничего сделать и на готовом движке, потому что при разработке будет куча проблем, требующих алгоритмической подготовки для их решения, а нежная манька код писать не приучена.
Аноним 05/09/19 Чтв 23:03:26 608272165
>>608269
Хорошо, ты меня убедил, победа твоя, ты прав. Удаляюсь из треда. Даже не знаю, спойлер так для прикола короч
Аноним 05/09/19 Чтв 23:10:03 608275166
>>608272
чувак, но он прав. рогалики это игры которые пилятся не ради выстреливания, а ради процесса, к тому же использование двигла в среде рогаликоделов скорее моветон.
это всё, разумеется, в силе ровно до тех пор пока ты не решишь делать на них деньги
Аноним 05/09/19 Чтв 23:12:36 608278167
>>608275
Да понял я, понял, уже обоссался и спрятался в уголку.
Аноним 05/09/19 Чтв 23:22:16 608283168
>>608258
В Японии не так, ты занимаешься всю жизнь одним делом, причем скорее всего семейным, которым твой отец и дед занимались, и добиваешься успеха. Если ты художник - ты становишься успешным мангакой и рисуешь аниме. Если ты музыкант - сочиняешь для них опенинги. Только программисты почему-то из японцев хуевые выходят, наверное не было в роду.
Аноним 05/09/19 Чтв 23:36:12 608290169
>>608269
Движок решает совершенно конкретные проблемы и задачи. А именно работу с железом - с тысячами моделей видеокарт со своими тараканами, с сотнями разных дистрибутивов линукса и с десятками версий винды. Те кто отказываются от движка, берут на себя работу пройти весь этот путь по граблям заново и сжечь задницу нахуй.
Да, успешные рогалики были сделаны на самописных движках, потому что они были успешны лет за 20 до появления юнити.
Аноним 06/09/19 Птн 03:09:47 608300170
>>608283
японец руби создал

>>608275
если взять коммерческие то.. адом - самописный, томе4 - самописный, даже какой нибудь данжн оф дредмор кастомный движок

>>608290
эти проблемы решает среда разработки а не игровой движок лол. игровой движок в основном отвечает за сложную графику и физику, потому он и не интересен особо

Аноним 06/09/19 Птн 04:14:11 608302171
велосипед.webm (1847Кб, 1280x720, 00:00:11)
1280x720
Аноним 06/09/19 Птн 04:43:24 608304172
>>608290
>А именно работу с железом - с тысячами моделей видеокарт со своими тараканами,
DirectX (Direct3d, XAudio, XInput)

>с сотнями разных дистрибутивов линукса
Линукс не нужен
Аноним 06/09/19 Птн 09:33:15 608331173
>>572542
>спрайты выполнены в размере 21x21
Еще раз спрашиваю. Почему такой странный размер тайлов?
Аноним 06/09/19 Птн 09:35:06 608332174
>>608300
>японец руби создал
Только подтверждает, лол. Руби на момент создания - ужасно всратый язык.
Аноним 06/09/19 Птн 09:36:54 608333175
>>608304
>DirectX
Это не гарантирует ни то, что ты на нем сможешь нормально окно инициализировать (учитывая всякие нюансы вроде второго монитора), ни то, что не объебешься где-то в вызовах апи или шейдерах.
Аноним 06/09/19 Птн 09:55:24 608338176
>>608333
>>608290
Вот это дивный маня-мир, давно такого не встречал.
Ты правда думаешь, что при разработке без движка тебе нужно писать код отдельно для каждой из существующих видеокарт?
Ты вообще не представляешь, что такое кросс-платформенная разработка?
Ты берешь либу типа SDL/GLFW и одной строчкой получаешь окошко с контекстом opengl нужной версии. Под любую систему, от кофеварки до телефона, не говоря про десктопы. Ты даже можешь взять bgfx в качестве абстракции графического апи, на винде он будет компилиться под directx, на линуксе/мобилках - под opengl.
Ты пишешь код один раз, и потом компилишь его без изменений под любую платформу. Версий винды не десятки, на дистрибутивы тоже поебать. В 2к19 достаточно одного билда статического бинарника под x64 шин и одного под x64 линукс. Всё.
Вылезай из маня-мира. А то как-то неудобно получается, убеждаешь всех, что без движка невозможно разрабатывать, но при этом фантазируешь, что там надо писать код под тысячи видеокарт. Зачем фантазировать, если ты не пробовал?
Аноним 06/09/19 Птн 10:05:30 608341177
>>608338
>Ты правда думаешь, что при разработке без движка тебе нужно писать код отдельно для каждой из существующих видеокарт?
Да, тебе будет нужно учитывать НЮАНСЫ для каждой из существующих видеокарт.
Для того, чтобы ты понимал, отсылаю к блеклисту хрома. А это всего лишь рендер текста и картиночек.
https://chromium.googlesource.com/chromium/src/gpu/+/master/config/software_rendering_list.json
>Ты даже можешь взять bgfx
Началось сектанство, твой bgfx уже везде обоссали, те кто им пользовался как раз ноют от того, что он нихуя не кроссплатформенный, что его внутренний абстрактный язык шейдеров раскрывается на реальном железе в нерабочие конструкции.
>Версий винды не десятки,
Ну конечно, что еще спизданешь? Для XP и для 10-ки нужны разные сборки, более того, в 10-ке есть разные билды, и иногда софт для новых не работает в старых.
>на дистрибутивы тоже поебать.
Нинужно, ясно-понятно. Бонусом у тебя не будет видимо и андроид версий, тоже нинужно.
>А то как-то неудобно получается, убеждаешь всех, что без движка невозможно разрабатывать, но при этом фантазируешь, что там надо писать код под тысячи видеокарт.
Ну если тебе хочется вместо работы над игрой исправлять баги связанные с видеокартами, потому что тебе весь стим засрут отрицательными отзывами не работает - вперед и с песней.
Аноним 06/09/19 Птн 10:25:35 608344178
блин какая фигня

вот смотри
https://jsfiddle.net/690wuLxa/

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

чисто как иллюстрация - он будет работать на любом девайсе который поддерживает современный браузер и десктопную клавиатуру. какие нюансы какие нафиг видеокарты лол. я вообще смутно представляю что такое видеокарта. если бы jsfiddle лучше поддерживал мобилки я бы не поленился сделал бы и поддержку таучскринов
Аноним 06/09/19 Птн 10:25:52 608345179
>>608341
>XP
>2k19
Ну-ну.
>Нинужно, ясно-понятно.
Нинужно потому, что один статический билд под линукс x64 работает на любом дистрибутиве.
>ля того, чтобы ты понимал, отсылаю к блеклисту хрома.
Сейчас бы сравнивать рендер браузера и рогалика.
>Ну если тебе хочется вместо работы над игрой исправлять баги связанные с видеокартами
Опять пошли маня-фантазии. Ни одной программы не написал, зато испугался багов с видеокартами.
Все правильно пишешь, сложна, нивазможна, даже не пробуй ничего писать сам, если пускаешь жидкую подливу в штаны от одних маня-фантазий, даже не написав ни строчки кода. Видимо геймдев это в целом не твоё.
Возьмешь вот юнити тот же, начнешь что-то пилить и наткнешься на какой-нибудь баг в ui подсистеме, сразу пукнешь в штаны. А если краш словишь, вдруг еще сердце не выдержит от испуга.
Аноним 06/09/19 Птн 10:28:18 608347180
и да, тайлы тоже несложно прикрутить при желании
Аноним 06/09/19 Птн 10:56:41 608351181
>>608345
>XP
>2k19
Рогалики всегда славились тем, что могут работать даже в терминале, даже в досе, а твой не может работать нигде ниже win7/10 - вот это реально "ну-ну". Вопрос - а нахуя такой самописный движок нужен тогда?
> один статический билд под линукс x64 работает на любом дистрибутиве.
Линуксоиды тебе просто у виска пальцем покрутят, ну да ладно, линукс же нинужно.
>Сейчас бы сравнивать рендер браузера и рогалика.
И что же в них такого, почему их нельзя сравнивать? Картинки и текст там и там.
> Ни одной программы не написал, зато испугался багов с видеокартами.
>пускаешь жидкую подливу в штаны от одних маня-фантазий, даже не написав ни строчки кода.
Ну все пошли проекции. Иди пиши движки, в /pr например, никто тебе не запрещает. А тут люди игры делают.
Аноним 06/09/19 Птн 11:02:39 608352182
>>608344
Браузерка это конечно вариант.
Там, естественно, будут свои проблемы, не с видеокартами, а с браузерами. Например, с тем же масштабированием игры под размер окна. Или чтобы работало во всех браузерах, на разных мобильных устройствах, с разным увеличением шрифта, с разным адблоками, и т.д. (уже предвижу нинужно)
Аноним 06/09/19 Птн 11:03:00 608353183
>>608351
>Рогалики всегда славились тем
Те кто ебется в очко и любит быть обоссаным, всегда славились тем, что носят обувь и верхнюю одежду.

>Иди пиши движки, в /pr например, никто тебе не запрещает.
НИКТО ТЕБЕ НЕ ЗАПРЕЩАЕТ
@
[ЗАПРЕЩАЕТ]


В голос, какой же кал у тебя в голове

мимо
Аноним 06/09/19 Птн 11:06:59 608354184
>>608353
Шизик, таблеточки попей.
Аноним 06/09/19 Птн 11:08:29 608355185
>>608354
То есть аргументов в пользу своей точки зрения у тебя нет, правильно понимаю?
Аноним 06/09/19 Птн 11:14:58 608356186
>>608355
Ты блядь поехавший нахуй, ты просто высрал рандомные слова, а аргументы требуешь с меня, проорал.
Аноним 06/09/19 Птн 11:24:08 608359187
>>608356
А, ну так ты сразу бы сказал, что тупой. Давай объясню:
1. То, что рогалики «всегда славились» тем что запускаются даже в терминале, это вообще ничего не значит. Ради примера я привёл тебе маргиналов, которые точно так же носят как и ты, одежду, и обувь, но это не делает тебя таким же маргиналом, ведь нужны какие-то более конкретные признаки. В случае с рогаликами, это берлинская интерпретация (о терминале там ни слова)
2. В одном и том же предложении ты запрещаешь (якобы написание игрового движка, это видите ли не написание самой игры) и сразу же пишешь «никто тебе не запрещает»

Аноним 06/09/19 Птн 11:45:58 608365188
>>608359
Ты наверное первокурсник или что-то типа того, короче молодой еще и аутично все воспринимаешь буквально. ну давай смахнемся.
1. Рогалики в терминале - это не маргинальность, а мейнстрим. Возможно ты называешь рогаликами рогалайты, но это уже твоя проблема, поскольку у рогаликов довольно четкое определение. И большинство топовых рогаликов запускается в терминале (brogue, dcss, nethack, adom и т.д.)
2. Вот именно что никто ему не запрещает, я же прямым текстом говорю флаг в руки, пиши движок и трать на его поддержку больше времени, чем на написание игры на готовом движке, кто против то? Покажи в каком посте я написал "не сметь, запрещено, не имеешь право" и я сожру какое-нибудь гавно с пруфами.
Аноним 06/09/19 Птн 11:53:56 608366189
>>608365
>Вот именно что никто ему не запрещает, я же прямым текстом говорю флаг в руки, пиши движок и трать на его поддержку больше времени, чем на написание игры на готовом движке, кто против то? Покажи в каком посте я написал "не сметь, запрещено, не имеешь право" и я сожру какое-нибудь гавно с пруфами.
Вот тебе тобой же написанный текст:
>Ну все пошли проекции. Иди пиши движки, в /pr например, никто тебе не запрещает. А тут люди игры делают.
то есть ты буквально говоришь человеку уйти в другой раздел, потому что «тут люди игры делают»
Аноним 06/09/19 Птн 11:54:48 608368190
>>608365
>Возможно ты называешь рогаликами рогалайты
А это не одно и то же? Можно объяснения по этому поводу?
Аноним 06/09/19 Птн 11:57:44 608370191
>>608366
>никто тебе не запрещает
Аноним 06/09/19 Птн 12:02:19 608371192
>>608370
Никто не запрещает ему в /pr писать движки, а тут запрещают, потому что «тут люди игры делают. На структуру предложения посмотри, даун. Ты либо тупой настолько, что не смог предложение правильно построить, либо не очень, но все же тупой, ведь сейчас так тухло увиливаешь
Аноним 06/09/19 Птн 12:03:26 608372193
>>608368
Немного лень, вон анон выше писал про берлинскую интерпретацию, можно сказать так: была игра rogue, рогалики это rogue-like, т.е. похожие на нее, а roguelite это roguelike-like, т.е. похожие на рогалик, но не имеющие каких то ключевых моментов, или слишком сильно изменившие механику или дизайн.
Например, Faster Than Lite часто записывают в рогалики, но ведь всем понятно что это не рогалик, ты же не чистишь пещеры, лол. Это чисто маркетинг.
Аноним 06/09/19 Птн 12:04:16 608373194
>>608371
Предложение составлено тонко, а в том что ты его так интерпретируешь виноват только ты сам :3 Нигде не сказано что движки делают только в /pr.
Аноним 06/09/19 Птн 12:04:50 608374195
>>608372
Ссылочку на требования поддержки терминала, плиз
Аноним 06/09/19 Птн 12:05:21 608375196
>>608371
>а тут запрещают,
>тут
Кстати ты тож маневрируешь, изначально то ты утверждал что "вообще" запрещают.
Аноним 06/09/19 Птн 12:06:05 608376197
>>608373
>Нигде не сказано что движки делают только в /pr.
Достаточно того, что сказано, что их не делают в gd
Аноним 06/09/19 Птн 12:06:07 608377198
>>608374
Ты уже дрожащими руками промахиваешься кому ответить?
Аноним 06/09/19 Птн 14:15:03 608396199
>>607974
>На ecs с хитрыми оптимизациями симулировать сотни тысяч сущностей вообще не проблема, даже на не самом топовом железе.

Ебать, поясни конкретнее, такое рил возможно? Вот захочу я въебать овер 100 сущностей на карте, у каждого из которых будет свои инвентари и сложная анатомия, разве это возможно чтобы двигло и проц эту всю хуйню вывозили? я просто смотрю на те же Дварф фортерсы и котяклизьмы, там что-то подобных совсем не пахнет.
Аноним 06/09/19 Птн 15:15:19 608415200
>>608352

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

> Например, с тем же масштабированием игры под размер окна.
>с разным увеличением шрифта

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

>Или чтобы работало во всех браузерах

будет. я написал сейчас в es6, он поддерживается всеми браузерами кроме осла, но совсем несложно транслировать в es5 и поддержать даже дрова мамонта

>на разных мобильных устройствах

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

>с разным адблоками, и т.д.

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

для монетизации я бы в react native скорее писал бы и выложил в гугл плей


Аноним 06/09/19 Птн 15:26:01 608418201
>>608415
>это слишком низкоуровневые проблемы чтобы большинству кодеров интересоваться ими
Верно, а при написании своего движка придется в этом разбираться. Потому что именно он будет мостом между игровой логикой и средой, называй как хочешь.
>это элементарный веб дизайн, адаптивная верстка, это все обычнейшие вещи которые решает создатель любой веб странички
На словах у всех все элементарно, лол, а потом везде ничего не влезает и вылезают скроллбары по бокам.
>я написал сейчас в es6, он поддерживается всеми браузерами
Смотря каких фич ты туда надобавляешь, например нет гарантии что это будет работать на встроенном браузере андроида 4.4
>для поддержки мобилок надо всего лишь добавить
Не только, например еще придется повоевать с вылезающими тулбарами сверху и снизу.
>монетизировать
А я не в плане монетизации говорил, а в плане технической работы, у разных людей в разных браузерах стоят разные дополнения, которые могут резать всякий контент от чего верстка поедет.
Аноним 06/09/19 Птн 15:31:22 608419202
>>608396
я видел сотни существ на карте и достаточно сложных хотя анатомии у них толком не было иирк. инвентари, куча скиллов и итемов и они друг с другом дрались ещё под управлением компьютера

incursion та же

только все шансы что на плюсах это у тебя будет течь и глючить как все та же incursion
Аноним 06/09/19 Птн 15:35:17 608423203
>>608419
А при чём тут плюсы, если не секрет? Может это просто скорее вопрос оптимизации, кода?
Аноним 06/09/19 Птн 15:42:36 608426204
>>608423
мне показалось тот анон который интересуется сложной симуляцией - плюсовик и я его предупреждаю что на плюсах это может быть непросто, это сложный язык
Аноним 06/09/19 Птн 15:48:29 608428205
>>608426
Если брать с++11 и делать без raw указателей, то не так уж и страшно в наши дни.
Аноним 06/09/19 Птн 16:33:39 608437206
>>608426
Да, это я, и я предполагал С++, но я подводных не знаю. В каком образе он непростой? И ты можешь порекомендовать что-то лучше?
Аноним 06/09/19 Птн 18:49:19 608454207
>>608351
> а твой не может работать нигде ниже win7/10 - вот это реально "ну-ну".
Схуяли? Как раз таки рогалик на моём самописном движке сможет работать где угодно. Я могу запилить логику в бэкенде + фроненд под терминал, под дос, подо что угодно. Могу поддерживать любые системы.
А на готовом движке ты соснешь хуйца, тот же юнити под xp без костылей не заведется, насколько знаю.
Аноним 06/09/19 Птн 18:53:43 608456208
>>608351
>Линуксоиды тебе просто у виска пальцем покрутят, ну да ладно, линукс же нинужно.
Спешите видеть, манька не знает, что такое статическая линковка. И линукс наверное видела только на картинках. Зато с умным видом кудахтает что-то от имени линуксоидов.
>И что же в них такого, почему их нельзя сравнивать? Картинки и текст там и там.
Потому что это абсолютно разные по сложности, объему и принципу работы вещи, в принципе не сравниваемые. Рендер браузера во много раз сложнее рендера любой 2д игры, не обязательно текстовой, dom-дерево отрендерить со всеми css правилами это не хуй собачий.
В общем, можешь продолжать подливиться и дристать себе на лицо, но посоветую тебе проследовать в юнити тред и там кудахтать.
Аноним 06/09/19 Птн 18:54:53 608457209
>>608365
>И большинство топовых рогаликов запускается в терминале
>чем на написание игры на готовом движке, кто против то
Боюсь спросить, как ты собрался рогалик на юнити запускать в терминале.
Аноним 06/09/19 Птн 18:57:17 608458210
>>608437
Если хочешь по хардкору упороться, то для рогалика с тяжелой симуляцией мира rust лучше С++ по всем параметрам.
Там в принципе невозможен ряд проблем, которые бывают с плюсами - утечки памяти, сегфолты. При этом, код летает так же быстро. Но придется вложить время в изучение.
Аноним 06/09/19 Птн 18:58:17 608460211
>>608437
>С++, но я подводных не знаю.
Тяжело тогда придется.
>можешь порекомендовать что-то лучше?
Самые быстрые языки это C/C++/Rust. Но они и сложные.
А из остальных пофиг что брать, C#/Java/Go/JS/Swift они там примерно одинаковы по скорости. Только питон медленнее.
Аноним 06/09/19 Птн 18:59:07 608461212
>>608454
Вот когда напишешь и отладишь под все платформы, тогда и приходи. Может поддерживать он, лол.
Аноним 06/09/19 Птн 19:00:43 608462213
>>608461
А ты когда на готовом движке сделаешь хоть что-то, тоже приходи.
Аноним 06/09/19 Птн 19:07:04 608463214
>>608458
>Там в принципе невозможен ряд проблем, которые бывают с плюсами - утечки памяти, сегфолты
что-то ты меня заинтересовал, я когда-то учил си и мне интересно как это язык быстрый без проблем ручного управления памятью, надо почитать о нём

мимо другой анон
Аноним 06/09/19 Птн 19:07:49 608464215
>>608456
>Спешите видеть, манька не знает, что такое статическая линковка.
Ты прям все ядро с собой прилинкуешь, и никаких системных вызовов делать не будешь, а рисовать и ввод делать будет святой дух, ясно-понятно. Если бы все было так просто как ты говоришь, то всякие вальвы бы так и релизили, но однако же это так не работает.
>Потому что это абсолютно разные по сложности, объему и принципу работы вещи, в принципе не сравниваемые.
Нет, это не так.
>. Рендер браузера во много раз сложнее рендера любой 2д игры
Нет, не сложнее, 2д игры это несколько слоев с разным параллаксом, динамическое освещение, деревья сцен и объектов, ровно то же самое.
> dom-дерево отрендерить со всеми css правилами это не хуй собачий.
А вот это показывает, что ты тупой даун и вообще не понимаешь, о чем шла речь. Я где-то писал о разборе dom и css? Нет, я писал только о том, что когда рендерят то, что уже разобрано, в opengl и подобном, глючит на реальном железе и драйверах.
Свободен.
Аноним 06/09/19 Птн 19:09:42 608465216
>>608463
Это пиздец ебанутый язык, тебе там придется управлять временем жизни, и уговаривать компилятор собрать хоть что нибудь, короче мем уровня хаскеля, делать на нем конечно ничего не возможно, а учить наверное дольше чем c++ раз в 10.
Аноним 06/09/19 Птн 19:21:35 608469217
>>608465
>делать на нем конечно ничего не возможно
Ну да, а посоны-то и не знали. Уже овердохуя компаний юзает его в продакшене.
https://www.rust-lang.org/production/users
>Это пиздец ебанутый язык
Я так понял, что для тебя всё, что не юнити и все, где нельзя таскать ассеты по сценке - пиздец ебанутое. Можешь не продолжать.
>>608464
>Ты прям все ядро с собой прилинкуешь, и никаких системных вызовов делать не будешь, а рисовать и ввод делать будет святой дух, ясно-понятно.
Я даже разбирать это не буду, бред шизофреника, видевшего линукс только на картинке и не понимающего смысла слов, которые он пишет.
Вот тебе пример статического бинарника, который просто качается и запускается на любом дистрибутиве.
https://godotengine.org/download/linux
>Нет, это не так.
Нет, это так. Можешь посмотреть исходники какого-нибудь хромиума, там один рендеринг по объему кода больше чем весь условный годот.
>Нет, не сложнее, 2д игры это несколько слоев с разным параллаксом, динамическое освещение, деревья сцен и объектов, ровно то же самое.
А вот это показывает, что ты тупой даун и вообще не понимаешь, о чем шла речь. Я где-то писал о разборе слоёв и паралакса, и дерева сцен? Нет, я писал только о том, что когда рендерят то, что уже разобрано, в opengl и подобном, глючит на реальном железе и драйверах.
В общем, обдристался ты знатно, лучше не продолжай дальше позориться.
Не переживай, это анонимный форум, никто не запомнит твой обсёр, так что можешь расслабиться и перестать усираться в ответ.
Аноним 06/09/19 Птн 19:25:13 608470218
>>608469
>Ну да, а посоны-то и не знали. Уже овердохуя компаний юзает его в продакшене.
Его юзают професси_аналы с з/п от 200к рублей, причем тут 2ch gd?
Аноним 06/09/19 Птн 19:30:09 608471219
>>608470
звучит как повод выучить раст лол

вангую впрочем что туда сложно вкатиться и большинство борщехлебы на низкой зп
Аноним 06/09/19 Птн 19:31:42 608472220
>>608470
Ну ты изначально спизданул что-то про язык-мем и что на нём ничего нельзя сделать, а теперь пытаешься оправдаться и соскочить за счет того, что на 2ch gd не может сидеть профессиональный программист.
Аноним 06/09/19 Птн 19:39:17 608475221
>>608471
Раст для вката в айти не подходит, никому джуны на расте не нужны, его юзают как второй язык бэкендщики с опытом, когда у плюсов не хватает безопасности, а у какой-нибудь джавы скорости.
А для программирования для души он отлично подходит, в том числе и для геймдева. Много обучающих материалов, удобная экосистема, пакетный менеджер.
Аноним 06/09/19 Птн 19:40:26 608476222
>>608471
Выучи, если сможешь. Там и игровые движки уже есть так то.
Аноним 06/09/19 Птн 19:41:14 608477223
>>608472
Так и на Хаскеле несколько человек в мире пишет всякую телефонию, но для большинства он иначе как мемом не является.
Аноним 06/09/19 Птн 20:12:57 608481224
>>608477
>приравнивать несколько человек и несколько сотен компаний уровня mozilla, dropbox, atlassian, cloudflare, npm
Я надеюсь, что это троллинг тупостью, потому что если у тебя на полном серьёзе такое в голове, то это даже немного грустно.
Аноним 06/09/19 Птн 20:16:23 608483225
>>608481
А в чем ты усматриваешь противоречие? В mozilla, dropbox, npm и т.д тоже не все на расте пишут, наверное это очевидно, что там тоже всего несколько человек этим занимается?
У хаскеля тоже есть именитые компании
Напрмер Intel, nvidia, qualcomm, AT&T, пара банков америки и т.д.
https://wiki.haskell.org/Haskell_in_industry
Аноним 06/09/19 Птн 20:31:42 608486226
1455294212640.png (20Кб, 567x279)
567x279
1536498832106.png (4Кб, 399x70)
399x70
>>608469
>Вот тебе пример статического бинарника, который просто качается и запускается на любом дистрибутиве.
А тут даже и видеть линукс не надо, качаем твою годотю, открываем в readelf, читаем вывод. Опа, ты пиздабол, NEEDED libc и прочее конкретной версии. Вот тебе и "все" дистры в пролете.
>Нет, это так. Можешь посмотреть исходники какого-нибудь хромиума, там один рендеринг по объему кода больше чем весь условный годот.
Раздутость хрома как аргумент? Нет пути! ну давай сравнивать, ой, как же так, размер годотю которую ты скинул такой же как у хромиум эмбеддед, надо же оказывается ты опять напиздел!
>А вот это показывает, что ты тупой даун и вообще не понимаешь, о чем шла речь. Я где-то писал о разборе слоёв и паралакса, и дерева сцен?
А, ты решил паясничать, клоун, ну окей. Тогда и в хроме нет никаких dom и css а есть только текст и картинки.
>Нет, я писал только о том, что когда рендерят то, что уже разобрано, в opengl и подобном, глючит на реальном железе и драйверах.
Хорошо что ты наконец признал, что на реальном железе и драйерах глючит и движкописателю с этим разбираться.
>В общем, обдристался ты знатно, лучше не продолжай дальше позориться.
>Не переживай, это анонимный форум, никто не запомнит твой обсёр, так что можешь расслабиться и перестать усираться в ответ.
Пока что обсираешься только ты, шизюнь.
Аноним 06/09/19 Птн 21:16:36 608492227
>>608483
>Напрмер Intel, nvidia, qualcomm, AT&T, пара банков америки и т.д.

Ничего серьезного там на хаскеле не пишут. Какие-то энтузиасты по недосмотру начальства пишут всякую мелочь типа утилит и генераторов отчетов.

На одной из моих прошлых работ у нас был человек, который написал утилиту на F#, правда никто кроме него ей не пользовался и когда он ушел про нее забыли. Вот примерно на таком уровне весь этот haskell in industry и находится
Аноним 06/09/19 Птн 21:19:05 608493228
>>608492
Ну вот и раст примерно такой же.
F# охуенный, да. Классный паттерн матчинг, функциональщина, и при этом вся мощь дотнета на кончиках пальцев. Когда годот научится в экспорт c# в emscripten, я сразу перейду на него и прикручу.
Аноним 07/09/19 Суб 04:02:06 608535229
18gOLsqBNfc.jpg (17Кб, 400x400)
400x400
>>608460
>Тяжело тогда придется.
>Самые быстрые языки это C/C++/Rust. Но они и сложные.
На сложность пiхуй, я готов въебать и наебать и того сего нахуй, динамическая память тыры пыры ебать делать, в общем под завязку обмазаться этим языком, если как говорите они сложные только, то всё тогда хорошо.

>>608458
Опять же, время на изучение это всё ничто для меня, вот о ряде проблем хотелось бы знать заранее, как избежать их?
-Про уточки памяти я знаю вроде только в общих чертах, но не знаю пока когда они возникают (при ебланском использовании динамической памяти, и не уборке за собой?)
- Про сегфорты не знаю вообще. Разъясните позюзя...
Аноним 07/09/19 Суб 04:40:45 608538230
>>608535
>Про сегфорты не знаю вообще
ты на плюсах писал хоть что-нибудь...
Аноним 07/09/19 Суб 06:24:34 608546231
>>608538
Я этот термин не слышал
Аноним 07/09/19 Суб 11:05:13 608604232
>>608535
int main()
{
((void(*)(void))1)(); //hello segfault
return 0;
}
Аноним 07/09/19 Суб 11:36:22 608609233
>>608535
> (при ебланском использовании динамической памяти, и не уборке за собой?)
Типа того, когда например вызываешь new для какого-то временного буфера в цикле, а потом не вызываешь delete. И когда выходишь из этого цикла, ты теряешь указатель на эту область и уже ничего не можешь с ней сделать, она остается выделенной.
Но в современном С++ это уже не проблема, можно написать 99% программ вообще без ручного выделения памяти через new, с помощью RAII, умных указателей, стандартных структур типа вектора, и т.д.
Сегфолты возникают тоже при ручной работе с памятью, когда ошибся указателем и лезешь в недоступную область памяти, или пытаешься записать в read-only память.
В расте такие ошибки в принципе невозможны, программа с ними просто не скомпилится.
Аноним 07/09/19 Суб 11:55:30 608615234
>>608609
Ну впринципе это еще хуйня, то есть банально быть внимательным и уже как бы эти ошибки отсечены. Еще какие-то подводные камни крестов?
Аноним 07/09/19 Суб 11:58:03 608616235
Снимок экрана о[...].png (224Кб, 870x400)
870x400
>>608486
>Вот тебе и "все" дистры в пролете.
А посоны-то и не знали. Они спокойно юзали бинарник годота на любом дистрибутиве, но тут пришла чмоня с двача и сказал, что они все оказывается в пролёте
>читаем вывод.
Ого, ты умеешь читать, неожиданно. Если внимательно почитаешь список библиотек на скрине, то увидишь, что эти библиотеки есть в любой линукс-системе с установленными иксами, т.е. на любом дистрибутиве, кроме серверных.
>и прочее конкретной версии
Опять пиздёж и непонимание, как работает линковка. Привязки к конкретным версиям системных библиотек нет, автоматически будут подхвачены системные либы, установленные в дистрибутиве, независимо от версии.
libc.so.6, например, это не конкретная версия библиотеки, это симлинк на версию, установленную в системе.
libasound.so.2 например в моём дистре резолвится на ALSA_0.9.0rc4, на другом дистре это может быть другая версия.
Я понимаю, что это так весело, спорить на тему, в которой ты нихуя не понимаешь, про операционную систему, которую ты видел только на картинках и мемах из интернета, сидя под виндовсом, но лучше бы ты прекратил дристать себе в штаны на глазах у всей борды.
Аноним 07/09/19 Суб 12:08:19 608618236
>>608615
> банально быть внимательным
Это только кажется, что просто. Но весь код просто невозможно контролировать. Вот выделил ты память, потом вызываешь метод из какой-нибудь левой либы, а она бросает эксепшен. Пусть даже у тебя стоит обработчик эксепшенов где-то, ты отловил этот эксепшен, но стек фрейм уже потерян, указатель на выделенную память просран и случилась учетка.
>Еще какие-то подводные камни крестов?
Нет пакетного менеджера, сложно менеджить зависимости, надо либо ставить все либы руками, либо юзать конан, но тогда придется писать под него пакеты, либо пойти по пути годота и тупо переносить исходники зависимостей в свой проект и билдить всё вместе.
Придется разбираться с линковкой, чтобы билдить переносимые бинарники. Ты можешь собрать бинарник, который будет работать у тебя, но пропустить какую-нибудь либу, не вкомпилить её в бинарник, и на другом компе оно не заведется.
Модули пока не завезли, придется ебаться с заголовочными файлами, это не очень удобно, особенно если надо писать темплейты.
В расте всех этих проблем нет, там пакетный менеджер, модули, билд переносимых статических бинарников.
Аноним 07/09/19 Суб 12:09:21 608619237
>>608616
Да что же тебе так нравится серить себе на голову, а потом размазывать по своим волосам и лицу говно? Все и так уже поняли что у тебя "работает на всех дистрибутивах" означает "на моей убунте запустилось, УМВР", а то что на других семействах может быть libc другой версии, с другим ABI, тебе естественно невдомек. Ну что тут сказать, если уж даже я, который по твоим словам "видел линукс только на мемах" знает больше тебя, выходит ты ламер хуже червя-пидора и обсуждать с тобой тащемта и нечего.
Аноним 07/09/19 Суб 12:16:46 608623238
e17d56ee5fdebb9[...].jpg (49Кб, 500x361)
500x361
>>608619
>Да что же тебе так нравится серить себе на голову, а потом размазывать по своим волосам и лицу говно? Все и так уже поняли что у тебя "работает на всех дистрибутивах" означает "на моей убунте запустилось, УМВР", а то что на других семействах может быть libc другой версии, с другим ABI, тебе естественно невдомек. Ну что тут сказать, если уж даже я, который по твоим словам "видел линукс только на мемах" знает больше тебя, выходит ты ламер хуже червя-пидора и обсуждать с тобой тащемта и нечего.
Аноним 07/09/19 Суб 12:21:47 608626239
>>608619
>, а то что на других семействах может быть libc другой версии, с другим ABI,
Так вроде бы еще с начала девяностых на всех десктопных дистрах стоит libc.so.6.
А в целом, в теории конечно может, у одного процента пердоликов, билдивших линукс из сорцов, или у какого-нибудь любителя некрожелеза. А у 99% юзеров обычных десктопных дистров будет стоять libc.so.6.
Но твою позицию я понял, если твой билд не будет работать у одного пердолика из пяти миллионов обычных пользователей, то это конечно пиздец как хуёво, с таким раскладом лучше вообще ничего не программировать и не компилировать. А то вдруг именно этот пердолик скачает, а у него не запустится, это пиздец как хуёво будет, что посоны подумают.
Аноним 07/09/19 Суб 12:31:22 608627240
>>608618
у меня пока синдром утёнка не разрешает перейти на раст, я этот язык мало знаю, и пока не уверен в его скажем так эффективности по сравнению с крестами теми же. А за поясняловую благодарствую
Аноним 07/09/19 Суб 13:07:14 608638241
Поясните анончики любимые, смысл срача? Почему всем не придерживаться просто правила -> Хочешь делать игру, берёшь Юнити,Уеч,гейм макер. Хочешь просто кодить -> любой голый язык или веб. Всё, срачи пропадут.
Аноним 07/09/19 Суб 13:23:41 608648242
Screenshot2019-[...].png (84Кб, 720x1280)
720x1280
>>608638
если ты делаешь рогалик или даже платформер тебе не особо нужен фреймворк вообще

вот поиграй например в платформер в несколько сотен строк https://eloquentjavascript.net/17_canvas.html
пикрил где искать на странице и как запустить, я пишу с мобилы, но там нужен десктоп

в рогаликах от фреймворка вообще мало толку, в платформерах хоть риал тайм физика есть и она более менее универсальная. а в рогалике тайловый пошаговый мир с одной стороны, это несложно в плане перемещения и столкновений, а с другой например я хочу такую вот систему видимости, а фреймворк её делает по другому, короче связывает руки
Аноним 07/09/19 Суб 14:04:15 608660243
>>608648
РРРЯЯ НИВАЗМОЖНАЯ ЮПИНИ НАДА БРАТЬ!! НИЛЬЗЯ ТАК, ТЫ САМЫЙ УМНЫЙ ЧТОЛИ? ЮПИТИ ПРИДУМАЛИ, НАДО ЕГО БРАТЬ, ТОЛЬКО В ЮПЕИТИ МОЖНО ДЕЛАТЬ ИГРЫ!!11
Аноним 07/09/19 Суб 14:05:19 608661244
>>608660
Гоудотер порваный?
Аноним 07/09/19 Суб 14:10:28 608663245
>>608661
Хорошо потушил, клоун
Аноним 07/09/19 Суб 14:18:14 608669246
>>608663
Пощютил те за щеку, проверяй, петушара.
Аноним 07/09/19 Суб 14:58:37 608691247
1567857497493.jpg (7Кб, 273x184)
273x184
Аноним 07/09/19 Суб 15:09:10 608693248
>>608691
Сорян, в отличие от тебя сосуна я релизю игры и делаю тысячи бакинских в месяц ;)
Аноним 07/09/19 Суб 15:15:28 608696249
15669168775200.png (559Кб, 538x589)
538x589
>>608693
>Сорян, в отличие от тебя сосуна я релизю игры и делаю тысячи бакинских в месяц ;)
Аноним 07/09/19 Суб 15:16:51 608698250
>>608696
Эх эти боевые картиночки...
Аноним 07/09/19 Суб 15:17:51 608700251
15668428752830.png (398Кб, 780x1040)
780x1040
>>608698
>Эх эти боевые картиночки...
Аноним 08/09/19 Вск 15:08:34 608895252
>>572542
>спрайты выполнены в размере 21x21
Сука, ты заебал. Что так сложно ответить почему выбрал такой размер спрайтов?
Аноним 08/09/19 Вск 15:15:05 608901253
>>608895
Какая разница то лол? Ну выбрал он и выбрал. Нечетный размер позволяет симметрию кстати.
Аноним 10/09/19 Втр 07:59:17 609330254
>>607968
>> Поэтому во всех трушных рогаликах игрок и враг это один и тот же класс. Так везде, от dungeon crawl'a до катаклизма.
И там и там разные. Ты хоть в код заглядывал, а не в свои фантазии?
Аноним 10/09/19 Втр 12:49:27 609360255
>>609330
Мимокрокодил, заинтересовался. Поясните, какие подводные камни, если сделать класс Персонаж, в котором описать меш, коллизии, анимации движения, от него унаследовать класс "Игрок" в котором описать управление с инпута, и класс "НПЦ" в котором описать управление от ИИ?
Или, если кому неугодно, сделать класс "Персонаж", в котором описать меш, коллизии, анимации движения, а так же задать поле для хранения компонентов, создать класс "Компонент", от него унаследовать класс "Управление", от него унаследовать класс "Игрок" в котором описать управление с инпута, и класс "НПЦ" в котором описать управление от ИИ и объекту "Игрок" класса "Персонаж" накинуть компонент "Игрок"?
Аноним 10/09/19 Втр 14:35:22 609366256
>>609360
Сейчас 2к19, никто не наследует то что можно сделать через ECS
Аноним 10/09/19 Втр 18:49:29 609387257
>>609366
Ебать ты тупой. Слово "компонент" не нашёл? Или после слова "наследовать" дальшенечитал?
Аноним 10/09/19 Втр 20:11:05 609395258
Стикер (0Кб, 512x512)
512x512
>>609387
>"Компонент"
>от него унаследовать
>от него унаследовать
Аноним 10/09/19 Втр 20:20:29 609397259
>>609360
>. Поясните, какие подводные камни, если сделать класс Персонаж, в котором описать меш, коллизии, анимации движения, от него унаследовать класс "Игрок" в котором описать управление с инпута, и класс "НПЦ" в котором описать управление от ИИ?
Если ты захочешь одновременно подключить и управление игроком, и управление ИИ, ты соснул с наследованием. Например, чтобы персонаж автоматом уклонялся от пуль, но при этом можно было контролировать его вручную.
Компоненты в ecs подразумевают модульность, их можно подключать сразу несколько к одной сущности.
Накидываешь компонент брони на сущность шлема, можешь надевать его. Накидываешь еще компонент оружия с колющим уроном - можешь дополнительно бодаться им.
А на ООП ты жидко пукнешь спермой, не зная что от чего наследовать, шлем от оружия или оружие от шлема.
Аноним 10/09/19 Втр 20:28:19 609398260
>>609397
ЕЦС это композиция ООП.
Персонаж - сущность. Игрок и ИИ - компоненты.
>>609395
Вот смотри:
using Unity;
public class MyClass : MonoBehaviour { }
Это что? Не наследование? Не классы? Не ООП? А что это?
Аноним 10/09/19 Втр 20:56:05 609405261
>>609397
В ecs ты точно так же жидко пукаешь, если у тебя коллизия между полями компонентов. Мозг в любом случае придется юзать, чтобы выделять и именовать сущности. Оружие и шлем очевидно пронаследуются от единицы снаряжения.
Аноним 10/09/19 Втр 21:23:52 609413262
>>609405
Хуя ты ебанашка. Нет никаких коллизий в нормальном ecs, ты видимо просто нормальный не видел, жертва ООП головного мозга.
>>609398
>юнити
>ecs
Проиграл. Иди дальше ассеты по сценке тягай, манька.
Аноним 10/09/19 Втр 21:56:08 609421263
>>609413
Нет никаких коллизий в нормальном ООП, ты видимо просто нормальный не видел, жертва ECS головного мозга.
>"не зная что от чего наследовать, шлем от оружия или оружие от шлема."
У тебя в ecs будет поле снижение урона в броне и снижение урона в шлеме, и ты не будешь знать каким пользоваться - вот уровень твоей аргументации.
Аноним 10/09/19 Втр 22:21:32 609429264
>>609360
Если ты спрашиваешь за код тех проектов, то так не делали, т.к. у тех же зомби в кате нет кучи параметров, что есть у персонажа, которые им вообще не нужны или делают симуляцию избыточной, что отжирает ресурсы, которые перенаправляют на что-то более полезное.
Да, это красивая история про то, что можно давать управление персонажа компу, но почти всегда это не оправдано больше ничем, кроме просто затем, чтобы было.
Про то, что ты описал - выше уже сказали, что лучше сделать через ecs. У тебя будет компонент отображения: меш, анимации, частицы.. компонент контроллер: игрок/ии.. все это компоненты какой-то сущности будут, например, персонаж.
Аноним 10/09/19 Втр 22:45:59 609435265
>>609421
Еще раз, возвращайся в свой юнити-загон. Я понимаю, ты скачал юнити, научился таскать ассеты по сценке, и тебе теперь до сверби в очке хочется спиздануть своё экспертное мнение, но иногда лучше промолчать, чтобы не позориться.
>Оружие и шлем очевидно пронаследуются от единицы снаряжения.
Ты даже не понял смысл компонентов ecs, что впрочем неудивительно для умственно-отсталого пользователя юнити.
Ладно, еще раз объясню, может дойдет со второго раза. Есть компонент оружия, есть компонент шлема. Логика оружия и атак в компоненте оружия, кол-во брони и логика защиты в компоненте шлема. Если ты делаешь обычное оружие, ты используешь один компонент оружия. Обычный шлем - компонент шлема. А если захотел, то комбинируешь два компонента в одной сущности, получаешь рогатый шлем, который дает защиту, и позволяет атаковать рогами.
В рамках ООП тебе уже придется делать наследование от двух классов с общим родительским классом, что приводит к diamond problem. Да и во многих языках множественное наследование запрещено, т.к. приводит к куче проблем. Разве что в С++ можно полноценно юзать множественное наследование, но поскольку ты умственно отсталый, то вряд ли умеешь писать на плюсах.
А если тебе отрубили рога, ты просто на лету дропаешь компонент и получаешь опять обычный шлем без атаки. В нормальном ecs все компоненты хранятся в раздельных хранилищах, поэтому компоненты легко отсоединяются/отключаются, память при этом освобождается.
В ООП так не получится сделать, если юзаешь наследование/агрегацию, в рантайме на лету ты не разделишь компоненты сущности.
Аноним 10/09/19 Втр 23:15:11 609442266
>>609435
Дегенерат, ты высрал много хуйни и даже не понял мой простейший пост - в ecs у тебя ровно та же самая diamond problem, ты от нее никогда не уйдешь, просто сдвигаешь немного в другую плоскость, да даже на твоем же примере, хуй разберешься как рассчитывать атаку, поскольку она идет и от оружия и от рогов шлема, значит у тебя уже ограничение, что можно атаковать только одним из них, то есть ничем не лучше как если бы в ооп ты наследовался не множественным наследованием а ограничивал все одним предком.
Аноним 10/09/19 Втр 23:44:14 609448267
>>609442
Вот это обида умственно отсталого. Ничего, всё нормально, не обижайся, ты хороший мальчик. Иди запусти юнити, скачай ассет из стора, перетащи на сцену. Молодец, ты у нас умница, почти как настоящий взрослый разрабочик игр.
> в ecs у тебя ровно та же самая diamond problem
Нет, её нет.
>хуй разберешься как рассчитывать атаку
Элементарно разберёшься.
> значит у тебя уже ограничение, что можно атаковать только одним из них
Зависит от механик игры. Можно атаковать одним, сортировать компоненты по атрибуту приоритета/урону.
Можно проводить двойную атаку, в духе нескольких бросков кубика в d&d играх.
Можно давать игроку список действий на выбор,пробегаться по всем подключенным компонентам и строить набор доступных действий - стукнуть мечом, боднуть, пнуть, бросить этот сраный шлем во врага - этот функционал легко включить, просто подключив компонент "Бросаемый" к шлему. Ты можешь подключить этот же компонент к тому же мечу одной строчкой в конфиге сущностей, и для его броска будет задействован тот же код. Он будет так же бросаться, действие для броска так же автоматически будет доступно, без строчки дополнительного кода.
Удачи в ООП пробегаться по всем предкам сущности, чтобы понять, какие действия с ней можно делать.
Аноним 11/09/19 Срд 00:04:24 609457268
>>609448
Лол, вот это боль юнитимакаки, которая умеет только возякать ассеты, и ничего не понимает в ООП.
>Можно давать игроку список действий на выбор,пробегаться по всем подключенным компонентам и строить набор доступных действий - стукнуть мечом, боднуть, пнуть, бросить этот сраный шлем во врага
Ты даже не понимаешь, шизоид, что ты просто ручками прописываешь все то, что у тебя будет само работать с наследованием. Просто смирись, программирование и геймдев - это не для всех, иди раскладывать товары в пятерочке.
11/09/19 Срд 00:06:16 609459269
>>609448
>запусти юнити, скачай ассет из стора, перетащи на сцену. Молодец, ты у нас умница, почти как настоящий взрослый разрабочик игр.
хуесос, ассет от моделлера чемменяет этот процесс? прекроди срать себе в рот
Аноним 11/09/19 Срд 00:27:26 609465270
e17d56ee5fdebb9[...].jpg (49Кб, 500x361)
500x361
>>609459
>хуесос, ассет от моделлера чемменяет этот процесс?
Аноним 11/09/19 Срд 18:34:48 609702271
>>609435
> если юзаешь наследование/агрегацию, в рантайме на лету ты не разделишь компоненты сущности
using Unity;

public class Component {}

public class Entity {
public List<Component> components
}

Дальше разъёбывать тебя, энтитух? Или ты уже понял, где обосрался?
Аноним 11/09/19 Срд 18:42:00 609709272
1568216498127.png (135Кб, 300x190)
300x190
>>609429
> почти всегда это не оправдано больше ничем, кроме просто затем, чтобы было
Это даёт мододелам возможность пилить моды со своими сюжетами любого уровня сложности. Например, в основной игре, ты даже не думал о том, персонажем игрока может управлять ИИ, но всё же вложил эту возможность. И вот один моддер сделал мод, где все персонажи управляются игроком в стиле изометрических РПГ. А другой моддер запилил мод с квестом, в рамках которого некий монстр может удалённо контролировать персонажа игрока и игроку предстоит с этим разобраться. А третий моддер запилил мод на оборотня, где ГГ по ночам теряет разум и бежит охотиться, а игрок в ужасе наблюдает, не в силах ничего поделать. А пятый моддер запилил еблемод, где ГГ ебут.
Аноним 11/09/19 Срд 20:07:29 609745273
Аноним 11/09/19 Срд 20:12:15 609749274
>>609745
Нам очень важно ваше мнение. Пожалуйста, оставайтесь на линии, ближайший освободившийся оператор службы выслушивания охуительно важных мнений школоты и хомячья, обязательно ответит вам!
Аноним 11/09/19 Срд 20:17:54 609751275
>>609749
Моды это и есть для школоты. Нормальные люди играют в готовый контент.
Аноним 11/09/19 Срд 20:19:33 609755276
>>609709
>один моддер сделал мод, где все персонажи управляются игроком в стиле изометрических РПГ
Ты мог бы продать две игры, а в результате продал одну, а эту идею подарил какому то моддеру. Потом он выпускает игру ТОДА 2, которая становится популярной, а твой проект сосет бибу.
Аноним 11/09/19 Срд 20:19:45 609756277
>>609751
Нам очень важно ваше мнение. Пожалуйста, оставайтесь на линии, ближайший освободившийся оператор службы выслушивания охуительно важных мнений школоты и хомячья, обязательно ответит вам!
Аноним 11/09/19 Срд 20:20:42 609757278
>>609755
Кто не рискует, тот не нюхает кокс с жоп шлюх.
Аноним 11/09/19 Срд 20:21:00 609758279
>>609756
Я понял, понял. У вас там в школе все заняты хомячками.
Аноним 11/09/19 Срд 21:25:46 609849280
15583899661130.png (129Кб, 480x480)
480x480
>>609702
>using Unity
Нахуя там юнити? Там же юзаются один List из стандартной либы. Или ты без юнити пукнуть уже не можешь?
>Дальше разъёбывать тебя, энтитух?
Ну давай, разберем по частям тобою написанное.
Твоя реализация по перфомансу против полноценного ECS - это как бабка на костылях против спорткара.
В ECS компоненты хранятся в cache-friendly структурах, плотными массивами, при обработке системой они выгружаются на линии кэша процессора пачками и молниеносно обрабатываются.
У тебя же список, который хранит указатели на объекты в рандомных местах кучи, т.е. вся куча засрана дерьмом, по которому приходится скакать при обработке, кэш при этом вымывается мусором при каждой итерации.
Дальше, ты как ты представляешь себе код обработки высранной тобой структуры? Как системы узнают, что у сущности X в листе компонентов находятся компоненты типа, обрабатываемого данной системой? Я так полагаю, ты собрался для каждой сущности пробегаться по всем компонентам и делать тайп чек? Ты представляешь какой это оверхед по сравнению с настоящей реализацией ECS, где все компоненты одного типа лежат в отдельном массиве, и каждая система заранее знает, где взять эти компоненты без оверхеда?
Так что обосрался прямо себе на лицо пока что только ты.
Впрочем, от умственно отсталого потребителя юнити ничего другого и не ожидалось.
Аноним 12/09/19 Чтв 07:25:04 609928281
>>609709
Так то, что я описал никак не мешает мододелу добавить/убрать нужные компоненты персонажу/мобу и передать управление игроку/ИИ/аллаху.
>>609745
>> Ненужно.
Нужно, очень важная составляющая качественной игры.
Аноним 12/09/19 Чтв 09:47:23 609943282
>>609928
>моды
>качественной игры
Выбери что-нибудь одно.
Аноним 12/09/19 Чтв 10:23:08 609951283
>>609943
Я выбираю скайрим. Игру года. Игру десятилетия. Хуй ты оспоришь.
Аноним 12/09/19 Чтв 10:31:25 609955284
>>609951
Скайрим без модов некачественный, ты обосрался.
Аноним 12/09/19 Чтв 11:07:46 609978285
>>609849
>15583899661130.png
Ты понимаешь, что ты поехавший?
Аноним 12/09/19 Чтв 15:48:38 610063286
>>609955
У меня сейчас будет аргумент уровня "миллионы мух не могут ошибаться", но скайрим блядь, так много раз продавался, что об этом в интернетах легенды (и мемасы) ходят. И бойчее всего он продаётся на платформах, где моддинг затруднён.
Аноним 13/09/19 Птн 03:21:11 610198287
>>609943
Во вселенной своих фантазий ты волен выбирать, что угодно.
Аноним 18/09/19 Срд 22:01:37 611572288
>>558393
Он там в стиме на альфаре уже выкатился, игрокам нравится и выглядит очень необычно.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов