Logical Path, редстоун на максималках [Готовый билд, Нужна помощь]

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

Если вы любите редстоун из майнкрафта, комбинаторы из факторио или просто хотите знать как создать свой процессор, добро пожаловать под кат

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

О чём проект

У любого программиста рано или поздно рождается идея создать свой язык программирования, и этот процесс очень увлекательный и интересный но… что если пойти еще дальше и начать создавать свои процессоры, а затем создавать для них программы, ассемблеры, свои языки программирования и в конце концов операционные системы? Вот об этом Logical Path

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

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

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

И да почти все статьи в игре интерактивные, и в этом один из сильных плюсов Logical Path

Вы в реальном времени можете посмотреть как меняется схема, поменяв входные данные для схемы:

Или посмотреть как например переводить число из десятичной системы в двоичную:

Такой способ позволяет лучше усваивать материал

Так как в моем идеальном представлении игра охватывает все ступени логики: от проектирования процессора до создания операционной системы, можно выделить следующие слои абстракции, которые мы изучим:
Логика и логические вентили
Проектирование процессора
Работа с устройствами на низком уровне (клавиатура, мышь, дисплей и тд)
Ассемблер
Компилятор
Операционная система
Командная оболочка

И каждый этап мы подробно разберём и изучим

Также важно отметить что симулятор внутри построен по принципу идеальных проводов в вакууме, без сопротивления и учёта электричества. Это сделано чтобы максимально отойти от конкретной реализации логики, в данном случае электрической
Проще говоря Logical Path исключительно про логику
Сейчас многие электронщики возмутятся: «ДА КАК ЖЕ ТАК! ЭТО ЖЕ ОЧЕНЬ ВАЖНО!». Сейчас объясню почему я выбрал такое решение

Каждая система, где можно реализовать логику, имеет свои особенности и ограничения:

Физически-Электрическая:

  • Для работы схемы требуется питание, если его будет не хватать схема не будет работать, и это нужно учитывать при проектировании схемы, особенно такую большую как процессор
  • Возможность перенаправлять сигнал, путём открытия/закрытия каналов c меньшим сопротивлением

Редстоун в Майнкрафте:

  • Сигнал угасает каждый блок, максимальная дальность 16
  • Есть поршни которые позволяет построить очень компактные ячейки памяти
  • Также есть командные блоки которые позволяют программировать, но для «честности» мы их игнорируем

Комбинаторы в Факторио:

  • Комбинаторы способы передавать не только 0 или 1, а очень большой спектр сигналов

Провода в Террарии:

  • Провода работают не постоянно, а как импульсы

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

Таким образом изучив Logical Path, вы будете способны собрать свой процессор где угодно, будь то редстоун или же электричество

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

Дизайн

Я большой поклонник современного минимализма, поэтому это сильно отразилось на дизайне этого проекта
Есть поддержка двух цветовых схем: светлой и темной

Что уже готово

Проект я начал в 2019 году, в 2020 взял паузу около года, и вот снова вернулся в разработку
За это время готово:

  • Основные гуи компоненты
  • Основное логическое ядро, симулятор полностью готов, осталось только создавать контент
  • Базовые логические компоненты
  • Система рендера Markdown статей, я немного его модифицировал, чтобы была возможность вставлять схемы и различные виджеты в статьи
  • Написаны две главы: Основа и Арифметика, включающие в себя 24 статьи и 12 уровней
  • Система профилей и сохранения прогресса
  • Свой сжатый бинарный формат схем
  • Редактор

Хочу остановиться подробнее на редакторе:
Так как логическое ядро готово, то обладая всеми нужными знаниями можно собрать самый настоящий процессор уже сейчас

В качестве примера представляю вам Path-1: простой 8 битный процессор способный выполнять всего 4 операции. В текущих планах взять именно его за основу как первый процессор, который мы сконструируем

Вы можете более подробно его изучить в примерах схем в редакторе

Особенности редактора:

  • Поле бесконечное во всех направлениях
  • Есть поддержка отменить/повторить
  • Возможность сохранять/загружать схемы из сжатого текстового формата (аналог блюпринтов из факторио)
  • Возможность вырезать/копировать/вставлять участки схем

