Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572

Шуточная игра "Cyberforum"

19.05.2026, 13:50. Показов 11520. Ответов 251
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обсуждаем совместную разработку игры "Cyberforum".
Вайб-проект без сроков и тз. Нет требований к качеству.

Участники:
XLAT & Royal_X, а также все желающие

Описание
- трехмерная игра от первого лица
- главный игрок - кодер
- игрок находится в маленькой комнате
- в этой комнате есть компьютер
- компьютер предлагает задачи по программированию
- игрок должен написать код и пройти валидатор за отведенное время
- если не успевает, то его ждет смерть (комната может медленно заполняться жидкостью, или ядовитым газом, или открываются решетки и выпускается наружу монстр, который убивает игрока - вариантов тут много).

Жанры
хоррор, логическая, юмор
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.05.2026, 13:50
Ответы с готовыми решениями:

Почему в Cyberforum нету раздела про Vulkan API
Не знаю, может вопрос может показаться вызывающим. Но почему в Cyberforum нету разделов по OpenCL и...

Может ли современная игра весить "до 100 МБ", если игра начала 2000-х весит 30 ГБ?
Например, Lineedge уже сейчас, по состоянию на версию 0.7@20M, по скачиваемому размеру переросла...

порты для старых игр (и переиздание игр?)
есть где-то хорошее определение что есть порт для игры? (dos box - это в каком-то смысле порт или...

251
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 10:40
Студворк — интернет-сервис помощи студентам
напоминаю мои задачи:
Цитата Сообщение от XLAT Посмотреть сообщение
1. редактор кода
2. выбор компа (компов будет много)
шоб мы не пересекались как лебедь и щука на одной тележке ...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
22.05.2026, 10:42  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
напоминаю мои задачи:
а космобазу чё не добавил?
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 10:43
Цитата Сообщение от XLAT Посмотреть сообщение
у Самары
кто такая?
вот:


будет наш ответ японской Прагмате)
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 10:45
Цитата Сообщение от Royal_X Посмотреть сообщение
а космобазу чё не добавил?
задача седня свободна - забирай!

если не хошъ, то тогда я завтра...

кстати, там во free есть ещё скайфай варианты - мошъ поискать - заценить - перетащить в прожект...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
22.05.2026, 11:01  [ТС]
XLAT, я сейчас вообще стреляю в https://www.crazygames.com/fr/game/skillwarz . Кстати, тоже на юнити сделана, как и 99% браузерных игр. Причем, без смс, регистрации...

Добавлено через 1 минуту
Цитата Сообщение от XLAT Посмотреть сообщение
кстати, там во free есть ещё скайфай варианты - мошъ поискать - заценить - перетащить в прожект...
ладно, я посмотрю

Добавлено через 6 минут
XLAT, но другие варианты весят много

Добавлено через 4 минуты
XLAT, твой вариант норм. Он как раз в магазине числится среди популярных ассетов.

Единственное, что меня беспокоит, это то, что он добавлен Nov 5, 2018, с тех пор движок нехило поменялся. Нигде не нашел, чтобы было написано, что он работает с URP. Есть подозрение, что он создан для Built-in рендера.
0
 Аватар для COKPOWEHEU
4139 / 2717 / 433
Регистрация: 09.09.2017
Сообщений: 12,050
22.05.2026, 11:02
Цитата Сообщение от Royal_X Посмотреть сообщение
околомарсианская космобаза.
а вот на единичке emission норм, не будет вредно для глаз игрока
Синие квадраты на полу это солнечные панели? Если убрать остальную сетку и добавить чуть-чуть холмов, пейзаж уже напоминает марсианский.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
22.05.2026, 11:09  [ТС]
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Синие квадраты на полу это солнечные панели?
это прототипная текстура https://kenney.nl/assets/prototype-textures я такие использую временно

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Если убрать остальную сетку и добавить чуть-чуть холмов, пейзаж уже напоминает марсианский.
это просто дефолтное окружение юнити, никаких пейзажов я не делал
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 11:09
Цитата Сообщение от Royal_X Посмотреть сообщение
но другие варианты весят много
отлично! - вижу - моя школа не в пустую)

Цитата Сообщение от Royal_X Посмотреть сообщение
есть еще такое https://assetstore.unity.com/p... ack-195067
это потом - отдельно в dlc апдейте или отдельной игрой ...

