Немного аутизма
112 subscribers
62 photos
32 videos
2 files
72 links
Творческая студия, с разговорами о разработке игр и языков программированя, а также о всяком около Computer Science

https://github.com/madwareru

https://twitter.com/madware_ru

https://mastodon.gamedev.place/@madware

https://gamedev.ru/users/?id=41788
Download Telegram
Добавил рандом, теперь можно делать NPC-лотерейщиков, которые могут вытянуть из игрока все его очки опыта в обмен на пригоршню медяков
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Теперь можно отлаживать диалоги в своеобразном плеймоде. Так же я запилил вычисляемые переменные, теперь это почти excel
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Ещё немного поработал над внешним видом нод. Теперь выходные порты рисуются не после входных, а по возможности в параллель. Таким образом удаётся немного сэкономить вертикальное пространство
🔥3
Заметка насчёт формирования стоимости игр.

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

Возьмём за пример игру Stardew Valley. Это очень известный кейс игры, описанный в книге Кровь, пот и пиксели. Из этой книги мы знаем, что автор этой игры на протяжении пяти лет испытывал тяготы и лишения, безвылазно сидел в подвале и делал игру своей мечты. Ключевой момент тут в том, что он приложил очень много усилий. Пять лет кропотливого труда дали ему в результате качественный продукт, который судя по статистике стима имел минимальную стоимость в 150 рублей, максимальную в 300, а в среднем колеблется где-то у отметки в 200 рублей. Покупая этот продукт, я понимаю, что каждая копейка закреплена честным трудом.

Теперь представим, что некий товарищ делает игру такого же уровня исполнения с использованием ИИ средств за кардинально более короткие сроки, скажем, за полгода. Возможно, он даже точно так же сидел безвылазно в подвале, скармливая бесчисленные промты чатжипити, миджорней, и прочим сатанинским новоявлениям. Но он по итогу управился в десять раз быстрее. И пролил крови и пота в десять раз меньше. Соответственно, на мой взгляд, такая игра и стоить должна в десять раз меньше, где-то 25 рублей.
Развивая тему заметки из предыдущего поста, можно так же представить ситуацию, когда в одно лицо инди разработчик за пять лет с современными средствами умудрится сделать продукт если не AAA уровня, то возможно AA уж точно. При этом получается, что такая игра будет стоить 200 рублей. В выигрыше и игроки и инди-разработчики (игроки получают рост качества игр за демократичный ценник, а инди-разработчики могут позволить себе то, о чём раньше могли только мечтать).

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

По этой причине система будет ещё долго противиться новоявлениям, в стиме будут блокировать игры с ИИ-контентом, и прочее подобное. Лет на двадцать этот процесс затянется, но скорее всего в конце пути мы увидим что-то такое, чего сейчас даже сложно представить
Попробуем представить, сколько мы сэкономим уникальных тайлов, если разделим тайлы, основанные на marching squares (они же wang corner тайлы), на тайлы, основанные на парах из треугольников.

В случае, если в углах может быть всего два разных типа террейна, выигрыша нет, мы получаем 2^3*2(16) и 2^4(16) тайлов соответственно.

Но если мы начнём увеличивать наше число типов террейна в углах, преимущество подхода с разделением начнёт расти на глазах.

54 против 81 для трёх типов
128 против 256 для четырёх и так далее

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

Клепать такое количество тайлов будет всё ещё утомительно, но всегда можно придумать, как упростить себе жизнь. Так, например, можно принять за правило, что на карте может быть одновременно только 4 типа террейна, назвать это типом биома, и тогда для каждого такого биома придётся рисовать всего 128 тайлов в случае если трюк с симметрией невозможен, и всего ~32 тайла если симметрия возможна. В ближайшее время попробую соорудить что-то вроде демо того где это можно применить, думаю это будет интересно и познавательно
🔥1
Обещанная демонстрация на примере тайлов с двумя типами террейна в углах. Здесь 16 "треугольных" тайлов нарисованы через симметричные пары, после чего продемонстрирован результат превращения этих тайлов в стандартные квадратные. Как можно заметить, по сути мы можем рисовать тайлы нашей новой раскладки так, как будто это просто 8 особых квадратных тайлов, далее, специальным шагом при загрузке текстуры террейна мы можем нагенерировать более каноничную раскладку.
https://youtu.be/MmC9Qy99Vns Очень интересный доклад. Если отбросить неприязнь к "русскоязычным языкам программирования", озвучены весьма интересные идеи. Идея минималистичного языка программирования, реализация которого занимает до 10К строк, мне очень импонирует, как минимум в качестве дидактического материала
В продолжение предыдущего поста, для тех кому понравится материал
Forwarded from Nikolay V. Shilov
Наш семинар (потихоньку) возвращается с летних каникул. В четверг 10 августа выступит Алексей Недоря.

