TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #949 · 26.01

На выходных попробовали Трон Кубов. Это такая полудуэльная игра на сражение между разными персонажами. У игры фантастически крутой продакшен — каждый планшет героя оформлен в своём стиле со своими цветами, кубики сделаны с персональной текстурой и гранями, своя колода карточек и жетоны состояний. Вообще, каждый персонаж это просто такая мини-коробочка со всем необходимым, можно носить на турниры (под это, собственно, игра изначально и создавалась). У каждого персонажа свои способности, но сам игровой процесс одинаковый: бросаешь кубики, и по ним определяешь, какую из способностей активировать. На кубики можно влиять: во-первых, выбирать, какие и сколько раз перебросить; во-вторых, играть с руки карты вроде "Установи любой кубик в желаемое положение", "Скопируй один из выпавших кубиков", "Измени значение на единицу". Игра моим друзьям очень понравилась, а ещё она оказалась на удивление сбалансированной: первую партию сыграли вничью, во второй мы убили соперников, когда у нас самих оставалось 2 жизни из начальных 50. Задумался в целом о рандоме в играх. Кит Бургун пишет, что синглплеерные игры без источника случайности вообще не могут существовать, потому что иначе они превращаются в пазлы: для каждой ситуации находится и фиксируется оптимальный ход, игра становится решённой (solved). В играх против других людей ваш соперник является источником случайности для вас, потому что вы не знаете, как он думает. И всё-таки, добавление случайности в саму механику часто очень важно. Бывают игры с огромным пространством неоднозначных решений, как, например, шахматы или го. У них есть своя интересная специфика, но нередко они требуют очень длительного обдумывания хода, потому что человек начинает перебирать это пространство в глубину, и делает это сравнительно медленно. Бывают игры с очень маленьким пространством решений, например, крестики-нолики, и любому взрослому играть в них скучно. Найти баланс довольно сложно, поэтому (по крайней мере среди казуальных игр) хорошо работает следующая механика: игрок с помощью случайности либо получает небольшой кусочек пространства решений, либо ему меняют веса в этом пространстве так, чтобы его настоящий выбор был не таким большим. В добавок это создаёт мета-игру на риск, повышает реиграбельность, а ещё позволяет более слабому игроку выиграть за счёт удачи — очень хорошие свойства для казуальной настолки. Впрочем, в такой системе тоже не слишком легко сбалансировать процесс. Иногда от случайности может зависеть слишком многое, и мы получим Монополию или Колонизаторов, в которых скилл вообще не влияет на победу. Иногда случайность добавлена, но она скорее мешает: в Brass шесть разных действий, доступных с помощью карт, но только в одном важно, какая именно карта вам пришла. Иногда случайность добавлена и не работает как надо: в Hearthstone порядок прихода карт почти не влияет на решения игрока — он всегда играет оптимальную карту в конкретный ход. А иногда рандом приводит к злоупотреблению другими аспектами игры: в Baldurs Gate 3 из-за броска одного кубика может зависеть результат сложнейшего боя, поэтому иногда выгоднее просто перезапускать сохранение, пока не выпадет, как надо. Так что задача геймдизайнера отнюдь не становится простой при работе со случайностью. По первым двум партиям кажется, что авторы Трона Кубов вполне справились с управляемым рандомом, но евро-игрокам скорее всего такая степень случайности будет казаться большой, да и стратегически игра совершенно не глубокая. В любом случае, продолжим играть, пока не надоест :) #games

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #multithreading

当前筛选 #multithreading清除筛选
djangoproject

@djangoproject · Post #95 · 11.07.2016 г., 12:14

https://docs.python.org/3/library/asyncio-dev.html#asyncio-multithreading 18.5.9.3. #Concurrency and #multithreading An event loop runs in a thread and executes all callbacks and tasks in the same thread. While a task is running in the event loop, no other task is running in the same thread. But when the task uses yield from, the task is suspended and the event loop executes the next task. To schedule a callback from a different thread, the BaseEventLoop.call_soon_threadsafe() method should be used. Example: loop.call_soon_threadsafe(callback, *args) Most asyncio objects are not thread safe. You should only worry if you access objects outside the event loop. For example, to cancel a future, don’t call directly its Future.cancel() method, but: loop.call_soon_threadsafe(fut.cancel) To handle signals and to execute subprocesses, the event loop must be run in the main thread. To schedule a coroutine object from a different thread, the run_coroutine_threadsafe() function should be used. It returns a concurrent.futures.Future to access the result: future = asyncio.run_coroutine_threadsafe(coro_func(), loop) result = future.result(timeout) # Wait for the result with a timeout The BaseEventLoop.run_in_executor() method can be used with a thread pool executor to execute a callback in different thread to not block the thread of the event loop. See also The Synchronization primitives section describes ways to synchronize tasks. The Subprocess and threads section lists asyncio limitations to run subprocesses from different threads.

GitHub Trends

@githubtrending · Post #14740 · 23.05.2025 г., 12:30

#python#async#asyncio#cross_platform#downloader#gui#multithreading#pyqt#pyside6#python#qt#software#streaming Ghost Downloader 3 is a fast, AI-powered download manager that works on Windows, Linux, and macOS. It speeds up downloads by splitting files into many parts and using multiple threads, dynamically adjusting to use your full bandwidth. It supports resuming downloads, proxy settings, SSL security, and clipboard monitoring for easy link capture. The interface is modern and user-friendly. This tool helps you download files more quickly and efficiently, with options to control speed and use proxies, making it ideal if you want faster, smarter, and more reliable downloads on your computer[1]. https://github.com/XiaoYouChR/Ghost-Downloader-3