LINUX.ORG.RU

ObjectTalk — объектно-ориентированный «швейцарский армейский нож»

 , , , objecttalk,


0

4

https://github.com/goossens/ObjectTalk:

Welcome to ObjectTalk, a object-oriented Swiss Army Knife providing a Scripting Language, 2D/3D Graphics Engine, Node Based Programming, Audio Engine, an Entity Component System and an Integrated Development Environment to learn and have some fun.

Late 2020, I retired after a 40+ year career in the software and system development business. Starting as a programmer/analyst and later moving up the ladder to management, international standardization and geopolitics, I was exposed to lots of technologies including operating systems design, computer language development, military command and control systems, web application design, data science and what we now call artificial intelligence. You can read my full bio on my website.

After retirement, I dusted off some old projects to improve mental health (applying the «use it or loss it» principle like we do for physical health) and that’s how this repository came about. I started by revisiting a scripting language I wrote decades ago, modernizing it and learning things along the way. Once the language was stable, it needed a few use cases and I dusted off some 2D/3D graphic projects that I had laying around. This then led to including a graphics engine, an Entity Component System (ECS), Node Based programming and a custom Integrated Development Environment (IDE). The latest addition is an audio engine that will help with my musical interests as it provides Digital Signal Processing (DSP) based circuits that can be quickly connected together to create «musical» instruments or create sounds.

So today, this project contains a lot of code, compiles into a single executable with no runtime dependencies and is functional on MacOS, Linux and Windows. It basically is a playground to learn and have fun. Think of it as a educational jack of all trades, master of none.

★★★★★

Последнее исправление: dataman (всего исправлений: 1)

Все компоненты увязаны пайпами, и есть скриптовый язык, чтобы вызывать утили… ой.

Irma ★★★
()

Я хотел сначала сказать «зачем ты опять принёс вайбкод», но потом обнаружил, что репозиторий не генерировался ИИ, он генерировался обычными программами, как то SPIR-V компилятором или Pug темплейтером, и большая часть коммитов ­— это автор играется с тенями и отражениями в шейдерах. Судя по всему, кукуха у деда действительно течёт не по-детски, потому он пытается как-то её спасти.

Если отложить в сторону машинную генерацию шейдеров и документации, то в сухом остатке мы имеем игрушечную (примитивную) реализацию игрового движка на горстке сторонних библиотек и в типовом до-C++11 стиле с колхозным std::shared_ptr вокруг каждого класса — так делали в девяностых-нулевых потому, что требования по производительности диктовали написание на C++, но писать должны были абизяны, которые постоянно где-то косячили с памятью, а сборщика мусора в C++ нет. Собственно, по этой причине над всеми этими C++ машинами часто делали скриптовые движки со сборкой мусора, чтобы абизяны могли ломать логику игры, но от этого хотя бы просто ломались отдельные миссии, а не падала вся игра целиком.

Нафига нужен ObjectTalk, когда уже есть опенсорсные UnrealEngine или Godot, представляющие собой настояшие взрослые реализации — большой вопрос.

byko3y ★★★★★
()
Ответ на: комментарий от byko3y

Нафига нужен ObjectTalk, когда уже есть опенсорсные UnrealEngine или Godot, представляющие собой настояшие взрослые реализации — большой вопрос.

UE опенсорсный довольно условно. Исходники-то открыты, но сделать с этим можно не так уж много, лицензия несвободная. Ну а Godot — это, конечно, хорошо, но пусть будет и альтернатива ему. Когда что-то реализовано больше, чем в одном виде, это обычно плюс для всех. Даже если нет прямой конкуренции, они как минимум идеи могут друг у друга подрезать, в итоге становясь лучше.

CrX ★★★★★
()
Ответ на: комментарий от CrX

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

Какие ещё «идеи»? ObjectTalk не просто шаблонный, он архаично шаблонный, так раньше писали, но уже никто не пишет. Реализации модулей по 30-100 строчек кода. Я в принципе не вижу никакой даже потенциальной пользы от сего проекта.

byko3y ★★★★★
()
Ответ на: комментарий от byko3y

Я в принципе не вижу никакой даже потенциальной пользы от сего проекта.

Сказал, блин, как отрезал. Только вот почему ваше мнение по этому поводу хоть чего-то стоит?

eao197 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.