Тема: 5-й элемент. Опыт разработки и реализации языка Тривиль.

Аннотация: Расшифровка названия, краткая история разработки. Сравнение Тривиль компиляторов - на Го и на Тривиле. Интересные особенности языка на примерах работающего кода: что хорошо и что плохо. Выступление является продолжением выступления Интенсивное программирование: язык Тривиль (14 апреля 2023 г.)

Заседание пройдет онлайн в Skype (можно смотреть в браузере)​​ с 10:00 до 11:30 московского времени (14:00-15:30 в Барнауле и Новосибирске).
Долгое время не могу заставить себя делать петы. Решил попробовать делать их через двухнедельные джемы. Первый джем стартую с завтрашнего дня
https://itch.io/jam/a-jam-for-myself-1
🔥3
Когда слышу от кого-нибудь фразы по типу "чем учиться на своих ошибках, учитесь на чужих", у меня невольно возникает подозрение, что эти люди ничем в своей жизни серьёзно не занимались, не погружались ни в одну область. Объясню почему я так думаю.

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

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

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

Ну и когда в следующий раз увидите как ваш гипотетический однокурсник Ерохин наступил на граблю, задумайтесь, не было ли это мгновение точкой невозврата, на которой Ерохин оставил вас далеко позади
👍4🔥1
Поучаствовал 10 августа в семинаре по языку Тривиль, помучал автора вопросами, мне было интересно, возможно, вам будет тоже.
Решил покопаться в языке поглубже. На мой взгляд, явно есть пути как сделать этот язык ещё "тривильнее". Всё ещё считаю, что хорошо иметь пример работающего компилятора в 10К строк. Думаю позаниматься разбором кода компилятора в серии заметок. Если вам интересно, ставьте лайки. Если нет, ну что же, вам придётся терпеть, ибо заметки всё равно появятся 🙂

https://youtu.be/gFQ0tiUA9Ns
👍7
По инициативе с джемами имени себя для написания петов https://itch.io/jam/a-jam-for-myself-1
Ничего не сделано в срок, но пет начат. Надеюсь, что он доведётся до какой-то логически завершённой точки.
В данный момент я занят разбирательством с языком программирования тривиль и разработкой своего простенького динамически типизированного языка, который будет привязываться к моей библиотеке для написания ретроигр. В идеале ожидается штука уровня "как Blitz Basic, но без AOT-компиляции". Помимо всего прочего я подписался рассказать об этом проекте в конце сентября на питерском митапе. Так что придётся пилить 🙂
👍2
Обратите внимание на интересный проект игры-сказки. Поиграли с женой в демку, остались очень довольны. В особенности радует звуковое сопровождение и необычный подход к славянскому бестиарию. Поддержали проект рублём. К сожалению, осталось всего 6 дней на сборы, хотелось бы, чтобы ребята успели собрать оставшиеся средства
https://boomstarter.ru/projects/BabaYaga_Games/videoigra_vasilisa_i_baba_yaga/
👍2
Пока у пользователей юнити разгорается драма вокруг новой политики платежей, у пользователей раста, привыкших к продукции JetBrains, судя по всему, назревает своя собственная. Новый плагин поддерживается только в платных версиях продукции JB, таких как IntelliJ IDEA Ultimate и CLion, а старый плагин объявили deprecated
😱4
Для углубления понимания интерпретаторов решил начать читать книгу Friedman, D., Wand, M. Essentials of Programming Languages

Описание книги можно почитать тут https://github.com/true-grue/Compiler-Development/blob/master/docs/plt.md

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

Первый пост-отзыв по книге напишу 4 ноября в 19:00 по московскому времени. Начинаю с прочтения первых двух глав (Inductive Sets Of Data, Data Abstraction)
👍5🔥5