Программирование кф
50 subscribers
78 photos
75 links
Бот для тейков/связи -
Оформу не вставлять
Download Telegram
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
сап ребят, с вам лапух, у меня встал вопрос ;
возможно сделать реально годную визуальную новеллу (по типу Boyfriend to dead / This guy pisses me off и тд)

я очень хочу создать сво новеллу но пока желаю только через Kocho а приложение как по мне слабенькое.
ꪆ୧⏝︶#тейк @programming_cfbot
Программирование кф pinned «С этого дня наш кф открыт!! 🌟»
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
сап. я 🫍. сегодня тему которую некоторые новички не знают это Звуковые якоря. приятного прочтения. коды использовались в python.


Звуковые якоря работают, когда мозг игрока начинает ассоциировать конкретный звук с событием, угрозой или важным объектом — и реагирует на него почти рефлекторно. Ниже — конкретные приёмы, как это грамотно внедрить и не превратить в шум.

Как выбрать и закрепить якорь
Один звук — одно значение. Пусть «щёлк предохранителя» всегда означает опасность, а «скрип половицы» — что кто-то рядом. Если один и тот же звук будет значить разное, якорь сломается.
Минимум 3–5 повторений в безопасных условиях. Сначала дай звук в спокойной сцене, чтобы игрок его заметил и запомнил. Потом используй в напряжённой — тогда сработает узнавание и напряжение вырастет.
Контраст громкости и тишины. Якорь сильнее, если он звучит на фоне относительной тишины или резко выделяется из общего фона. Это не про «громко», а про «заметно».
Практические примеры под разные жанры
Хоррор/триллер (твои «тёмные» темы и мрачные истории)

Якорь: редкий, низкочастотный гул (30–60 Гц) или очень тихий треск, который появляется за 2–3 секунды до скримера. Игрок начинает бояться самого звука.
Ещё вариант: повторяющийся звук «капающей воды» в локации, где прячется враг. Со временем игрок будет замирать при этом звуке, даже если врага не видно.
Детектив/новелла с расследованием

Якорь: характерный щелчок замка или скрежет ключа, который привязан к конкретной двери/сейфу. Позже можно дать игроку только этот звук, и он сразу поймёт: «это та самая дверь».
Другой приём: у каждого персонажа — своя «звуковая подпись»: тяжёлые ботинки у одного, лёгкий шорох ткани у другого. Так игрок узнаёт, кто вошёл, даже без визуала.
Экшен/платформер

Якорь: короткий металлический звон при подборе ключевого предмета. После 3–4 раз игрок будет искать источник этого звука, чтобы найти важный лут.
Для механики: специфический «свист» или нарастающий гул перед появлением ловушки. Это даёт игроку долю секунды на реакцию.
Интеграция в визуальную новеллу (например, Ren’Py)
В новеллах звук работает тоньше, потому что фокус на тексте. Вот рабочие шаблоны:

renpy
# Объявляем каналы, чтобы не перебивать музыку
init python:
renpy.music.register_channel("sfx_key", "sound", True)
renpy.music.register_channel("ambience", "sound", True)

# Пример использования якоря
play sfx_key "sounds/key_click.ogg" fadein 0.1
"В темноте раздался знакомый щелчок. Он уже слышал его раньше — в комнате напротив."
Приёмы для новеллы:

Звук как маркер времени. Один и тот же эмбиент (дождь, ветер, тиканье часов) в разных сценах создаёт ощущение единого пространства и течения времени.
Изменение звука для передачи состояния героя. Если герой ранен или в панике, добавь лёгкий низкочастотный гул или «искажение» (реверберацию/фильтрацию) к обычным звукам. Игрок почувствует изменение восприятия без лишних слов.
Якорь на выбор. Каждому типу выбора (агрессивный, осторожный, эмоциональный) можно присвоить короткий звук. Это делает выборы осязаемыми и добавляет ритм повествованию.


завтра напишу про то как исправить ошибки в применении якорей если их допустили.

надеюсь такие посты тут можно писать^^
ꪆ୧⏝︶#тейк @programming_cfbot
2💘2❤‍🔥1👍1
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
def main():
state = GameState(
player_name="Игрок",
location="тёмный коридор старого здания",
sound_anchors=setup_anchors()
)

print(f"Ты стоишь в {state.location}. Вокруг тишина, но ты знаешь: тишина обманчива.")
time.sleep(1.5)

# Сцена 1: первый намёк на опасность
msg = trigger_sound(state, "vial_clink")
if msg:
print(msg)
state.notes.append("Слышен металлический звон стекла. Возможно, яд или реагент.")
show_status(state)
time.sleep(2)

# Сцена 2: нарастание напряжения
msg = trigger_sound(state, "injured_breath")
if msg:
print(msg)
state.notes.append("Кто-то тяжело дышит неподалёку. Ранен? Или притворяется?")
show_status(state)
time.sleep(2)