с pbr материалам тоже нужно осторожно - весят много(через чур много!) - а толку от них мало - для геймплея всегда == 0
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
22.05.2026, 11:18  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
моя школа не в пустую
другие просто сильно не парятся

я вчера резал шуруп, оставлял только головку, чтобы меньше полигонов было из-за наружной резьбы. Но в ни в одной студии так не будут делать. Скажут игрокам - покупайте RTX 5090.

Добавлено через 5 минут
Цитата Сообщение от XLAT Посмотреть сообщение
с pbr материалам тоже нужно осторожно - весят много(через чур много!) - а толку от них мало - для геймплея всегда == 0
да, знаю. Они еще очень часто бывают в PNG, каждая текстура по 5-8 МБ для 2048х2048. Я вчера переконвертировал в JPG, размер значительно уменьшился. Но кроме стола больше PBR не использовал. К тому же, я удалил некоторые текстуры, которые визуально почти никак не влияли.

Толк от них есть, если сам проект настраивать на ультрареализм (что не наш случай).

Но ты так не паникуй. При сборке игры эти текстуры конвертируются в форматы для GPU и применяются спец. алгоритмы сжатия. Так что, ты видишь размер проекта, но это не размер игры.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 11:32
Цитата Сообщение от Royal_X Посмотреть сообщение
да, знаю
тенсент ии генерит модель с 50к вертексами ~30 мб - сама модель 5 мб - текстуры 25 мб.
текстура нормалей - 10 мб.

прикол в том, что если выкинуть из материала эту текстуру нормалей, то модель начинает выглядеть в 1000 раз лучше!

потом, я видел сцены у чуваков с pbr - ваще гавно - короче, игра это не про pbr,

но если без фанатизма, то нужно смотреть в каждом отельном случае - строго(!) взвешивать - либо ок, либо наф.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
22.05.2026, 12:30  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
тенсент ии генерит модель с 50к вертексами ~30 мб - сама модель 5 мб - текстуры 25 мб.
текстура нормалей - 10 мб.
важно еще не количество полигонов, а как выглядит сама геометрия меша. ИИ сейчас генерирует только мусор.

Самое смешное это то, что в индустрии 3D многие действительно ждали ИИ, но всё обернулось не так, как они хотели. А именно, люди думали, что ИИ возьмет на себя самую скучную, нудную работу в 3D - ретопологию, дескать людям останутся самые интересные, творческие вещи. Но получилось наоборот. ИИ умеет выполнять всю эту интересную, творческую работу, но в топологии полный ноль. И вышло так, что у людей ИИ отобрал их работу и по-прежнему именно люди должны подчищать вручную мусор ИИ.

Поэтому сейчас меши, сгенерированные ИИ можно использовать лишь как мусор второго плана в UE, где нанит справится с ним, либо нужно заняться потом ретопологией и вручную исправить геометрию. Если автоматические инструменты ретопологии, но они все дают слабый результат.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 12:57
Цитата Сообщение от Royal_X Посмотреть сообщение
отображение текста с помощью Render Texture

исправь - я в твою папку не редактю.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
22.05.2026, 13:39  [ТС]
XLAT, ок, добавил depth stencil format, самый минимальный, который меньше всего требует памяти.

кстати, в окне иерархии скрой Display Canvas, чтобы на сцене не отображалась сзади увеличенная копия экрана. Им удобно пользоваться, когда переходишь в режим 2d, но вот обычно в 3d он бесполезен и его можно скрыть.

XLAT, и я засунул все в префаб. Обнови у себя. Там уже другая структура

Добавлено через 8 минут
XLAT, добавил вращение кулеров. Осталось добавить звук.

Чтобы выставлять скорость, нужно получить по ссылке системный блок DesktopPC и вызвать публичный метод SetFanSpeed(float percent). Сейчас в старте выставлено 5 процентов для тестирования.
У вентиляторов макс. rpm выставлено на 2000, а скорость ускорения 1 с.
1
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 13:47
+выбор компа #7
https://github.com/users/BDOTi... k-2026%7C7

считаю эту задачу важной - такой же важной, как редактор кода)

накидал план:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
так как в игре может и должно присутствовать разнообразное оборудование(+объекты и +субъекты),
то треба ОБЩАЯ система взаимодействия со всеми этим скарбом.
 
