limm84

На Пикабу
6332 рейтинг 603 подписчика 4 подписки 31 пост 27 в горячем
Награды:
5 лет на Пикабу
648

Настольная паровая машина своими руками

Здравствуйте дамы и господа! Решил рассказать вам о том как осуществлялась моя детская мечта по постройке паровой машины.  Собственно вот она:

Настольная паровая машина своими руками Стимпанк, Паровая машина, Своими руками, Двигатель, Длиннопост

Точнее так она выглядит сейчас. Это паровая машина с одним цилиндром двойного действия, котлом, регулировкой оборотов и конденсацией отработанного пара. Но к такому виду она пришла не сразу, а пройдя через  несколько нежизнеспособных прототипов.
Пожалуй самым сложным этапом в постройке для меня оказалось сделать достаточно точную пару цилиндр - поршень. Добиться качества которое меня бы устроило я смог только когда в моей небольшой мастерской на балкончике появился небольшой токарный станочек. Скажу пару слов о нем: это очень маленький станок, мощностью 200 Вт и весом 9 кг, про такие в народе говорят что мол на них только карандаши точить )) однако как мне кажется они годятся не только для заточки карандашей:

Настольная паровая машина своими руками Стимпанк, Паровая машина, Своими руками, Двигатель, Длиннопост

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

Настольная паровая машина своими руками Стимпанк, Паровая машина, Своими руками, Двигатель, Длиннопост

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

Настольная паровая машина своими руками Стимпанк, Паровая машина, Своими руками, Двигатель, Длиннопост
Настольная паровая машина своими руками Стимпанк, Паровая машина, Своими руками, Двигатель, Длиннопост

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

Настольная паровая машина своими руками Стимпанк, Паровая машина, Своими руками, Двигатель, Длиннопост

Ну и под конец расскажу немного о кране подачи пара, кран в общем то простой, но задача была сделать его максимально маленьким, в первом варианте использовался заводской кран от компрессора. Он в принципе справлялся, но им было очень сложно что-то отрегулировать так как отверстие там больше чем нужно и поворот крана на пару миллиметров с малого газа давал сразу полный.  Второй его недостаток это размер. Так как в паровой машине работу совершает запасенное в паре тепло, то терять его на прогрев массивного крана по пути от котла к цилиндру не хотелось. По этим причинам был сделан вот такой апгрейт. Было:

Настольная паровая машина своими руками Стимпанк, Паровая машина, Своими руками, Двигатель, Длиннопост

Стало:

Настольная паровая машина своими руками Стимпанк, Паровая машина, Своими руками, Двигатель, Длиннопост

А манометр перекочевал на котел. Фух что-то уже очень длинно получается буду сворачиваться. Тем кто дочитал до конца большое спасибо за внимание и бонусом для вас в комментариях пару видосов с запусками этой шайтан машины;)

Показать полностью 8
109

Самодельная катапульта из обрезка доски

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

Самодельная катапульта из обрезка доски Катапульта, Своими руками, Diy projects, Ручная работа, Длиннопост
Самодельная катапульта из обрезка доски Катапульта, Своими руками, Diy projects, Ручная работа, Длиннопост

Вот еще парочка фоток в процессе:

Самодельная катапульта из обрезка доски Катапульта, Своими руками, Diy projects, Ручная работа, Длиннопост
Самодельная катапульта из обрезка доски Катапульта, Своими руками, Diy projects, Ручная работа, Длиннопост

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

Показать полностью 4
40

Миниатюрный топор размером со спичку! Своими руками.

Процесс изготовления миниатюрного топорика своими руками и самыми простыми инструментами за час с небольшим (в видео процесс ускорен в 3 раза), приятного просмотра!

17

Sandbox часть 4

Здравствуйте! Я тут на досуге перечитал предыдущие части своего, с позволения сказать, "дневника" разработки и понял, что он жутко зануден и с этим нужно что-то делать. С одной стороны хочется максимально подробно освятить процесс разработки, а с другой чтобы случайный читатель и подписчики не получили вывих челюсти от зевоты на первых же 10-ти строчках. Так уж случилось что когда раздавали навыки красноречия и знания по грамматике я по неизвестной причине отсутствовал, посему буду тужиться.

В этой части хотел бы рассказать о текстурировании своей "земли"

Sandbox часть 4 Моё, Sandbox, Gamedev

