GooDCrafter

+863
с 2019
10 подписчиков
3 подписки

В основном их две:

• Иногда возникают проблемы с проектированием фич

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

И тут два решения: либо придумать новый механизм, либо сохранять все изменения проводов в UndoRedo, что на деле является плохим решением

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

Сперва может показаться, что это накладно, но в реальности получаем максимально чистую логику проверки (так как бинарный формат хранит в себе все, и состояние, и элементы).
Работает это достаточно быстро: самая большая схема сейчас имеет вес в 34кб (34 816 байт), и на полную её проверку(когда нет изменений и все байты друг другу равны) уходит меньше 1 секунды. А если различия есть, то сработает еще быстрее, так как есть ранний выход из функции сравнения, если байты не совпали.

• Архитектура. В проекте сейчас около 500 классов. Приходится хорошо продумывать архитектуру, чтобы это было можно поддерживать, и иногда бывает сложно придумать как сделать красиво и быстро

Стек такой: Java 8, OpenGL 3.3, LWJGL (для создания окна и доступа к контексту опенгла)

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

Выпустил новое обновление и написал огромный пост на эту тему:
https://dtf.ru/indie/948700-logical-path-obnovlenie-7-0-0

18

Если его туда кто-то портирует, то да

Вы, и счётчик, и генератор синхроимпульсов, можете построить чисто из вентилей
(смотрите картинки)
Это тактовый генератор на 13 тиков, и счётчик на 4 бита

Эти компоненты я взял из своего первого процессора, схему которого вы можете найти в Редакторе > Боковая панель > Кнопка "Примеры" > "Path-1 [First 8-bit processor]"

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

3

Статистика на itchio за все время:

5

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

9

Создаю обучающий симулятор по сборке своего процессора, где мы в игровой форме изучим и соберем настоящий процессор
Если вы любите редстоун, комбинаторы из факторио или вам интересно как работает/создать свой процессор, присоединяйтесь!
Подробнее про проект: https://dtf.ru/indie/747390-logical-path-redstoun-na-maksimalkah-gotovyy-bild-nuzhna-pomoshch

Новое обновление 7.0.0 почти готово, сейчас идет закрытый тест, если все пройдет хорошо, то на след неделе уже релиз
Обновление будет посвящено улучшению редактора
Сравнение двух версий:

39

Ну и в темной теме, конечно же

11

Создаю обучающий симулятор по сборке своего процессора, где мы в игровой форме изучим и соберем настоящий процессор
Если вы любите редстоун, комбинаторы из факторио или вам интересно как работает/создать свой процессор, присоединяйтесь!
Подробнее про проект: https://dtf.ru/indie/747390-logical-path-redstoun-na-maksimalkah-gotovyy-bild-nuzhna-pomoshch

Обновляю редактор для следующего обновления 7.0.0
Сравнение с старой версией:

31

Отвечу на все скриншоты тут:
Где "Can't create OpenGL 3.3 context", тут проект запустился на интегрированной видеокарте и не смог создать контекст опенгл 3.3, так как интегрированные видеокарты его не поддерживают

Создавайте опен гл контекст 3.1 лучше.

У меня весь пайплайн рендера построен на версии 3.3, так как она максимально приближена к функционалу опенгла 4.0 на базе старых видеокарт и откатиться просто на 3.1 я не смогу. Придется писать отдельную рендер систему, и тогда уж лучше взять опенгл 2.1, чтобы точно покрыть почти все видеокарты, в том числе и интегрированные, хоть и с потерей некоторых фишек из 3.0+
Записал идею с альтернативной системой ренедра в ToDo, но как скоро к ней приступлю и приступлю ли вообще сложно сказать, это очень большой объем работы

При запуске с использованием видеокарты nvidia gt540m

А вот это очень странно. Контекст создался, но рендера нет. Окно при этом не зависло? Оно реагирует на закрытие и перемещение?

Скриншот с консольюА можете запустить проект также через консоль но на nvidia gt540m?

Можете сделать скриншот?
Если есть возможность запустите проект через командую строку, есть ли там сообщениях об ошибках?

Проекту нужна поддержка OpenGL 3.3
Загуглил вашу видеокарту и там есть поддержка OpenGL 4.0+

Программа точно пытается запуститься через видеокарту от нвидии, а не через интегрированную в процессор?
Какую ошибку выдает при запуске?

Движок свой, для рендера использую OpenGL
Все системы реализованы полностью с нуля
Стек такой: Язык Java, Фреймворк LWJGL (для создания окна с контекстом OpenGL)

3

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

7

Создаю обучающий симулятор по сборке своего процессора, где мы в игровой форме изучим и соберем настоящий процессор
Если вы любите редстоун, комбинаторы из факторио или вам интересно как работает/создать свой процессор, присоединяйтесь!
Подробнее про проект: https://dtf.ru/indie/747390-logical-path-redstoun-na-maksimalkah-gotovyy-bild-nuzhna-pomoshch

Улучшил дизайн обучающего режима:

26

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

1

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

1

Развитие проекта идет через патреон
Мне нравится работать над этим проектом и самособой поделится им с миром, но хотелось бы чтобы он еще и окупал свое создание хотя бы в ноль

Я и позиционирую проект как обучающий симулятор. На itchio у меня стоят такие жанры: Simulation, Educational, Puzzle

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

1

Всмысле продавать? Проект полностью бесплатный...

Вы сами то верите в продвижение через учебные заведения?

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

• Никто так и не дал хорошего совета как именно продвигать такой проект, все советы слишком поверхностные и очевидно они не работают

1

Я согласен что он достаточно нишевый, но не на 800 же скачивании за 2 года. Аудитория явно должна быть больше, я просто не понимаю как её найти

1

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

Я не пытаюсь копировать игры Зактроников, вот тут можно лучше понять цель моего проекта: https://dtf.ru/indie/747390-logical-path-redstoun-na-maksimalkah-gotovyy-bild-nuzhna-pomoshch