Над чем работаю сейчас

Сейчас работаю над улучшением редактора:

  • Вращение вырезанной схемы
  • Возможность перемещать элементы схемы
  • Возможность вставлять текст на поле
  • Сохранение/загрузка схем как файл
  • Возможность открывать несколько схем в одном редакторе

Текущий роадмап:

7.0.0 Апдейт посвещеный улучшению редактора
8.0.0 Режим игровых уровни для ютуберов/стримеров
9.0.0 Возвращаюсь к написанию статьей

Немного подробнее про Режим игровых уровней:

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

Плюс это позволит применить полученный опыт из статей на практике

Начиная от простых уровней, заканчивая проектированием процессоров по спецификации, ух думаю это задачка не на один вечер

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

Ваша поддержка

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

Данный проект бесплатен, а его разработка идет через патреон
За приблизительно 2 года существования проекта статистика такая:

  • 1633 просмотра
  • 624 скачивания
  • 3 патрона (суммарно за все время)

Это достаточно хорошая конверсия, особенно просмотры к скачиваниям, но проблема в том что первичных просмотров очень мало

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

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

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

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

В любом случае делитесь ваши мыслями и в целом что вы думаете о проекте

Также обязательно поиграйте в последний билд (ссылка будет ниже) и напишите отзыв: что понравилось, что нет

Буду признателен за любую поддержку!

Ссылки

Скачать последний билд можно тут: https://goodcrafter.itch.io/logicalpath
Discord: https://discord.gg/h7rMacq
VK: https://vk.com/gcgame
Patreon: https://www.patreon.com/logical_path

Это не первый мой проект, и буду очень рад если вы ознакомитесь и с другими моими играми:

Особая благодарность 3 патронам

SH42913
StormWhisper
echof

77 показов
3.3K3.3K открытий
22 репоста
38 комментариев

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

Ответить

Спасибо!
Еще бы знать как это сообщество найти, если у кого-то есть такие каналы связи, буду очень рад если вы предоставите их мне

Ответить

Здорово, что учебная и практическая часть объединены. Но мне кажется, тот же опыт можно получить используя эту книгу и какой-нибудь logisim.
  

Ответить

Конечно можно, путей изучения очень много
Я скорее стремлюсь создать максимально комфортную среду где сразу всё под рукой
Ну и конечно проектирование процессоров и создание ОС разделяют, а я наоброт хочу объединить, чтобы была полная логическая структура
Сюда же можно добавить и создание ассемблера

В итоге получаем проект где мы охватываем огромные пространства логики

Ответить

Есть даже идеи про процедурную генерацию задач, чтобы у каждого игрока был уникальной набор уровней, тогда нельзя будет просто подсмотреть готовое решение, придется думать самому :DКатегорически не согласен с таким подходом. Лучше посмотри на игры Zachtronics и реализуй гистограммы как у них для заранее созданных пазлов. Заодно получишь возможность маркетинга для аудитории любителей их пазлов.

Ответить

Да игры Zachtronics знаю
Хм... интересная идея, добавил в ToDo на рассмотрение

Ответить

Задротство это хорошо. Люблю такие игры, но играю редко. Нужно много думать. А здесь похоже нужно много думать и задротить, в хорошем смысле.
Тема игры сложная или специфическая, что явно скажется на продажах.
Когда Стим формирует ежедневный список рекомендуемых игр или я просто иду по длинному списку новых игр, то на просмотр реагирую по разному. В любом случае привлекает картинка. Мое субъективное мнение, что раз игра специфическая, то я бы обратил внимание на стиль 70-80х. Чтобы погрузится в эпоху пионеров. Сейчас по вашим скриншотам, мне больше напоминает черчение. Могу ошибаться и повторюсь, это мнение первых секунд. Но я не почувствовал по интерфейсу бородатую эпоху. Больше похоже на редактор. Возможно это и хорошо, если вы экспериментировали с внешним видом и подбирали то, что не будет отвлекать от самого процесса

Ответить