Руковыпрямительный колледж имени Факова

Published
Значит так.
Вы тут тухните.
Один Doc молодец, делает свою mmorpg ручками.
А Эльрат из-за вас всех без выхлопа трудится и пеарит сайт как может уже - даже лайки с репостами уже в контактах покупать начал.

Ввиду этого

Пора бросить делать костыль-карты под вар. Я бессовестно предлагаю всем желающим начать учиться делать нормальные инди-игры. Я как старый гуишник всячески избегаю чистого кодинга и потому готов вас учить делать игры без кода. Это возможно, просто вы плохо пробовали.
Моя цель - пристрастить желающих к созданию игр и спровоцировать движуху на хгм на тему геймдева.
Все просто - если вы на основании результатов этого опроса изъявляете желание поучиться геймдеву на Construct 2, я берусь рассказывать желающим, как там делать игры непосредственно на примере создания игры. Первый урок - вводный, бесплатно, дальше - донейт на весь курс до конца, разово. Если нет - все расходимся и продолжаем раковать каждый в своей кормушке перед монитором. Вам никто ничего не обещает в плане золотых гор аля Гейбньюэлла или еще кого, но если потом кто-то впряжется и сделает со мной 2Д mmorpg на этом движке - честь, хвала и 50% прибыли с проекта.
Опрос: Я готов поступить на курсы выпрямления рук в области геймдева
Всего проголосовали: 59



Views: 21 961

» Лучшие комментарии


Fakov #53 - 7 years ago 0
Голосов: +0 / -0
Т.е. будет некоторая постоянная обратная связь
ну это как бы в заглавии темы заложено. я просто хочу заинтересовать участников еще пока коммьюнити геймдевом, на пальцах описав, что есть что в каком то движке
Pray_AD #54 - 7 years ago (изм. ) 0
Голосов: +0 / -0
Fakov:
Т.е. будет некоторая постоянная обратная связь
ну это как бы в заглавии темы заложено. я просто хочу заинтересовать участников еще пока коммьюнити геймдевом, на пальцах описав, что есть что в каком то движке
Ну для меня это было не слишком очевидно
GeneralElConsul #55 - 7 years ago 2
Голосов: +2 / -0
GeneralElConsul, ну, так программирование - вещь в умах обыденных сама по себе страшная.)
Такая же страшная, как и любая штука о которой ничерта не знаешь; когда начинаешь вникать - страх и ужас, о чудо, рассеиваются. Да еще и сами программисты любят пафоса понагонять.
Aws #56 - 7 years ago 0
Голосов: +0 / -0
Как же начинают вар здесь гнобить...
Создание игр без кода ет интересно, давай подгоняй фришную лекцию.
RSQR #57 - 7 years ago (изм. ) 0
Голосов: +0 / -0
GeneralElConsul:
GeneralElConsul, ну, так программирование - вещь в умах обыденных сама по себе страшная.)
Такая же страшная, как и любая штука о которой ничерта не знаешь; когда начинаешь вникать - страх и ужас, о чудо, рассеиваются. Да еще и сами программисты любят пафоса понагонять.
Ну как тебе сказать... я пол года пытаюсь разобраться в шуме Перлина :( И мне становится страшно каждый раз когда я пытаюсь в этом разобраться.
Cinos #58 - 7 years ago 0
Голосов: +0 / -0
RSQR, ну ведь одно другому - рознь. Это ведь не игрушки кодить.) Я вот питон учу потихонечку, чтобы в майе было удобнее - пока что больших проблем не встречал.
alexprey #59 - 7 years ago 1
Голосов: +1 / -0
RSQR, тут больше уже математики надо знать, а для этого нужна хорошая математическая база
RSQR #60 - 7 years ago (изм. ) 0
Голосов: +0 / -0
alexprey:
RSQR, тут больше уже математики надо знать, а для этого нужна хорошая математическая база
У меня по математике всегда 2-3 было в школе =( Поэтому я и мучаюсь, вроде кодить интересно, но я ничерта не знаю и не понимаю(
Pray_AD #61 - 7 years ago (изм. ) 0
Голосов: +0 / -0
RSQR, Что значит разобраться в шуме перлина? )
RSQR #62 - 7 years ago (изм. ) 0
Голосов: +0 / -0
Pray_AD:
RSQR, Что значит разобраться в шуме перлина? )
Например как написать генерацию перлина на си шарпе?
Слишком много непонятных функций, букв и цифр =(
lentinant #63 - 7 years ago (изм. ) 0
Голосов: +0 / -0
я пол года пытаюсь разобраться в шуме Перлина
А что сложного в шуме Перлина?
У тебя есть матрица 2 в степени N на 2 в степени N. Берешь текстуру такого разрешения и мутишь с нее белый шум (каждый пиксель случайным образом черный или белый). Дальше берешь вторую текстуру, и снова генеришь белый шум, но уже как бы разрешением вдвое ниже (разрешение то же, только вместо одного пикселя ты берешь квадрат 2 на два пикселя), дальше снова снижаешь разрешение и делаешь белый шум из квадратов 4 на 4, и так несколько раз. Потом берешь эти все текстуры, и на их основе делаешь остаточную - например, берешь определенный пиксель с каждой текстуры, и вычисляешь среднее из нее (например, если из 8 текстур у 4 этот пиксель был белым, то в итоговой текстуре он будет четко серым).
Чем больше итераций ты проведешь, тем больше возможных вариантов цвета будет, и тем более плавной будет выглядеть картинка.
RSQR #64 - 7 years ago (изм. ) 0
Голосов: +0 / -0
lentinant:
я пол года пытаюсь разобраться в шуме Перлина
А что сложного в шуме Перлина?
У тебя есть матрица 2 в степени N на 2 в степени N. Берешь текстуру такого разрешения и мутишь с нее белый шум (каждый пиксель случайным образом черный или белый). Дальше берешь вторую текстуру, и снова генеришь белый шум, но уже как бы разрешением вдвое ниже (разрешение то же, только вместо одного пикселя ты берешь квадрат 2 на два пикселя), дальше снова снижаешь разрешение и делаешь белый шум из квадратов 4 на 4, и так несколько раз. Потом берешь эти все текстуры, и на их основе делаешь остаточную - например, берешь определенный пиксель с каждой текстуры, и вычисляешь среднее из нее (например, если из 8 текстур у 4 этот пиксель был белым, то в итоговой текстуре он будет четко серым).
Чем больше итераций ты проведешь, тем больше возможных вариантов цвета будет, и тем более плавной будет выглядеть картинка.
Я про генерацию шума, а не про то, что он из себя представляет. В коде как его воплотить в смысле. У меня мозг начинает закипать каждый раз когда я смотрю на всяческие вариации реализации шума в C#.
Devion #65 - 7 years ago (изм. ) 2
Голосов: +2 / -0
А что сложного в шуме Перлина?
У тебя есть матрица 2 в степени N на 2 в степени N. Берешь текстуру такого разрешения и мутишь с нее белый шум (каждый пиксель случайным образом черный или белый). Дальше берешь вторую текстуру, и снова генеришь белый шум, но уже как бы разрешением вдвое ниже (разрешение то же, только вместо одного пикселя ты берешь квадрат 2 на два пикселя), дальше снова снижаешь разрешение и делаешь белый шум из квадратов 4 на 4, и так несколько раз. Потом берешь эти все текстуры, и на их основе делаешь остаточную - например, берешь определенный пиксель с каждой текстуры, и вычисляешь среднее из нее (например, если из 8 текстур у 4 этот пиксель был белым, то в итоговой текстуре он будет четко серым).
Чем больше итераций ты проведешь, тем больше возможных вариантов цвета будет, и тем более плавной будет выглядеть картинка.
Никогда не работал с шумами Перлина. Не думал что все так просто :О
Это ж и реализация то простая.
  1. вычисляешь разрешение
  2. while проверка разрешения
2.1. Юзаешь в цикле новый двумерный массив с длиной текущееРазрешение*текущееРазрешение, в который случайно забиваешь числа от 0 до 1
2.2. Делишь разрешение пополам
  1. Вычисляешь сумму для каждой ячейки массива с высоким разрешением, так же в while деля базовое разрешение на 2.
3.1. Делишь на количество массивов
  1. Возвращаешь результат
Как-то так. Может есть небольшие ошибочки, не проверял:
public static int[,] GetPerlinNoise(int степень)
{
    var матрицы = new int[степень][,];
    var текущееРазрешение = 1;
    for (int индексМатрицы = 0; индексМатрицы < степень; индексМатрицы++)
    {
        текущееРазрешение *= 2;
        матрицы[индексМатрицы] = new int[текущееРазрешение, текущееРазрешение];
        for (int x = 0; x < текущееРазрешение; x++)
            for (int y = 0; y < текущееРазрешение; y++)
                матрицы[индексМатрицы][x, y] = Random.Range(0, 1);
    }
    var результат = new int[текущееРазрешение, текущееРазрешение];
    for (int x = 0; x < текущееРазрешение; x++)
        for (int y = 0; y < текущееРазрешение; y++)
        {
            int суммаМатриц = 0;
            int делитель = 1;
            for (int индексМатрицы = степень - 1; индексМатрицы >= 0; индексМатрицы--)
            {
                суммаМатриц += матрицы[индексМатрицы][x/делитель, y/делитель];
                делитель *= 2;
            }
            результат[x, y] = суммаМатриц/степень;
        }
    return результат;
}
Doc #66 - 7 years ago (изм. ) 0
Голосов: +0 / -0
RSQR, ты мне расскажи, зачем тебе это нужно понимать изначально, если это статический алгоритм который уже продуман, обмусолен и работает? Берешь реализацию и используешь, что сложного?
Pray_AD #67 - 7 years ago (изм. ) 0
Голосов: +0 / -0
почему именно перлина, достаточно любой хаотической функции, да и понимать почему она работает совсем не обязательно.
double Noise2D(double x, double y, int seed) {
return ((0x6C078965*(seed ^ (((int) x*2971902361) ^ ((int) y*3572953751)))) & 0x7FFFFFFF)/(double)int.MaxValue;
}
Симплекс шум чуть сложнее, но сложность алгоритма не мешает его использовать, передали параметры -- получили шум, profit.
H #69 - 7 years ago 0
Голосов: +0 / -0
Fakov:
а куда ресурс делся?
Fakov #70 - 7 years ago 0
Голосов: +0 / -0
H, это бага: если я делаю правку в перепощеном на главную ресурсе - ресурс пропадает
Кет #71 - 7 years ago 1
Голосов: +1 / -0
Fakov, это не баг, это фича ©
Devion #73 - 7 years ago (изм. ) 0
Голосов: +0 / -0
Кстати вот здесь в итоге оказалось 2 одинаковых репоста. Уберите лишний. Тот который репост в гд. Пусть конструкт из гд выпиливается, раз оживает и собирает развиваться.