Поделюсь одной закладкой из закромов, на этот раз gamedev'овой: http://www.redblobgames.com/
На сайте по ссылке размещены очень интересные статьи по гексагональным сеткам (это лично меня очень порадовало в свое время), по алгоритмам вычисления областей видимости (да, и про ray caster там тоже рассказывается) и проч. При этом многие примеры в статьях интерактивные! Вы только сходите и пощупайте превый же пример в статье про видимость: http://www.redblobgames.com/articles/visibility/ - отлично сделано!
Автор сайта, кстати, курирует ресурс http://www-cs-students.stanford.edu/~amitp/gameprog.html - "Amit’s Game Programming Information", большой перечень статей по тематике game development. Причем охвачены не только привычные AI и поиск пути - перечень охватывает и гейм-дизайн в целом и экономические аспекты игростроя.
На сайте по ссылке размещены очень интересные статьи по гексагональным сеткам (это лично меня очень порадовало в свое время), по алгоритмам вычисления областей видимости (да, и про ray caster там тоже рассказывается) и проч. При этом многие примеры в статьях интерактивные! Вы только сходите и пощупайте превый же пример в статье про видимость: http://www.redblobgames.com/articles/visibility/ - отлично сделано!
Автор сайта, кстати, курирует ресурс http://www-cs-students.stanford.edu/~amitp/gameprog.html - "Amit’s Game Programming Information", большой перечень статей по тематике game development. Причем охвачены не только привычные AI и поиск пути - перечень охватывает и гейм-дизайн в целом и экономические аспекты игростроя.
Наткнулся на очень интересный сабреддит: https://www.reddit.com/r/explorables/
Сюда пишут о всевозможных интерактивных и не очень визуализациях чего-бы то ни было, например алгоритмов - да, упомянутая мной вчера ссылка на сайтик по gamedev алгоритмике тоже нашлась в этом сабреддите, причем на первой странице (при том что я ссылочку зебе заложил года два назад и вспомнил про неё только вчера 👌)
P.S. Возможно я ещё порекламирую парочку сабреддитов.
Сюда пишут о всевозможных интерактивных и не очень визуализациях чего-бы то ни было, например алгоритмов - да, упомянутая мной вчера ссылка на сайтик по gamedev алгоритмике тоже нашлась в этом сабреддите, причем на первой странице (при том что я ссылочку зебе заложил года два назад и вспомнил про неё только вчера 👌)
P.S. Возможно я ещё порекламирую парочку сабреддитов.
Reddit вообще является отличным источником новостей и контента по многим тематикам, в т.ч. и довольно узким (я, скажем, почитываю /r/hammocks 😉).Reddit
r/explorables
A subreddit around interactive explanations, thinking tools, concept visualizations, and other media for communicating and generating ideas.
Позволю себе немного рекламы :)
Reddit и всё остальное, умеющее RSS, я читаю через
И, конечно же, я не могу не упомянуть, что BazQux написан на
Reddit и всё остальное, умеющее RSS, я читаю через
BazQux (http://bazqux.com/). Сервис этот немножко платный (подписка), но зато это лучшая "замена Google Reader" (если вы понимаете, о чем я). BazQux умеет показывать не только полные статьи, но и комментарии к ним, вытягивая оные с различных платформ (комментарии, например, отлично утягиваются с LiveJournal). Ещё он умеет отправлять статьи в Pocket и прочие InstaPaper, откладывать "на потом", включать/исключать элементы лент по ключевым словам и проч. Даже twitter работает (вроде бы - сам ещё не проверял, хоть баскуксом пользуюсь третий год). И Habr тоже можно читать, для этого нужно получить из настроек профиля ссылку на персональную RSS-ленту и добавить её в BazQux (в любой другой RSS-reader тоже можно, но тут решают фильтры и подтягивание комментов!). И стоит сказать, что при всех своих достоинствах и "фичастости" интерфейс у "приложения" сугубо минималистичен и исключительно функционален - взять хотя бы полное управление с клавиатуры.И, конечно же, я не могу не упомянуть, что BazQux написан на
Haskell + Ur/Web (это такой язык/фреймворк для разработки под браузер).BazQux Reader
Your friend for reading feeds.
Отличная статья про реализацию динамического освещения на
Это отличный пример того, что ограничения платформы могут служить отличным стимулом для их преодоления и получения удовольстивия от процесса.
Когда-нибудь и я поборю свою лень и сделаю на PICO что-нибудь прекрасное! :)
PICO-8: https://medium.com/@krajzeg/pico-8-lighting-part-1-thin-dark-line-8ea15d21fed7 От текста прямо таки веет "олдскулом" - тут и имитация постепенного затухания цвета жонглированием всего 16 цветами и работа с паиятью через poke(о да!).Это отличный пример того, что ограничения платформы могут служить отличным стимулом для их преодоления и получения удовольстивия от процесса.
Когда-нибудь и я поборю свою лень и сделаю на PICO что-нибудь прекрасное! :)
Hacker Noon
Lighting by hand #1: the thin dark line
How I rolled up my sleeves and got a real-time lighting engine working under the constraints of PICO-8.
Просто оставлю здесь:
https://github.com/goq/telegram-list
Это пополняемый список каналов и групп различной тематики в Telegram. Присутствует приличное кол-во около-ИТ-шных источников.
И обязательно загляните на https://github.com/open-source-society/computer-science - курируемый каталог
https://github.com/goq/telegram-list
Это пополняемый список каналов и групп различной тематики в Telegram. Присутствует приличное кол-во около-ИТ-шных источников.
И обязательно загляните на https://github.com/open-source-society/computer-science - курируемый каталог
бесплатных MOOC-курсов для саморазвития в области Computer Science! Это просто бесценный ресурс для тех кто хочет и любит учиться самостоятельно.GitHub
GitHub - goq/telegram-list: List of telegram groups, channels & bots // Список интересных групп, каналов и ботов телеграма // Список…
List of telegram groups, channels & bots // Список интересных групп, каналов и ботов телеграма // Список чатов для программистов - goq/telegram-list
Спешу сообщить, что 20.02 на
Это очень хороший обзорный курс по нескольким программным парадигмам, преподаваемый с использованием типичных представителей этих парадигм -
По ссылке выше находится первая часть курса, которая затрагивает
- https://www.coursera.org/learn/programming-languages-part-b вторая часть курса, рассказывающая о
- https://www.coursera.org/learn/programming-languages-part-c третья часть, в которой демонстрируются интересные возможности, открывающиеся благодаря некоторым особенностям языка
Все три части стартуют одновременно и потенциально можно успеть пройти все три - курсы далеко не самые сложные и интенсивные. Раньше это вообще был один курс из трех разделов, и ничего - проходили (я, например) :)
coursera.org стартует очередная сессия курса "Programing Languages" от Дэна Гроссмана! Ссылка на курс: https://www.coursera.org/learn/programming-languagesЭто очень хороший обзорный курс по нескольким программным парадигмам, преподаваемый с использованием типичных представителей этих парадигм -
Standard ML (статически типизированное ФП), Racket (динамически типизированное ФП) и Ruby (динамически типизированное ООП). (Предполагается, что слушатели уже знакомы со статически типизированным ООП в лице Java/C#)По ссылке выше находится первая часть курса, которая затрагивает
SML, функции высших порядков, вывод типов и др. Две другие части находятся по этим ссылкам:- https://www.coursera.org/learn/programming-languages-part-b вторая часть курса, рассказывающая о
Racket, в ходе прохождения которой слушатели напишут свой интерпретатор простого ЯП с замыканиями.- https://www.coursera.org/learn/programming-languages-part-c третья часть, в которой демонстрируются интересные возможности, открывающиеся благодаря некоторым особенностям языка
Ruby, такие как динамическая диспетчеризация.Все три части стартуют одновременно и потенциально можно успеть пройти все три - курсы далеко не самые сложные и интенсивные. Раньше это вообще был один курс из трех разделов, и ничего - проходили (я, например) :)
Humblespark (https://www.humblespark.com) запилили
Теперь можно делиться живыми примерами Elm-приложений (пример: https://embed.ellie-app.com/msxkCRtWNn/0). При этом в примерах можно использовать любые пакеты из http://package.elm-lang.org/!
Для JS/HTML/CSS таких песочниц предостаточно, а для эльмоводов полноценного аналога раньше не было. Что же, будем пользоваться :)
Ellie - Elm Live Editor. Вот ссылка на анонс: https://www.humblespark.com/ellie-announcement/ Теперь можно делиться живыми примерами Elm-приложений (пример: https://embed.ellie-app.com/msxkCRtWNn/0). При этом в примерах можно использовать любые пакеты из http://package.elm-lang.org/!
Для JS/HTML/CSS таких песочниц предостаточно, а для эльмоводов полноценного аналога раньше не было. Что же, будем пользоваться :)
HumbleSpark
Meet Ellie
Ellie puts the Elm platform in your browser so you can try Elm, share ideas, and bring your programs to life.
А этот
Пользуясь случаем, наваял такую демку: https://embed.ellie-app.com/n5M8wcPtxs/0 - это моя попытка сделать комбинаторную библиотеку для рисования векторной графики (наподобие той, что есть в
Ellie вполне неплох - даже довольно таки объемные "демки" переваривает. Правда, редактор на больших исходниках уже заметно подтормаживает :(Пользуясь случаем, наваял такую демку: https://embed.ellie-app.com/n5M8wcPtxs/0 - это моя попытка сделать комбинаторную библиотеку для рисования векторной графики (наподобие той, что есть в
Racket).Давно хочу сделать себе хотя бы простенькую копию этого костюма: https://www.youtube.com/watch?v=8HZFY4Xti7k
Глаза из LED-матричек, это совсем просто, такое я сумею :) А вот вокодер для голоса я всё никак не накостыляю.
Но теперь я уже на шаг ближе к цели: наткнулся на довольно простую реализацию pitch shifter на ATTiny85: http://www.technoblogy.com/show?1L02 Надо будет собрать аналог (85'ых у меня нет, но есть горстка ATMega48) и посмотреть его в деле!
Глаза из LED-матричек, это совсем просто, такое я сумею :) А вот вокодер для голоса я всё никак не накостыляю.
Но теперь я уже на шаг ближе к цели: наткнулся на довольно простую реализацию pitch shifter на ATTiny85: http://www.technoblogy.com/show?1L02 Надо будет собрать аналог (85'ых у меня нет, но есть горстка ATMega48) и посмотреть его в деле!
YouTube
Electronic Demon Costume - How To! #Adafruit
Electronic Demon Costume by Phil Burgess - mashup of animating multiple LED backpacks: http://learn.adafruit.com/animating-multiple-led-backpacksand the Wave...
Внезапно открыл для себя
Страничка проекта: https://freedoom.github.io/index.html
Да, многие знают, что исходный код doom engine давно находится в свободном доступе. Но, как обычно, свобода не коснулась ресурсов игры - текстур, спрайтов, карт, звуков и музыки. Поэтому source ports для оригинального DooM сууществуют с момента открытия исходников, но требуют
FreeDoom же свободен во всех смыслах. И поэтому его можно поставить, скажем, на
И да, FreeDoom поддерживает и многопользовательскую игру (deathmatch) :)
#game #linux
FreeDoom - проект по воссозданию DooM максимально близко к первоисточнику с использованием исключительно свободного контента!Страничка проекта: https://freedoom.github.io/index.html
Да, многие знают, что исходный код doom engine давно находится в свободном доступе. Но, как обычно, свобода не коснулась ресурсов игры - текстур, спрайтов, карт, звуков и музыки. Поэтому source ports для оригинального DooM сууществуют с момента открытия исходников, но требуют
(I)WAD-файлов (это такой формат хранения игровых ресурсов, используемый многими движками от Id) от оригинальной игры. Это не слишком большая проблема, т.к. прикупить DooM можно на том же GOG (https://gog.com), но, скажем, в репозиторий пакетов для Ubuntu их не положишь - лиценизия не позволит :(FreeDoom же свободен во всех смыслах. И поэтому его можно поставить, скажем, на
Ubuntu привычным способом: sudo apt-get install freedoom. С прочими линуксами та же история. На Windows / MacOS FreeDoom ставится скачиванием IWAD-архива и подключением оного к оному из source ports, например PrBoom (http://prboom-plus.sourceforge.net/).И да, FreeDoom поддерживает и многопользовательскую игру (deathmatch) :)
#game #linux
Gog
Welcome to GOG.com | best PC games DRM-free
Download the best classic and new games on Windows, Mac & Linux. A vast selection of titles, DRM-free, with free goodies and 30-day money-back guarantee.
Если вам вдруг захочется сделать свою
Минус упомянутого движка - невозможность редактирования непродвинутыми пользователями. Т.е. wiki получается статической.
Если же вам хочется настоящей
#wiki #haskell
WiKi, то возможно вам хватит https://dynalon.github.io/mdwiki/#!index.md - здесь весь "движок" построен на JS и работает полностью в браузере, на лету отображая markdown-файлы в виде wiki с гиперссылками и проч. Для начала работы нужно в "корень" хранилища, умеющего раздавать статические файлы, положить пару файликов и всё! Такое решение отлично подходит для выкладывания на GitHub Pages - сервера гитхаба сами раздадут контент.Минус упомянутого движка - невозможность редактирования непродвинутыми пользователями. Т.е. wiki получается статической.
Если же вам хочется настоящей
многопользовательской Wiki, но MediaWiki вас чем-то не устраивает, можете попробовать Gitit (https://github.com/jgm/gitit) - wiki engine, написанная на Haskell и хранящая весь контент в VCS! Умеет много чего - например, LaTeX - и открыта для расширения (примеры плагинов в репозитории есть).#wiki #haskell
GitHub
GitHub - jgm/gitit: A wiki using HAppS, pandoc, and git
A wiki using HAppS, pandoc, and git. Contribute to jgm/gitit development by creating an account on GitHub.
Если вдруг вам понадобится немного
#markdown
Markdown произвольного содержания - парсер захотите написать, или же наоборот, рендер - добавьте в закладки сервис Lorem Markdownum: https://jaspervdj.be/lorem-markdownum/ Сервис умеет генерировать разметку текста (да, это будет Lorem Ipsum) с цитатами, подзаголовками и списками. И даже псевдокод на псевдоязыках вставлять умеет!#markdown
Неплохая шпаргалка по
Каждый шаблон "объясняется" парой предложений и иллюстируется куском кода (не на PHP ли?), который решает реальную (более-менее) задачу.
Что же, местами довольно наглядно - тот же
Впрочем, это же github! Совместными усилиями можно добиться достаточной понятности :)
#pattern
паттернам проектирования (если вы ещё пользуете ООП в общепринятом смысле): https://github.com/kamranahmedse/design-patterns-for-humans Каждый шаблон "объясняется" парой предложений и иллюстируется куском кода (не на PHP ли?), который решает реальную (более-менее) задачу.
Что же, местами довольно наглядно - тот же
Flyweigth неплохо показан. А вот Bridge, например, не слишком развернуто объясняется (ИМХО).Впрочем, это же github! Совместными усилиями можно добиться достаточной понятности :)
#pattern
GitHub
GitHub - kamranahmedse/design-patterns-for-humans: An ultra-simplified explanation to design patterns
An ultra-simplified explanation to design patterns - kamranahmedse/design-patterns-for-humans
Ого! Игра на
Заметьте, движок у игры свой, самописный! И написан, по сути, одним разработчиком (его, кстати, можно найти в чате https://t.me/proRust) и только ресурсы делали уже несколько человек!
#rust #gamedev #game
Rust в Steam Greenlight! https://steamcommunity.com/sharedfiles/filedetails/?id=868228143Заметьте, движок у игры свой, самописный! И написан, по сути, одним разработчиком (его, кстати, можно найти в чате https://t.me/proRust) и только ресурсы делали уже несколько человек!
#rust #gamedev #game
Полезная библиотечка для PureScript
Пара примеров:
- арифметика со временем
- перевод скоростей между системами
#purescript #library
purescript-quantities (https://pursuit.purescript.org/packages/purescript-quantities) позволяет описывать физические величины и, помимо, собственно, декларации длинн, масс и прочих температур, предоставляет инструменты для синтеза сложных величин из простых (метры можно делить на секунды и получать скорость!) и конвертации между разными шкалами!Пара примеров:
- арифметика со временем
> showResult $ 2.0 .* minutes ⊕ 30.0 .* seconds
"2.5min"
- перевод скоростей между системами
> showResult $ (85.0 .* miles ./ hour) `convertTo` (meters ./ second)
"37.9984m/s"
#purescript #library
Делюсь ссылкой на недавно возникший бложик со статьями про
Наткнулся на него, увидев на
А ещё в блоге можно найти статьи про
Elm и разработку на нем, ориентированными на новичков: https://alpacaaa.net/blog/Наткнулся на него, увидев на
/r/elm статью "In depth overview of Elm and Purescript. Lessons learned porting a game from Purescript to Elm." (https://alpacaaa.net/blog/post/elm-purescript-in-depth-overview/). Собственно, эту статью и рекомендую - в т.ч. и тем, кто ни #elm ни #purescript не использует (пока 😉). Сравнение этих языков в статье несколько предвзято, но в целом вполне адекватно (что, увы, редкость).А ещё в блоге можно найти статьи про
написание на Elm простой версии Mastermind (по-нашему "быки-коровы") и ещё пары игр, что называется, from scratch - отличное чтиво для интересующихся новичков!alpacaaa
Marco Sampellegrini
А этот
В целом я не удивлен - это же
Из того, что прочитал недавно, поделюсь этим:
- "DOM elements with ID's are global variables"
(https://dev.to/buntine/dom-elements-with-ids-are-global-variables):
- "How I Git"
(https://dev.to/andydangerous/how-i-git - это репост, но пусть будет);
- "Don't wait for perfect"
(https://dev.to/mubashariqbal/dont-wait-for-perfect);
- "The Peace of not coding"
(https://dev.to/jonstodle/the-peace-of-not-coding - надо бы тоже научиться).
P.S. Команда dev.to рассылает бесплатные стикеры: https://dev.to/freestickers Я уже запросил ;)
Dev.to (https://dev.to) растет с заметной скоростью!В целом я не удивлен - это же
"правильный" Medium для погроммистов, разрешающий писать в привычном Markdown и вставлять код с указанием языка подсветки (да, Haskell тоже подсвечивается!). Если выживет, буду рад. На всякий случай профиль себе там завёл (http://dev.to/astynax), может даже сподоблюсь писать туда на своём корявом английском :) Пока же - просто почитываю.Из того, что прочитал недавно, поделюсь этим:
- "DOM elements with ID's are global variables"
(https://dev.to/buntine/dom-elements-with-ids-are-global-variables):
- "How I Git"
(https://dev.to/andydangerous/how-i-git - это репост, но пусть будет);
- "Don't wait for perfect"
(https://dev.to/mubashariqbal/dont-wait-for-perfect);
- "The Peace of not coding"
(https://dev.to/jonstodle/the-peace-of-not-coding - надо бы тоже научиться).
P.S. Команда dev.to рассылает бесплатные стикеры: https://dev.to/freestickers Я уже запросил ;)
DEV Community
A space to discuss and keep up software development and manage your software career