Unreal Script | |
---|---|
Парадигма | об'єктно-орієнтована, узагальнена |
Дата появи | 1998 |
Творці | Тім Свіні |
Розробник | Epic Games |
Останній реліз | |
Система типізації | статична, строга типізація, safe typing |
Основні реалізації | віртуальна машина Unreal Engine |
Операційна система | Мультиплатформна |
Ліцензія | UDK Licensing Resources |
Вебсайт | docs.unrealengine.com/udk/Three/UnrealScriptHome.html |
UnrealScript (також UScript) - це рідна скриптова мова Unreal Engine, яка використовувалась для написання коду та подій ігрового процесу на Unreal Engine до релізу 4-ї версії цього рушія. Мова була розроблена для простого, високорівневого програмування ігор. Інтерпретатор UnrealScript був запрограмований Тімом Свіні, який також створив попередню скриптову мову гри ZZT-oop[en]. UnrealScript компілюється, але не є частиною основного виконуваного файлу. Це робить її ідеальним засобом реалізації та повторення нових елементів ігрового процесу без необхідності перекомпільовувати весь двигун при внесенні змін. Вихідний код є закритим.
Подібно до Java, UnrealScript є об'єктно-орієнтованою без багаторазового успадкування (усі класи успадковуються від загального класу Object), а класи визначаються в окремих файлах, названих відповідно до класу, який вони визначають. У той же час, оскільки UnrealScript використовують в розробці відеоігор, деякі принципи та методології відрізняються від традиційного програмування. Наприклад, немає стандартних явних конструкторів або деструкторів для об’єктів, які можуть викликати суперечність з тими, що використовуються для більш традиційних мов програмування. На відміну від Java, UnrealScript не має обгортки об'єктів для примітивних типів. Інтерфейси підтримувалися лише в Unreal Engine 3-го покоління та кількох іграх Unreal Engine 2. UnrealScript підтримує перевантаження оператора, але не перевантаження функцій, за винятком додаткових параметрів.
У березні 2014 року компанія Epic Games заявила, що Unreal Engine 4 підтримуватиме не UnrealScript, а сценарії(скрипти) ігор на C++. Візуальні скрипти будуть підтримуватися системою візуалізації Blueprints, заміною попередній системі Kismet.
Одним із ключових моментів у розвитку Unreal Engine 4 була серія проведених нами дебатів про UnrealScript - мову сценаріїв, яку я будував протягом трьох поколінь. Нашою метою було зробити її конкурентоспроможною у майбутньому. Ми продовжували переглядати все більше та більше варіантів того, що нам потрібно зробити, щоб оновити її, і хто міг би виконати цю роботу. Ця справа ставала дуже громіздкою. Відбулась масштабна зустріч, на котрій ми спробували розібратися, спробували вирішити, що вирізати, що залишити і ... був момент, коли я подивився на все і сказав: ‘Ви знаєте, все, що ви пропонуєте додавати до UnrealScript, вже є на C ++. Чому б нам просто не вбити UnrealScript, і не перейти на чистий C ++? ‘. — Свіні, Gamasutra, 2017[1]