# Сцена 3: кульминация — угроза максимального уровня
msg = trigger_sound(state, "darknet_typing")
if msg:
print(msg)
state.notes.append("Печатание на клавиатуре. Кто-то готовится к чему-то крупному.")
show_status(state)

# Финал: игрок может «собрать» картину по звукам
print("\nТы начинаешь понимать: звуки — это карта. Каждый из них говорит о чём-то важном.")
print("Подумай, что делать дальше: искать источник, прятаться, действовать?")

if name == "main":
main()
.
надеюсь вам этот пост был полезен.


завтра скорее всего будет пост по новой теме, всем удачи, с любовью 🫍.
ꪆ୧⏝︶#тейк @programming_cfbot
1
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
итак, я 🫍, сегодня исправим ошибки в написании якорей.
Сделаем систему «аудиальных подсказок»: у игрока есть список звуковых якорей, каждый из которых привязан к объекту/персонажу/событию. Когда якорь срабатывает, он не просто «пищит», а даёт контекст: кто рядом, что происходит, как это влияет на состояние героя (например, «слышно тяжёлое дыхание — персонаж ранен»).

Пример кода на Python (чистый, без внешних зависимостей)
python
import time
from dataclasses import dataclass, field
from typing import List, Optional

@dataclass
class SoundAnchor:
"""Звуковой якорь: уникальный звук, который мозг игрока запоминает и реагирует на него."""
name: str # например, "капанье воды"
tag: str # короткий ID для логики: "water_drip"
meaning: str # что это значит в мире игры: "рядом источник воды или протечка"
threat_level: int # 0–3: насколько звук опасен (0 = нейтральный, 3 = почти атака)
context_clue: str # подсказка, которую игрок получает, когда слышит звук
heard_count: int = 0 # сколько раз игрок уже слышал этот звук
is_familiar: bool = False # стал ли звук знакомым (после 3+ раз)

def hear(self) -> str:
self.heard_count += 1
if self.heard_count == 1:
return f"Ты слышишь странный звук: {self.name}. {self.context_clue}"
elif self.heard_count == 2:
return f"Снова этот звук: {self.name}. Он кажется знакомым…"
else:
self.is_familiar = True
return (f"Знакомый звук: {self.name}. Ты уже знаешь, что это значит: {self.meaning}. "
f"Уровень угрозы: {self.threat_level}/3.")

@dataclass
class GameState:
player_name: str
location: str
inventory: List[str] = field(default_factory=list)
sound_anchors: List[SoundAnchor] = field(default_factory=list)
current_threat: int = 0
notes: List[str] = field(default_factory=list) # внутриигровые заметки игрока

def setup_anchors() -> List[SoundAnchor]:
# Под твои прошлые темы: даркнет, яды, травмы
return [
SoundAnchor(
name="тихий металлический звон",
tag="vial_clink",
meaning="рядом флакон или ампула (возможно, яд)",
threat_level=2,
context_clue="Будто кто-то задел стеклянную колбу."
),
SoundAnchor(
name="тяжёлое, прерывистое дыхание",
tag="injured_breath",
meaning="рядом раненый или измученный человек",
threat_level=1,
context_clue="Дыхание неровное, будто человек держится из последних сил."
),
SoundAnchor(
name="быстрые, сухие нажатия клавиш",
tag="darknet_typing",
meaning="кто-то печатает в даркнете или на терминале",
threat_level=3,
context_clue="Характерный ритм клавиш — кто-то работает с чем-то важным."
),
SoundAnchor(
name="капанье воды",
tag="water_drip",
meaning="протечка, подвал, старая труба или ловушка с водой",
threat_level=0,
context_clue="Монотонное капанье где-то в темноте."
)
]

def trigger_sound(state: GameState, tag: str) -> Optional[str]:
for anchor in state.sound_anchors:
if anchor.tag == tag:
msg = anchor.hear()
# Обновляем угрозу
state.current_threat = max(state.current_threat, anchor.threat_level)
return msg
return None

def show_status(state: GameState):
print("\n--- Состояние героя ---")
print(f"Локация: {state.location}")
print(f"Угроза: {state.current_threat}/3")
if state.inventory:
print(f"Инвентарь: {', '.join(state.inventory)}")
else:
print("Инвентарь пуст.")
if state.notes:
print("Заметки:")
for n in state.notes:
print(f" • {n}")
print("-----------------------\n")
ꪆ୧⏝︶#тейк @programming_cfbot
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
Где найти звуки/музыку без авторских прав для использования в коммерческих целях?
ꪆ୧⏝︶#тейк @programming_cfbot
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
Мой любимый сайт с документацией зашкварился~
ꪆ୧⏝︶#тейк @programming_cfbot
💘31
🤩 🥹🌟очешь чем-то поделиться
с Харухи, но не знаешь где?🐱
🤩начит ты по адресу 🥹🥹
🥹𝙙𝙖𝙞𝙡𝙮+𝙘𝙛 𝙃𝙖𝙧𝙪𝙝𝙞 𝙎𝙪𝙯𝙪𝙢𝙞🥹
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dолбаебы CF
🤩🤩🤩🤩🤩🤩🤩🤩
🤩🤩🤩🤩🤩🤩🤩🤩🤩🤩

💢💢КАК ЖЕ ЗАЕБАЛИ ТУПЫЕ МАЛОЛЕТКИ В ТИКТОКЕ❗️❗️ 😠😠

💢💢КАК ЖЕ Я УСТАЛА ОТ ИДИОТОВ РОДИТЕЛЕЙ ❗️❗️❗️😒😒

💢💢КАКОЙ ЖЕ ОДНОКЛАССНИК МУДАК❗️❗️😡😡

Или может тебя заебала конкретная группа дробаебов ?

Выскажись об этом!!

Здесь ты можешь высказаться о том как сильно тебя заебали ДОЛБАЕБЫ
       
Высказываться можно абсолютно обо всех темах и группах людей ,без осуждения. Нас всех  уже заебали долбаебы🐈‍⬛

https://t.me/DolbaebiCF
https://t.me/DolbaebiCF
https://t.me/DolbaebiCF
Please open Telegram to view this post
VIEW IN TELEGRAM
[🎐]★— мне надоело искать
людей с которыми можно сделать
вп,хочу чтобы у меня был сразу
большой выбор!!

🌆
тебе в
«VP CONFESSION санчез» !!!

вп пост(0+) // набор в админы
🌟
Это ты, стражник! Готов к сегодняшней тренировке?😎

◀️❗️ WELCOME TO THE GUARDIAN TALES CONFESSIONS ❗️▶️

📃 Здесь вы можете поделиться чем угодно по игре Guardian Tales! Творчеством, новостями, теориями, мнением, похвастаться удачным призывом и всем остальным, что связано с гт.

🟠 DNI: поддержка любого вида угнетения.
Правила ⬅️ клик
Тв/кв пост ⬅️ клик

💐 Бот для тейков @GuardianTalesConF_bot

ВП пост (0+) ⬅️ клик

Семья ⬅️ клик

🌟
Please open Telegram to view this post
VIEW IN TELEGRAM
🥹🥹🔤🔤🔤🔤🔤🔤🔤🔤🔤
confession🥹
ищешь где попросить поставить реактов , а может найти реакты по определённому фд ? 🥹💘
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Achievements in games . . | 🪭 (الكعة Nn#SSs.1B3k @)
: 🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤
🔤🔤 🔤🔤🔤🔤🔤:
🥹чекк какого бойца выбила !!
мм.. наконец-то прошла этот уровень !! поздравьте

зацените ачивку в игре 🥹
🔤MP | @Achievementsgamescf_bot

🤩own : nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from {Kao} Emoji confession
🥚🥹🔤🔤🔤🔤🔤
𝓬onfession . . 🎀
🥹🥹 𝓴анал для поиска премиум эмодзи, каомоджи, символов!🥹 🥹
🥹🥹 👋 𝓹iar 🥹price 🥹
@caomoji_bot
🤩own: nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from @ склад | warehouse 倉 (الكعة Nn#SSs.1B3k @)
⌗ ⋮ СКЛАД КАНАЛОВᅠ ׄ𝅄​​​​​ 𓏵( @warehousecff🐾 ᅠ ׄ◝ ⁠⁠⁠‌ֺ‌ - -      confession 🎀
薄荷 ࿔࣪ помогите найти кф по 🐾 . ⎯ׅ⎯ ꒰ есть ли кф на тему ??
| . .mp | @warehousecff_bot

🤩own : nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Find admins | 行 💤 (الكعة Nn#SSs.1B3k @)
👣ㅤ‘ㅤ𝒲elcome to the
⠀: ПОИСК АДМИНОВ confession
ищешь админов в свой канал ? — или хочешь разнообразить
свой список ?
🥹
mp | @findadminscff_bot

own : nnasbekk 🥹🥹
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩делали инфо км подслушано, быстрее заходи ! ! !
😻😻 меня бесит ... потому что ... !! !

😻😻 а меня смущает ... , она такое сделала!!

🎀😻 🤍 elcome to.. 🥹🥹. . 😻😻
🗒🥹🥹 OVERHEAD INFO CM🥹
navigation . ❤️
mp post 🤩 channel 🤩 bot for takes 🤩 admins & rules
🤩 support

🤩🥂🤩own :: syshka
🤩🤩 : co-own :: narkosha
Please open Telegram to view this post
VIEW IN TELEGRAM