для этого:
 
- отдельная папочка со скриптами UseEquipment
- скрипт детектора Оборудования/Объект_взаимодействия:
- если есть желание взаимодействовать с Объектом, то (ОБХОДИМСЯ БЕЗ КУРСОРА)
- стать лицом к Объекту 
- нажать клавишу E или Enter
- если объект доступен(например, по дистанции), то получить геймобжект объекта.
- компонент детектора единственный в игре вешается на объект игрока
- работает так:
- все объекты, которые должны взаимодействовать должны иметь коллайдер
- лучше сфера, хуже прямоугольник, меш - плохо
- от игрока кидается луч по направлению взгляда
- далее в обработчике триггера извлекается объект
- любой объект имеет стандартный интерфейс для взаимодействия
- вызвать интерфейсный метод объекта - начать сеанс
- сенс может быть закончен по решению объекта или по решению игрока.
- в компоненте детектора - занулить ранее полученную ссылку на объект.
- игрок может отходить от объекта не прекращая сеанс
- текущий сеанс автоматически завершится при выборе другого объекта для нового сеанса.
- также можно добавить другие сценарии завершения текущего сеанса.
- за юзерввод, который эксклюзивный для разных типов объектов отвечают сами объекты.
Вот так я собираюсь провернуть этот таск.

тут важен не сам скриптинг,
а важно то, как оно будет выглядеть с колокольни игрока.

хм, выше портянку надо бы разделить на две части 1) для игрока 2) техническая

в самом скриптинге важная штука
в том, что РАЗНООБРАЗНЫЕ объекты имеют ОДНООБРАЗНЫЙ(Е) интерфейс(ы).

ЕССЛИ ЕСТЬ ЗАМЕЧАНИЯ ТО ГОВОРИ ЗДЕСЬ(НА ТАСКБОРДЕ ЛУЧШЕ) И СЕЙЧАС ???
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
22.05.2026, 14:28  [ТС]
XLAT, прочел планы.

я могу добавить в логике персонажа FirstPersonController.cs интерфейс:

C#
1
2
3
4
5
public interface IInteractable
{
    void OnInteract(float hitDistance);
    void OnInteractCanceled();
}
это означает, что можно будет потом добавить разные объекты (с которыми планируется взаимодействие), но в кодах этих объектов должны быть реализованы оба метода. А в классе объектов, после MonoBehaviour через запятую нужно писать имя интерфейса IInteractable

Этих методов будет достаточно. Взаимодействие можно назначить, например, на левую кнопку мыши. Почему я считаю, что нужен еще OnInteractCanceled? Мой опыт говорит, что в сложных сценариях важно еще знать, когда была отпущена клавиша взаимодействия. Даже если в том или ином объекте она не будет нужна, то ничего, можно просто в теле оставить пусто, но реализовать придется обязательно.

И в инспекторе нужно будет в списке выбрать IInteractable для взаимодействующих объектов.

Добавлено через 5 минут
XLAT, если не понял, могу показать на примере?

Грубо говоря, это работает так:
персонаж, например, приближается к некому объекту, нажимает клавишу взаимодействия.
если взаимодействие должно случиться (например, расстояние между игроков и объектом в пределах maxInteractDistance), то вызывается метод OnInteract в коде этого объекта.

Для каждого объекта, с которым может взаимодействовать персонаж, нужно будет лишь добавить эти два метода и внутри них прописать логику того, что должно происходить при взаимодействии.

Добавлено через 7 минут
XLAT, если не очень понятно, могу создать какой-то куб, который допустим уменьшается при взаимодействии, и ты потом посмотришь код?

Добавлено через 8 минут
XLAT, пример логики какой-то кнопки в игре

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using UnityEngine;
 
public class Button : MonoBehaviour, IInteractable
{
    public void OnInteract(float hitDistance)
    {
        if (hitDistance > 10f) return; // персонаж не может нажать на кнопку, если он отдален от кнопки
        // тут код, который должен выполниться при нажатии на кнопку
    }
 
    public void OnInteractCanceled()
    {
        // No action needed 
    }
}
Добавлено через 1 минуту
Цитата Сообщение от Royal_X Посмотреть сообщение
OnInteract(float hitDistance)
кстати, метод OnInteract лучше делать именно с параметром, поскольку не все объекты требуют одинакового расстояния для взаимодействия.

