Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет nancygold ([info]nancygold)
@ 2024-04-04 02:10:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: contemplative
Entry tags:gamedev

C99 based ECS framework
They implemented a nice a declarative scene-description language:
https://www.flecs.dev/explorer/?local=true&wasm=https://www.flecs.dev/explorer/playground.js

Apparently they integrated it with Unreal engine, which still uses a rigid mess of classes.

Still pretty much a standard ECS implementation.

My personal ECS implementation serves as a drop in replacement for the class-based OOP I had before it grew out of hand. So my ECS allows getting away without creating a components hell while allowing working with entities as nice black-boxed objects. To design entities I either map on top of a classic class inheritance hierarchy or section a single class into parts. And systems are just the triggers invoked every second/turn/step/action-type based of the component presence.

That is because I designed my ECS as a way to build objects bottom up. I.e. I describe what object is, and then system tries to fill in the gaps, allowing me to get in where it fails. I.e. a write "Cyclops is a heavy large strong humanoid", and the system tries to match a set of sounds and behaviors adequate for a humanoid, which is heavy, large and strong. Same way a heavy entity is expected to break fragile objects, like say thin ice. That is kinda important for a tactics game, based of original XCOM.

But yeah, the idea is always the same: one codes components, models the world using these components and then just presses the `run` button to start the game. But I dislike the declarative ways, so it makes sense to expose entities as actual objects, which I can manipulate directly in impure ways outside of your haskell-style monadic systems



(Добавить комментарий)


(Анонимно)
2024-04-04 08:36 (ссылка)
Компания Amazon закрывает магазины с технологией «взял и иди», где не нужно было оплачивать продукты на кассе, а просто уходить с ними. По задумке, компьютер сам распознавал, что вы взяли, и автоматически списывал деньги с карты.

Оказалось, что вместо искусственного интеллекта за всё отвечали больше тысячи индусов, которые по камерам смотрели за покупателями и сами пробивали каждый товар. Часто сотрудники не могли понять, что взял покупатель.

Киберпанк который мы заслужили.

(Ответить)


(Анонимно)
2024-04-04 10:18 (ссылка)
какой-то word salad ебанутого с прогрессирующей шизой.

>I.e. a write "Cyclops is a heavy large strong humanoid", and the system tries a set of sounds and behaviors adequate for a humanoid, which heavy, large and strong, same way a heavy entity is expected to break fragile objects, like say thin ice.

Утверждает, что оно изобрело AGI.

>But yeah, the idea is always the same: one codes components, models the world using these components and

I don't see any idea. "Using components to model the world" doesn't count as an idea worth stating.

>then just presses the `run` button to start the game

As opposed to what?

>But I dislike the declarative ways,

Откуда здесь "but"? "Codes components" не подразумевает декларативности.

>outside of your hakell-style monadic systems

Абсолютно неуместная демонстрация "эрудиции".

___

кроме ссылки на этот ECS, в посте полностью отсутсвует содержиние.

(Ответить) (Ветвь дискуссии)


[info]nancygold
2024-04-04 11:17 (ссылка)
I'm really sorry for my bad writing style.

I will work on improving it further.

(Ответить) (Уровень выше)