YSFlightвільний ігровий авіасимулятор для платформ Windows, OS X та Linux.[1]

YSFlight
YSFlight logo
Тип Авіасимулятор
Розробник Soji Yamakawa
Перший випуск 15 травня 1999; 24 роки тому (1999-05-15)
Стабільний випуск 20181124 (24 листопада 2018; 5 років тому (2018-11-24))
Платформа кросплатформенна
Операційна система Windows, Linux, Mac OS X
Мова програмування C++
Розмір 20 Мб(залежно від типу операційної системи)
Доступні мови англійська, японська
Стан розробки активний
Ліцензія BSD-3-Clause
Репозиторій https://github.com/captainys/ysflight
Вебсайт ysflight.com

Історія ред.

Наприкінці 1980-х — початку 1990-х японський школяр Soji Yamakawa[2][3] почав працювати над розробкою та створенням власного авіасимулятора "Formation Aerobatic".[4]

Будучи студентом початкових курсів Університету Карнегі-Меллон Soji працював над власним ігровим рушієм "Blue Impulse 3DG SDK" та програмним рушієм скринсейверів "Saber SDK", які використовувалися для створення 3D-скринсейверів для Windows 95 та демонстраційних програм авіаційної тематики.[5][6]

15 травня 1999 року Soji, вже будучи студентом, випустив перший публічний реліз "YS Flight Simulator (скорочено "YSFlight"), який вже можна було використовувати як наочний посібник для тих, хто хоче ознайомитися з основами пілотування, аеронавігації та зрозуміти як працюють основні пілотажні прилади літальних апаратів.

Проект в першу чергу був орієнтований для запуску на застарілих комп’ютерах з малою потужність і можливостями, згодом розробник почав переключатися на використання більш сучасних механізмів відображення ігрової графіки. Сам інтерфейс та функціональність з часом зазнали змін, і в останніх версіях ігрове оточення виглядає більш реалістично ніж в попередніх, хоча все ще залишається більш спрощеним в порівнянні з іншими сучасними авіасимуляторами.

Однією з головних цілей проекту було створення та використання у процесі розробки власних мінімально необхідних вільних програмних бібліотек:

  • FSGUI Library - вільна бібліотека графічного інтерфейсу, для створення 3D програм на основі технологій OpenGL[7]
  • YS-Class Library - вільна програмна бібліотека для обробки полігонів в 3D просторі та виведення результату на 2D площину[8]

Станом на 2016 рік ліцензія на дані програмні бібліотеки виглядала наступним чином:

About Copyright I keep the copyright of the files included in the package. However, you can use this library for your own product, regardless of free or commercial, proprietary or open source, if you agree to take all responsibility on the consequence of using any contents included in the library package and I will not take any responsibility. If you disagree, please do not use YS-Class library. There is no string attached. Use of this class library will NEVER obligate you to disclose your source code.

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

19 серпня 2022 року автор оприлюднив увесь початковий код YSFlight і таким чином перевів симулятор у розряд повністю вільного програмного забезпечення.[9][10]

Можливості і особливості ред.

YSFlight відрізняється від інших подібних симуляторів, таких як Microsoft Flight Simulator X, тим що стандартні моделі транспортних засобів не містять текстур, а стандартні карти місцевості містять текстури низької роздільної здатності.[11] З іншого боку наявні спрощене відображення кабіни літака та основних аеронавігаційних інструментів роблять його краще зрозумілим для користувачів. Користувач може грати без підключення до мережі, або ж в режимі мережевої гри, в котрому можливе підключення одночасно до 16 YSFlight-клієнтів.[12] Гра добре працює і на старіших комп'ютерах, конфігурації яких зазвичай вже недостатньо для роботи інших сучасних авіасимуляторів.[13]

 
Політ Kawasaki T-4 на низькій висоті у YSFlight.

Версія YSFLIGHT 20150425 вже містить 16 сценаріїв (карт), серед яких є як карти реальних локацій, зокрема таких як Гавайські острови, аеропорти Хітроу та Гатвік, так і футуристичні ландшафти.

