u/Angry_Duck1

Перший український симулятор МКС: як я створюю реалістичну фізику невагомості для Beyond The Cupola

Усім привіт! Мене звати Ілля. Я інді-розробник з Києва та студент інженерії програмного забезпечення у КАІ (Київський авіаційний інститут). Сьогодні хочу розповісти про розробку Beyond The Cupola: ISS Simulator — гри про виживання на Міжнародній космічній станції.

https://preview.redd.it/jp8qw9zcwo1h1.png?width=2560&format=png&auto=webp&s=8b1413cb27b17366e56fb366cd8cecf1a20ab653

Ідея симулятора зародилася з бажання зробити щось більше, ніж просто аркадну літалку. Я хотів передати відчуття перебування в модулях МКС, реалістичну фізику та складнощі роботи у невагомості.

Чому я відмовився від готових рушіїв Більшість ігор зараз робляться на Unity або Unreal Engine. Але коли я почав тестувати свої ідеї, зрозумів, що ці рушії занадто громіздкі і мають свої обмеження для точних фізичних симуляцій. Тому я прийняв "божевільне" для інді-розробника рішення — написати власний рушій з нуля.

Це дало мені абсолютну свободу:

  • Я можу максимально точно налаштовувати фізику під невагомість, не борючись із вбудованими колізіями готових рушіїв.
  • Графіка (на OpenGL/Vulkan) оптимізована виключно під космічне середовище — освітлення на орбіті, атмосферне розсіювання тощо.
  • Гра виходить максимально легкою і не потребує зайвих ресурсів ПК.

https://preview.redd.it/3uzbhfgaxo1h1.png?width=2560&format=png&auto=webp&s=98557b15c28087c0349f45e7a8c65aa5e7fd3290

Бойове хрещення: NASA Space Apps Challenge Переломним моментом для проєкту став хакатон NASA Space Apps Challenge 2025 у Києві. Принести туди власний, ще сирий рушій — було величезним ризиком. Але саме специфіка хакатону допомогла мені протестувати напрацювання в реальних умовах.

Після тих 48 годин без сну прототип перетворився на повноцінну гру. У Beyond the Cupola гравцеві доведеться боротися з поломками на станції, ремонтувати обладнання зсередини та виходити у відкритий космос. Усе йде шкереберть, і завдання — протриматися якнайдовше.

https://i.redd.it/ygdomhn7xo1h1.gif

(До речі, на ранніх етапах у грі була російська локалізація, але до релізу я вирішив її повністю та назавжди прибрати).

Що далі? Зараз гра активно розробляється. У своєму наступному матеріалі я планую детальніше розповісти, як саме влаштована орбітальна механіка в грі та які реальні дані я для цього використовую.

Дякую за увагу! Оскільки я готуюся до літніх фестивалів, найкращою підтримкою першого українського симулятора МКС буде ваш вішліст.

🔗 Сторінка Steam: [Посилання на Steam]

https://i.redd.it/0flihg7lwo1h1.gif

Буду радий відповісти на питання про механіки, реалізацію МКС чи фізику в коментарях!

reddit.com
u/Angry_Duck1 — 3 days ago

Чому я не взяв Unity чи Unreal, а витратив 2 роки на власний C++ рушій для симулятора МКС [Beyond The Cupola]

Усім привіт! Мене звати Ілля. Я інді-розробник з Києва та студент КАІ (інженерія програмного забезпечення). Зараз я активно розробляю Beyond The Cupola: ISS Simulator — гру про виживання на МКС у невагомості.

Коли я починав цей проєкт, то прийняв рішення, яке більшість розробників вважає божевільним — написати власний рушій з нуля на C++. Хочу поділитися з ком'юніті тим, чому я обрав цей шлях.

https://preview.redd.it/8mof7omito1h1.png?width=2560&format=png&auto=webp&s=ac51fef3ca6e246d978648399e6f21782c3a0cb5

Як все починалося Мій шлях у програмуванні почався з моддингу Minecraft (Java, архітектура Forge). Пізніше, як і багато хто, я намагався робити ігри на готових рішеннях. Unreal Engine 4 здавався очевидним вибором, але під час розробки відкритого світу я зіткнувся з тим, що рушій занадто перевантажений. Він чудовий для типових ААА, але для специфічних задач і кастомного мультиплеєра мені ставало тісно.

Мене завжди надихав X-Ray зі S.T.A.L.K.E.R. — попри свій вік та однопотоковість, він досі технічно сильний і дозволяє модерам творити дива без бюджетів. Тому я вирішив створити власне середовище. Архітектурно я розділив його: сам рушій збирається як статична бібліотека, а редактор працює як окремий виконуваний файл.

Чому кастомний рушій, а не готові рішення?

  • Абсолютна оптимізація та гнучкість: У рушії немає нічого зайвого. Я маю повну свободу в графіці: пишу на OpenGL 4.5+ та Vulkan, використовуючи сучасні підходи на кшталт Multi-Draw Indirect.
  • Свобода від корпорацій: Не треба тремтіти над ліцензіями чи переживати через скандали на кшталт Unity Runtime Fee. Ти нікому нічого не винен.
  • Безпека: Відсутність готових софтів для ін'єкцій та читів, які масово існують для популярних рушіїв.
  • Вибір бібліотек: Я сам обираю, які фізичні чи мережеві бібліотеки інтегрувати, не прив'язуючись до застарілих рішень "з коробки".

Як народилася гра Після двох років закритої розробки рушія я вирішив протестувати його в бойових умовах на хакатоні NASA Space Apps Challenge 2025 у Києві. Принести туди власний сирий рушій було величезним ризиком, але це стало найкращим стрес-тестом для фізики та рендеру.

https://i.redd.it/h56wlihoto1h1.gif

Після хакатону прототип перетворився на повноцінний проєкт — Beyond the Cupola. Це гра, де виживаєте на МКС, все ламається, і ваша задача — протриматися, ремонтуючи станцію як зсередини, так і у відкритому космосі (до речі, російську локалізацію я повністю вирізав).

Це лише короткий вступ до моєї філософії. У майбутніх постах планую залізти під капот: розповісти про орбітальну механіку, фізику і чому вчити математику таки було варто.

https://i.redd.it/dj9cjmsqto1h1.gif

Як підтримати проєкт? Зараз я активно готуюся до літнього Steam Simfest 2026, тому буду неймовірно вдячний за ваші вішлісти! 🚀Сторінка Steam: [Посилання на Steam]

А всіх, хто також пише свої рушії, любить хардкорний геймдев на C++ або хоче доєднатися до розробки — щиро запрошую до нашого Discord: [Посилання на Discord]

Буде цікаво почути вашу думку в коментарях: хто ще має досвід написання власних рушіїв? З якими найбільшими "граблями" стикалися?

reddit.com
u/Angry_Duck1 — 3 days ago