Forwarded from Кресты на моей кукухе
Неверующие в гномов-багопрятов такие: наверное, баг не получается воспроизвести, потому что его починили
😁39
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