На изображении сверху описание материала который я использую для получения нужной мне текстуры в нужном мне месте. Вообще я в написании шейдеров не силен, от слова совсем и на такую идею наткнулся можно сказать случайно, после долгого блуждания по паутине интернета, где-то в англоязычном его секторе. Собрав наработки автора, немного допилив, с помощью посылов, угроз и умоляющих взглядов мне как то удалось заставить его работать. Суть работы Shader-а попытаюсь объяснить как понимаю сам. Текстура Control(RGBA) является управляющей и в зависимости от того, какого цвета ее пиксель (Красный, Зеленый, Синий, Прозрачный) устанавливает в это место текстуру  Layer 1,2,3,4 соответственно. На выходе получается следующая картина: если скажем "игрок" насыпал на камень песочек, я просто меняю цвет пикселя по нужным координатам в "контрольной текстуре" с зеленого на синий и перезаписываю ее в материал. Выглядит это в итоге вот так:

Sandbox часть 4 Моё, Sandbox, Gamedev

На сегодня думаю хватит, всем спасибо за внимание.

Показать полностью 2
27

Sandbox часть 3

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

Sandbox часть 3 Gamedev, Моё, Sandbox, Длиннопост

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

Для чего же это нужно? Это нужно в первую очередь для того чтобы mesh менялся более реалистично, ведь я уже говорил о том что игрок взаимодействует только с основной вершиной. Допустим высота основной вершины была увеличена на 1 . Ячейка берет высоты соседних основных вершин по очереди и устанавливает в промежуточных (мелкие синие точки на схеме) среднее арифметическое между собой и соседней основной вершиной. Ну а осыпание это уже мелочи по сравнению с тем что было выше. просто при повышении или понижении высоты проверяются перепады с соседними клетками, и если он после изменения станет больше чем нужно, то изменение не происходит, а вызывается (рекурсивно) тот же самый механизм но уже для той ячейки с которой не выполнилось условие и так далее пока оно не выполнится. Получилось жутко занудно, сам от себя не ожидал, но как без занудства объяснить это я не знаю, разве что за бутылочкой исчеркав пару блокнотов))

Sandbox часть 3 Gamedev, Моё, Sandbox, Длиннопост

Вот как то так это выглядит после изменения. На сегодня думаю хватит информации. До новых встреч!

Показать полностью 2
20

Sandbox часть 2

Здравствуйте! Не смотря на то что большого интереса к первому посту не было, все пару человек предложили мне более подробно остановиться на концепциях и механиках задуманной "песочницы" посему я решил продолжить. Рейтинга по прежнему не хватает для ка того чтобы публиковать картинки, поэтому будет только текст.

И так по порядку:  Ландшафт!. Я определил для себя 10 пунктов:

1 Программная генерация ландшафта, точнее его Mrsh(почему опишу ниже).

2 Разделение ландшафта на "Ячейки взаимодействия".

3 Объединение ячеек в группы(чанки) .

4 Терраформинг (понижение/ повышение) высоты в заданной точке.

5 выравнивание поверхности.

6 При возникновении значительных перепадов высоты осыпание сыпучих материалов.

7 Хранение изменений в ландшафте в постоянной памяти.

8 Туннели.

9 Вскапывание поверхности для посадки растений

10 трава.

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

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

Попытаюсь рассказать простыми словами  что такое Mesh для тех кто не в курсе. Mesh является основой(каркасом) практически любого элемента графики и представляет из себя набор вершин, треугольников, нормалей, текстурных координат (UV), и прочих страшных слов, он как бы является каркасом. Если представить себе квадрат с диагональю(тут бы не помешала картинка но увы) закрашенный скажем синим цветом, то у него есть четыре вершины, и они соединены в два треугольника это и есть каркас, а синяя заливка это текстура, и если я хочу скажем согнуть квадрат, то я могу его согнуть, но только по диагонали. хочется гнуть в ту сторону где нет диагонали? Да без проблем, добавляем  вершину в центре, пере соединяем уже 5 вершин в 4 треугольника и т. д. чем будет больше вершин и треугольников, тем больше свободы действий мы получим и тем сильнее будет загружен о наше устройство чтобы все это просчитать и отрисовать (так сказать хочешь пряник получи и кнут).Я остановился на системе где одна клетка состоит из 9-ти вершин и 8 треугольников соответственно, где игрок взаимодействует только с центральной вершиной, а остальные являются вспомогательными и рассчитываются в зависимости от окружающего ландшафта. Наверное на этом моменте с мешем я приторможу, так как далее объяснить без картинок будет крайне сложно.