Доповнення для гри ред.

Є кілька типів доповнень, котрі може створювати і редагувати кожен користувач:

  • Aircraft - повітряні судна, основний вид доповнень.
  • Ground object - наземні об'єкти, до яких відносяться більшість об'єктів, що використовуються для оформлення сценарію, зокрема будівлі, автотранспорт, морський транспорт, спеціальні об'єкти інфраструктури аеропортів та злітно-посадкових смуг.
  • Scenery - сценарій, що містить карту місцевості та певні додаткові інструкції для руху наземних об'єктів та літаків (повітряні маршрути).
  • Mission - місії гри з наперед визначеними завданнями та/або основним видом транспорту і сценарію
  • Flight - файл збереження гри з усіма параметрами відповідно часових інтервалів (аналогічно запису "чорної скриньки")
  • Misc - різні додаткові об'єкти, зокрема звукові файли, текстури, візуальні моделі окремих видів зброї, візуальні моделі елементів керування.

Формати файлів ред.

Формати файлів доповнень YSFlight наразі є звичайні текстові файли зі спеціальними розширеннями, структура яких визначається як "один рядок - одна опція". Специфікація їх відкрита, але офіційної повної документації немає, і час від часу в залежності від версії вони трохи відрізняються, але в більшості додатки від старших версій працюють і в нових версіях гри.

  • DAT - файл конфігурації повітряного судна чи наземного об'єкту, що містить параметри. Цей файл є основним для визначення траєкторії руху на відміну від методу кінцевих елементів (FDM), динаміка польоту і фізична модель залежить від параметрів, котрі надаються в специфікаціях реальних транспортних засобів, а не від форми 3D моделі. При якісно оформлених параметрах моделювання польоту літака та траєкторії майже не відрізняється від траєкторій в інших сучасних симуляторах.
  • DNM - візуальна анімована полігональна модель літака, наземного об'єкту та кількох інших видів додатків. Структура коду DNM-файлів складається з SRF-блоків (частин) та параметрів їх анімації (обертання, положення, прив'язка увімкнення до визначених клавіш). Деякою мірою формат файлу DNM схожий з форматом AC3D, що використовується для візуальних моделей літаків у симуляторі FlightGear.
  • SRF - візуальна статична полігональна модель. Код цих файлів може бути включений у код DNM-файлів безпосередньо або ж за допомогою відносних посилань.
  • IST - файл конфігурацій візуальної панелі інструментів, для відображення реалістичних циферблатів та індикаторів авіоніки в кабіні літака. Окрім цього в симуляторі є можливість використання нашоломного дисплея (HUD).
  • ACP - файл конфігурації посадкової платформи авіаносців та інших наземних об'єктів.
  • SCN - 3D сценарій (карта) гри
  • STP - файл містить координати стартових позицій для визначених сценарію
  • LST - список шляхів до файлів кожного з встановлених додатків. Увімкнення тих чи інших додатків відбувається після додавання шляхів до файлів відповідних додатків.
  • YFS - в залежності від заголовку всередині файлу, може бути файлом місії або ж файлом запису гри. Структура обох видів дуже подібна.

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

Мережевий протокол ред.

Для створення мережевої гри використовується TCP-протокол, зокрема за YSFlight'ом закріплено порт 7915. Специфікація мережевого протоколу відрізняється в залежності від версії гри, тому з'єднання різних версій в одну мережу стандартним методом неможливе. Але за допомогою сторонніх програм розроблених користувачами цю проблему вирішено зокрема шляхом включення в ролі проксі-сервера програми OpenYS. Офіційної специфікації протоколів розробник не публікував, проте користувачі вже розібрали їх[14][15][16]

Додаткові програми ред.

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

Офіційні додатки ред.

Soji Yamakawa окрім власне симулятора також створив кілька програм з графічним інтерфейсом для полегшення процесу створення доповнень користувачами:

  • PolygonCrest — вільний 3D редактор спеціально розроблений для створення та редагуванн DNM та SRF моделей літаків та наземного транспорту та інших об'єктів. Окрім цього доступна робота з файлами Wavefront OBJ та OFF.[17][18]
  • SceneryEditor — безкоштовний (shareware) повнофункцінальний редактор 3D сценаріїв (карт) та місій, спеціально розроблений для роботи з файлами FLD, STP, YSF.[19][20][21]

Неофіційні додатки ред.

Окрім цього існують кілька програм створених безпосередньо користувачами YSFlight:

  • OpenYS - вільний ігровий сервер написаний на мові C#, котрий може бути використаний для організації мережевої гри між необмеженою кількість користувачів з додатковими можливостями, від початку відсутніми в стандартному режимі гри[22][23]. Ця програма є продовженням раніше створеної програми на мові Python - Orb [24][25]
  • YSFS-blender - набір Python-скриптів для Blender, що дозволяють відкривати і редагувати підтримувані симулятором формати файлів.[26][27]
  • Dynamodel Manager Sharp - безкоштовна програма для налаштування анімаційних ефектів у DNM-файлах[28][29]
  • YSFS machine gun configurator - онлайн-сервіс для створення DAT файлів[30]
  • srf-dnm_three.js - набір скриптів для візуалізації файлів SRF та DNM за допомогою бібліотеки Three.js використовуючи технологію WebGL[31]
  • YSFlight Mission Utility - програма для створення YFS-файлів місій[32][33][34]

Спільноти користувачів ред.

Кількість користувачів за час існування симулятора коливається, але можна сказати що станом на 2016 рік грою користуються на всіх континентах, при цьому більшість з них проживає в Азіатсько-Тихоокеанського регіоні

  • YSFHQ - YSFlight Headquarters - єдина міжнародна спільнота користувачів YSFlight.[35]
  • YSFlight Korea - найбільш активна локальна спільнота користувачів котра сформувалася у Південній Кореї. Особливістю цієї спільноти є якісна організація публічних демонстрацій та змагань з використанням виключно симулятора YSFlight.[36]

Посилання ред.

Див. також ред.