в коде персонажа будет лишь проверка на maxHitDistance.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 15:12
Цитата Сообщение от Royal_X Посмотреть сообщение
это означает
смотри что тут важно:

1.
На персе есть ОДИН И ТОЛЬКО ОДИН компонент который взаимодействует с объектами мира через ЕДИНЫЙ интерфейс.

2
Вся логика взаимодействия находится на объектах.

3.
На разных типах объектов РАЗНАЯ логика взаимодействия
Это означает, что если в нашей команде 100 разрабов,
то они легко могут создавать свои объекты со своей логикой взаимодействия с ними.
Внимание! И нет тут никаких конфликтов - не понравился разрабу объект коллеги - взял и создал свой.

Добавлено через 4 минуты
щас я не хочу много писать по этому поводу -
у меня в голове сейчас лютые геймдизайнерские фантазии из того что и как может быть в кучах разных сценариев...

СЕЙЧАС Я ГОЛОСУЮ ЗА ПРОСТАТУ,
но, как бы, вырост...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
22.05.2026, 15:13  [ТС]
XLAT, ок. Я про это и говорил. В таком случае, я добавлю интерфейс взаимодействия в своем коде.
А ты можешь писать для своих объектов логику взаимодействия.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 15:16
Цитата Сообщение от Royal_X Посмотреть сообщение
я могу добавить в логике персонажа FirstPersonController.cs интерфейс:
с этим ваще не вижу проблем - ДОБАВЛЯЙ!
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,572
22.05.2026, 15:27  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
ДОБАВЛЯЙ
Добавил.

Можешь зайти в мою сцену, я там добавил куб, который при нажатии на кнопку "Attack" (ЛКМ) уничтожается. Можешь посмотреть на код куба.
Собственно, если нужно будет поменять клавиши для действия Attack, то нужно менять в Assets/InputSystem_Actions.inputactions

Еще обрати внимание, что у куба выставлен слой Interactable. Это тоже важно. Мой рейкаст в целях оптимизации игнорирует остальные слои.

Поскольку я менял код персонажа, то это тоже тебе придется обновить у себя. И у персонажа должна быть выбрана маска Interactable. Это в инспекторе выбирается, там где параметры его скрипта.

***
Логику объектов, которые должны взаимодействовать, тебе потом нужно делать по примеру куба.

- добавляешь коллайлер
- выбираешь слой Interactable
- в коде добавляешь наследование от IInteractable
- добавляешь два метода от интерфейса, в которых пишешь логику взаимодействия
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.05.2026, 15:36
Цитата Сообщение от Royal_X Посмотреть сообщение
на кнопку "Attack" (ЛКМ)
аттак или не аттак зависит от контекста) - не до конца обобщенная название для действия ...

Цитата Сообщение от Royal_X Посмотреть сообщение
использовать лишь как мусор второго плана
Алиса(персы все тенсетовские, кроме Кулия) в магазине шатллов:


позже были правки с багом прозрачности при проявки шаттла - щас выглядят лучше ...


в чём моя проблема с этими ии шаттлами - мне нужны настоящие корабли с каютами/отсеками/шлюзами/цупами,

такой пока только 1 - "Wanderer" сварганенный в пробилдере.

видос в тем - показано взаимодействие с 1) патефоном(тенсетовский) и 2) подиумом магазина(тоже там всё тенсетовское)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.05.2026, 15:36

Можно ли достать версию игры, чтобы в c# отображать версию внутри игры?
Хочу использовать значение версии из менюшки, когда для обновления указываю новую версию. Сейчас я...

Как конвертировать игру из PC в игру для Android?
При создании проекта выбрал шаблон 2D. Сделал игру. Вопросы. 1. Как её переделать под 2D...

Есть ли способ компиляции всех шейдеров игры при первом запуске игры?
У меня есть 2 карты: главное меню, и основная карта с геймплеем. Основная карта запускается с...

Выкладывание игры на Яндекс игры
Здраствуйте, подскажите, как исправить такую ошибку - После перехода на другую вкладку,...

Язык программирования и Движок для игр!
Подскажите какой язык программирования наиболее подходит для написания игр , движка для игр? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
160
Закрытая тема Создать тему
Новые блоги и статьи
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью. Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru