Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Давно думал завести петпроджект. Здесь я обучаюсь разным приемам в программировании.
Так, начну с того, что я - js обезьян. Петпрожект мне необходим для обучения. У меня есть большие пробелы в теме тестирования, алгоритмов и всяких шаблонов проектирования. Короче, я нихуя не знаю.
Что по идее для игры - хуй знает. Думаю в процессе придумаю.
Интересно, можно ли описать игру без геймплея. Абстрактный мир, абстрактное перемещение по нему, а потом сверху попробовать несколько вариантов графического исполнния
Вчера ночью вспомнил, как в детстве хотел создать симулятор солнечной системы. Ну там солнце, планеты и все это с реальной физикой. С этого и начал: накидал проект на typescript в котором пока только один класс World и тест к нему. Далее нужно подумать. По идее должен быть какой-то основной цикл для обновления состояний и свойств объектов, которые находятся в нашем мире. Пока не знаю. Буду читать
>>529871 >Вряд ли будет правильным рассчитывать абсолютно все в этом цикле. Верно. Находясь на удалении от объектов, у тебя в основном цикле рассчитывается исключительно положение огоньков на сцене (небе). И только при приближении к объекту подгружается меш с например, Юпитером и запускается расчет положения огоньков-спутников. И так же при приближении к выбранному спутнику подгружается его меш. Это называется "уровень детализации" (LOD) - гуглить именно так.
Раз уж игра на тему космоса, то и сеттинг нужно подобрать. Думаю, это будет происходить во вселенной Кин-дза-дза: спустя 32 года после оригинального фильма, к вам, так же как и к герою фильма Георгия Данелия, подходит незнакомец. Ну и так же, после некоторых событий вы отказываетесь в галактике Кин-дза-дза.
Итого: 1. Для движения планет будут использоваться готовы библиотеки для решения задач с n тел (искал, их много). 2. Для генерации рельефа планет так же будут использоваться готовые алгоритмы. Благо там только пустыни у них 3. Будет космический корабль.
Про космический корабль: Идея из этого заброшенного долгостроя https://ru.m.wikipedia.org/wiki/0x10c Будет компьютер с ассемблером или лиспом на борту. Чтобы взлететь - надо будет запрограммировать его. Ассемблер и лисп, это тоже готовые решения - на гитхабе их полно.
Графики, конечно пока не будет, поэтому о решении ефе планеты можно даже не думать, но есть готовые алгоритмы для ее генерации, и это меня радует.
>>531016 Игра будет разделена на несколько частей: 1. Генерация "ландшафта" 2. Графическая часть которая уже отображает этот ландшафт
Генератор для начала подойдёт самый просто:
var width = 30; var height = 3; var k = width height; var coube = []
for (var x = 0; x < width; x++) { for (var y = 0; y < height; y++) { if (!coube[x]) { coube[x] = []; } coube[x][y] = (x+1)(y+1); } console.log(coube[x]) }
>>531042 Вчера был немного пьян ночью. Продолжу: в предыдущем посте был приведен простой алгоритм построения, как бы выразиться, наклонной оверхности состоящей из кубов. Если кто не понял, результатом работы алгоритма является двумерный массив типа (для куба 5х5) [ 1, 2, 3, 4, 5 ] [ 2, 4, 6, 8, 10 ] [ 3, 6, 9, 12, 15 ] [ 4, 8, 12, 16, 20 ] [ 5, 10, 15, 20, 25 ]
>>531090 О рендере всего этого добра. Правильнее всего, как мне кажется, будет генерация всего этого одним мешем (не бейте сильно, если я ошибаюсь в определениях)
Насколько я понимаю, мне нужно всего лишь сгенерировать вершины и ребра, а дальше дело техники.