Forwarded from Panic! At the 0xC0D3 (Lev)
SpacetimeDB
Я как геймдевелопер в душé был приятно удивлен
Если кратко, то это relational бд, где вместо традиционного backend + SQL over network ты пишешь явно модули (запросы + логика) на каком-то ЯП, они компилятся в васм, и запускаются прям внутри бд,
Плюсы по перфу очевидны: latency уменьшается а throughput увеличивается колоссально, так как вместо
мы получаем
Убрали сеть, убрали ось, получаем перф (добавили васм, но вроде как он довольно хорош по перфу)
Они, видимо, еще интегрировали какие-то доп решения (балансеры и прочее), чтобы был единый продукт для геймдевелоперов, но это уже детали.
Забавно то, что блин идея то не нова. Я сам думал о такой архитектуре еще несколько лет назад и спрашивал себя, почему никто это не сделал. Но я бы поспорил, что на самом деле сделали в блокчейне. Да, хуе мое децентрализация, но идейно архитектура бд то очень похожа - вместо традиционного backend + sql, у тебя виртуальная машина (evm в случае блокчейна, wasm в этом случае), и ты пишешь кастомную логику, которая прозрачно делает запросы к бд (контракты в блокчейне, "модули" тут). Возможно какие-нибудь yt подобные штуки тоже стали уметь в это (в мое время стажером в я они не умели)
По сути главное отличие от "современных" решений тут в том, что сейчас "модно" слоем абстракции выбирать сеть - закон мура для сети внутри дц пока не остановился, сеть улучшается с каждым годом. Но геймдев это одна из редких сфер, где задачи зачастую cpu+memory bound: тот же банальный пример обновить позицию миллиону точек. И тут люди решили сделать по сути упрощенное "облако" но внутри одной машины/процесса, чтобы получить плюсы всего.
Я не утверждаю, что это какое-то groundbreaking решение, и что оно заменит все, но I'm a sucker по идейно новым подходам, особенно когда идейность это return to monke, упростить стек, и использовать hardware на 100%.
Я как геймдевелопер в душé был приятно удивлен
Если кратко, то это relational бд, где вместо традиционного backend + SQL over network ты пишешь явно модули (запросы + логика) на каком-то ЯП, они компилятся в васм, и запускаются прям внутри бд,
Плюсы по перфу очевидны: latency уменьшается а throughput увеличивается колоссально, так как вместо
client -> (backend -> SQL -> backend) times N -> client
мы получаем
client -> db -> (wasm -> in memory -> wasm) times N -> db -> client
Убрали сеть, убрали ось, получаем перф (добавили васм, но вроде как он довольно хорош по перфу)
Они, видимо, еще интегрировали какие-то доп решения (балансеры и прочее), чтобы был единый продукт для геймдевелоперов, но это уже детали.
Забавно то, что блин идея то не нова. Я сам думал о такой архитектуре еще несколько лет назад и спрашивал себя, почему никто это не сделал. Но я бы поспорил, что на самом деле сделали в блокчейне. Да, хуе мое децентрализация, но идейно архитектура бд то очень похожа - вместо традиционного backend + sql, у тебя виртуальная машина (evm в случае блокчейна, wasm в этом случае), и ты пишешь кастомную логику, которая прозрачно делает запросы к бд (контракты в блокчейне, "модули" тут). Возможно какие-нибудь yt подобные штуки тоже стали уметь в это (в мое время стажером в я они не умели)
По сути главное отличие от "современных" решений тут в том, что сейчас "модно" слоем абстракции выбирать сеть - закон мура для сети внутри дц пока не остановился, сеть улучшается с каждым годом. Но геймдев это одна из редких сфер, где задачи зачастую cpu+memory bound: тот же банальный пример обновить позицию миллиону точек. И тут люди решили сделать по сути упрощенное "облако" но внутри одной машины/процесса, чтобы получить плюсы всего.
Я не утверждаю, что это какое-то groundbreaking решение, и что оно заменит все, но I'm a sucker по идейно новым подходам, особенно когда идейность это return to monke, упростить стек, и использовать hardware на 100%.
YouTube
A breakthrough in game dev - SpacetimeDB 1.0
SpacetimeDB is an all-in-one backend server and database designed for building and running multiplayer games and apps with incredible speed.
https://spacetimedb.com
Give us a star! https://github.com/clockworklabs/SpacetimeDB
Join our Discord! https://…
https://spacetimedb.com
Give us a star! https://github.com/clockworklabs/SpacetimeDB
Join our Discord! https://…
👍10❤1🤔1🌚1
Forwarded from Разработка игр 🍄
Отличная статья про дыры в дизайне игр, который позволяют игрокам получать незапланированное преимущество. Раскрываются типы таких дыр, а также способы их избежать.
https://devmag.org.za/2012/05/07/loopholes-in-game-design/
https://devmag.org.za/2012/05/07/loopholes-in-game-design/
Dev.Mag
Loopholes in Game Design
Loopholes: what they are, how to find them, how to fix them, and a big list of generic loopholes in games.
❤5👍3💯1
Forwarded from Технологический Болт Генона
TARIFF is a fantastic tool that lets you impose import tariffs on Python packages. We're going to bring manufacturing BACK to your codebase by making foreign imports more EXPENSIVE!
How It Works
When you import a package that has a tariff:
1. TARIFF measures how long the original import takes
2. TARIFF makes the import take longer based on your tariff percentage
3. TARIFF announces the tariff with a TREMENDOUS message
Example Output
https://github.com/hxu296/tariff
import tariff
# Set your tariff rates (package_name: percentage)
tariff.set({
"numpy": 50, # 50% tariff on numpy
"pandas": 200, # 200% tariff on pandas
"requests": 150 # 150% tariff on requests
})
# Now when you import these packages, they'll be TARIFFED!
import numpy # This will be 50% slower
import pandas # This will be 200% slower
How It Works
When you import a package that has a tariff:
1. TARIFF measures how long the original import takes
2. TARIFF makes the import take longer based on your tariff percentage
3. TARIFF announces the tariff with a TREMENDOUS message
Example Output
JUST IMPOSED a 50% TARIFF on numpy! Original import took 45000 us, now takes 67500 us. American packages are WINNING AGAIN! #MIPA
https://github.com/hxu296/tariff
😁38❤2
#prog #article
What the Hell Is a Target Triple?
О том, что из себя представляет target triple (строка, указывающая компилятору, под какую платформу компилировать код), почему в так называемой тройке может быть четыре или два компонента и много ворчания на тему того, какой там беспорядок в плане именования. Go, как всегда, особенный.
What the Hell Is a Target Triple?
О том, что из себя представляет target triple (строка, указывающая компилятору, под какую платформу компилировать код), почему в так называемой тройке может быть четыре или два компонента и много ворчания на тему того, какой там беспорядок в плане именования. Go, как всегда, особенный.
mcyoung.xyz
What the Hell Is a Target Triple? · mcyoung
❤3👍3🤡1
#article
Collections: The Problem with Sci-Fi Body Armor
(thanks @al_tch)
Collections: The Problem with Sci-Fi Body Armor
...where real armors evolve against threats, fictional armors evolve as a visual language, borrowing the design elements of other fictional armors far more often than they dip into their own historical exemplars, with the result that the whole thing sort of devours itself.
(thanks @al_tch)
A Collection of Unmitigated Pedantry
Collections: The Problem with Sci-Fi Body Armor
This week we’re covering the winning topic from the latest ACOUP Senate poll, which is a look at some of the odd designs and mechanics for futuristic science fiction body armor, particularly …
👍3🤡1
Forwarded from Хреногубка
РБК. Новости. Главное
суд пристановил запрет на деятельность «Талибана»
Талибан — норм, а вот ЛГБТК — террористы-экстремисты!! Смотрите не перепутайте.
💯20🤡10👍3🤬1