Вторая проблема которая стала передо мной это текстурирование этого меша, ведь недостаточно сделать ландшафт один раз (в плане сдесья у нас будет песочек, а тута скала), ведь он будет постоянно меняться, и покопав немного песочек под ним может обнаружиться скала, или наоборот на скалу насыпать песочка, почему нет? Казалось бы все просто, у "Ты же поделил на ячейки" возьми десяток материалов и натягивай на клетку тот который должен быть в данный момент, но увы и ах. Давайте попробуем посчитать: кусочек ландшафта 1км*1км если ячейка 1*1м имеет не много не мало 1 000 000 таких ячеек а каждый материал вызывает 1 цикл отрисовки каждый кадр, проще говоря при таком подходе наша система только и будет делать что пыхтя и греясь отрисовывать все это богатство. А ведь еще ничего нет, и ничего не делается, а видео карта уже гудит и пофыркивает(я такого извращения не делал но вполне способен себе представить). Выходы из этой ситуации есть  и один из них объединить ячейки в группы (я после некоторых экспериментов остановился на группе в 48*48 ячеек ) таким образом 2304 ячейки имеют один материал(а внутри материала нужные текстуры располагаются по специальной карте, для этого был написан специальный Shaider но это отдельная тема) и мы имеем уже всего то порядка 430 циклов отрисовки на квадратный километр, не плохо по сравнению с 1 000 000 неправда ли? На этом наверно вторую часть буду заканчивать, глазом не успел моргнуть как получилось много текста, а затронул всего то пару пунктов. В заключении хочу сказать что пост не рекламы ради. Я ее пишу один, в свободное время и не имея  никакого опыта коммерческой разработки. Просто хочу выговориться что - ли и поделиться своими мыслями, возможно эта информация кому то поможет или просто будет интересна.

Спасибо!

Показать полностью
11

Песочница мечты

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

Предисловие получилось длинноватым, но перед тем как перейти к сути, я должен признаться вам что немного выпил иначе я бы не решился представить свои мысли на ваш суд. И так, я долго ждал и надеялся, даже где-то мечтал, но в определенный момент решил что хватит ждать идеальную песочницу и играть в игры где какой то "дядя" мне говорит, "Налево идти нельзя, потому что мы не придумали что ты будешь делать слева, иди направо". И я решил писать свою... Нет вы не подумайте, я не побежал на форумы писать "хочу написать ММО с чего начать?". Но на тот момент, на момент принятия решения у меня не было совершенно никакого опыта в геймдеве, да и вообще опыта разработки, да что там скромничать, весь мой опыт программирования ограничивался школьным и институтским курсом паскаля, и парой прочитанных книжек по программированию и алгоритмам в конце 90х - начале  2000-х. Да и вообще предыдущие 10 лет моей "хоббийной" жизни были посвящены механике и электронике (я делал 3Д принтера, станок с ЧПУ, разные там ламповые усилителе и металлоискатели)  поэтому я начал с изучения языков и инструментов разработки. за последние два года, закончив ряд курсов, перечитав тонны документаций и форумов (местами с перерывами) но я наконец получил какие-то результаты, внушающие надежды что время было потрачено не зря. Что я имею на сегодняшний день? Программно генерируемый 3д ландшафт, который игрок может изменять по системе на мой взгляд максимально приближенной к жизненным реалиям, то есть это не кубы как в майнкрафте, где если игрок решил выкопать ямку исчезает целый куб, нет, если он будет копать ямку то это будет именно ямка, если ее глубина превысит степень осыпаемости материла, то стены ямы начинают ссыпаться в нее, то же самое и вверх, не хочу в этой статье углубляться в технические подробности, иначе она станет скучной, занудной и вырастет в простыню с километр. Есть система взаимодействия с клетками, процедурный спавн деревьев, все это бодренько сохраняеться в базу данных, ну и еще кое что по мелочам.

Для тех кто дочитал до данного момента: для чего я все это писал, нет не для того чтобы сказать какой я молодец, не для того чтобы сказать что хороших игр нет, отнюдь, я хочу найти хотя бы парочку единомышленников, которых тоже обуревают схожие со мной мысли, и есть желание присоединиться ко мне в осуществлении этого проекта. Если вы вдруг подумали что блин да я хочу, но я же не программист, чем я могу помочь? Да всем! Главное чтобы было искреннее желание! А чем помочь всегда можно придумать, советом, картинкой, найти звук, ведь на это способен любой у кого есть желание! Ладно, получилось слегка сумбурно, буду заканчивать, на любые вопросы с удовольствием отвечу в комментариях. Я долгое время читал , но зарегистрировался только что, посему прошу строго не судить первый пост. Спасибо что выслушали Pikabu!

Показать полностью
Отличная работа, все прочитано!