Джерела ред.

  1. YSFlight System Requirements. Архів оригіналу за 23 квітня 2016. Процитовано 27 квітня 2016. 
  2. Soji Yamakawa - PROFILE OF AUTHOR - YSDYNAMICS. web.archive.org. 1 грудня 1998. Архів оригіналу за 1 грудня 1998. Процитовано 1 вересня 2022. 
  3. Soji Yamakawa - Research Associate - Carnegie Mellon University. LinkedIn. Процитовано 1 вересня 2022. 
  4. Formation Aerobatic Support Page - YSDYNAMICS. web.archive.org. 4 жовтня 1999. Архів оригіналу за 4 жовтня 1999. Процитовано 1 вересня 2022. 
  5. Blue Impulse 3DG SDK Support Page - YSDYNAMICS. web.archive.org. 2 грудня 1998. Архів оригіналу за 2 грудня 1998. Процитовано 1 вересня 2022. 
  6. RECENTELY DEVELOPED SOFTWARES - YSDYNAMICS. web.archive.org. 13 жовтня 1999. Архів оригіналу за 13 жовтня 1999. Процитовано 1 вересня 2022. 
  7. YSFLIGHT.COM - FSGUI Library. Архів оригіналу за 13 травня 2016. Процитовано 29 квітня 2016. 
  8. YSFLIGHT.COM - YS-Class Library. Архів оригіналу за 30 травня 2015. Процитовано 29 квітня 2016. 
  9. Updated readme and LICENSE · captainys/YSFLIGHT@a496ba4. GitHub (англ.). Процитовано 1 вересня 2022. 
  10. YSFlight Source Code Released! - YSFlight Headquarters. forum.ysfhq.com. Процитовано 1 вересня 2022. 
  11. About YSFlight - YSFlight Headquarters. Архів оригіналу за 19 серпня 2014. Процитовано 1 серпня 2014. 
  12. YSFlight Review - Flightsim.com. Архів оригіналу за 19 серпня 2014. Процитовано 1 серпня 2014. 
  13. System Requirements - YSFlight.com. Архів оригіналу за 25 листопада 2014. Процитовано 14 листопада 2014. 
  14. YS-NET-TOOLS - A set of tools for YSflight servers under the GPL license. Архів оригіналу за 11 червня 2018. Процитовано 28 квітня 2016. 
  15. YS-NET-TOOLS forked by YSFHQ owner. Архів оригіналу за 11 червня 2018. Процитовано 28 квітня 2016. 
  16. How To Create A Server - YSFlight Headquarters. Архів оригіналу за 4 червня 2016. Процитовано 28 квітня 2016. 
  17. YSFLIGHT.COM - Polygon Crest. Архів оригіналу за 14 березня 2016. Процитовано 28 квітня 2016. 
  18. Polygon Crest Help by Captain YS. Архів оригіналу за 12 травня 2016. Процитовано 28 квітня 2016. 
  19. YSFLIGHT SCENERY EDITOR TEST VERSION (20051003). Архів оригіналу за 17 січня 2012. Процитовано 28 квітня 2016. 
  20. YS FLIGHT SIMULATOR - Untested Version for Debugging Purposes - SceneryEditor(20150202). Архів оригіналу за 23 квітня 2016. Процитовано 28 квітня 2016. 
  21. Scenery Editor Text Tutorials Modding for YSFlight - Scenery Editor (November 2012). Архів оригіналу за 23 вересня 2016. Процитовано 28 квітня 2016. 
  22. OpenYS - Open Source YSFlight Server! - YSFlight Headquarters. Архів оригіналу за 4 червня 2016. Процитовано 28 квітня 2016. 
  23. OpenYS - Server Owner Installation and Usage Tutorial - YouTube
  24. Orb - A Python Based YSFlight Server Extension. Архів оригіналу за 23 вересня 2016. Процитовано 28 квітня 2016. 
  25. Orb: YSFlight Proxy Server Script - YSFlight Headquarters. Архів оригіналу за 4 червня 2016. Процитовано 28 квітня 2016. 
  26. YSFS Blender - Python scripts for Blender 2.49 & 2.60 to import and export YSFlight files (.srf, .dnm, .fld, .yfs). Архів оригіналу за 23 вересня 2016. Процитовано 8 травня 2016. 
  27. YSFS 2.0 - Python scripts for Blender 2.75+ to export YSFlight files (.srf, .dnm). Архів оригіналу за 12 червня 2018. Процитовано 8 травня 2016. 
  28. Dynamodel Manager Sharp - DNM-editor for YSFlight. Архів оригіналу за 30 травня 2016. Процитовано 28 квітня 2016. 
  29. Dynamodel Manager Sharp - DOWNLOAD. Архів оригіналу за 30 травня 2016. Процитовано 28 квітня 2016. 
  30. YSFS machine gun configurator online. Архів оригіналу за 24 серпня 2016. Процитовано 28 квітня 2016. 
  31. srf & dnm(model format for YSFlightSimulater) importer for three.js. Архів оригіналу за 11 червня 2018. Процитовано 28 квітня 2016. 
  32. YSFlight Mission Utility | SourceForge.net. Архів оригіналу за 23 вересня 2016. Процитовано 28 квітня 2016. 
  33. YSFHQ/YSFlightMU: The YSFlight Mission Utility allows users to create custom save files for use with the YSFlight Simulation... Архів оригіналу за 11 червня 2018. Процитовано 28 квітня 2016. 
  34. YSFlight Mission Utility User Guide. Архів оригіналу за 5 травня 2016. Процитовано 28 квітня 2016. 
  35. YSFlight Headquarters forum. Архів оригіналу за 18 квітня 2022. Процитовано 16 травня 2022. 
  36. YSFlight Korea website. Архів оригіналу за 7 листопада 2016. Процитовано 6 листопада 2016.