Копался в старом. Нашёл:
Nekro_logic: No more visitor
Пост датирован тем моментом, когда он по логике вещей должен был оказаться в блоге, но оного у меня тогда ещё не было ))
8 нояб. 2008 г.
7 нояб. 2008 г.
plainEngine must go on!
Итак:
- Оно работает под MacOS X. Правда на некотороые вызовы runtime, XCode благим матом орёт, мол legacy и 32 bit only. Обидно. Надо делать слой абстракции.
- Оно теперь очень бержёт память, не течёт ею.
- Планируются ещё несколько фич (да, я знаю, пора бы уже закончить их добавлять):
- Оптимизация отсылки сообщений.
- Таки добавлю возможность ответа на сообщение. (небольшие изменения в API :( )
- Слой абстракции над runtime функциями для инспектирования классов.
- Слежение за изменением признаков. (Для удобства заворачивания компонент изначально не предназначенных для plainEngine).
- Некоторые внутренние изменения в подсистеме объектов.
- Так же уже написаны
- MemorySharing subject (общая область памяти)
- MessageAnnouncer subject (отладочный субъект ведущий лог отправлемых сообщений)
- Частично SimplePhysics для Thermal Cubes
- Планируется выделение части ядра в отдельную libMPUtility
- После того как будут выполнены п 3.3 и 5 почти сразу будет Linker ибо MPModule уже написан.
4 нояб. 2008 г.
Немного о фичах
Фичи ядра вцелом:
Основные фичи парадигмы(и немного её реализации):
- Кроссплатформенность
- Модульность (субъекты(код) полностью отделены от объектов(данные); субъекты можно менять на ходу, так что никто этого не заметит)
- Собственная парадигма в основе (тем кто видел, понравилось; в частности можно в рендере можно попросить все объекты которые можно отрендерить; очень удобно моделировать окружающий мир; на эту тему будет отдельное описание с примерами)
- Многопоточность+псевдопоточность (1 субъект = псевдопоток; N псевдопотоков рассовываются по M реальных потоков произвольным образом; внутри одного потока псевдопотоки умеют делать yield и отдавать время соседу(оч.удобно если мы, например, ждём ответа от физики) )
- Контроль целостности объектов (есть возможност зафиксировать часть графа т.е. если у самолёта есть закрылок с углом наклона, то он там и будет пока самолёт целиком не удалят)
Основные фичи парадигмы(и немного её реализации):
- Отделение (общих)данных от кода обработки
- Возможность выборки по признаку
- Возможность реализации перехода признаков (мокрое <-> сухое и т.д.)
- Возможность классификации/кластеризации (не знаю как это может пригодиться в игре (хотя для ГА и нейро сетей...), для data mining рулит)
- Быстрый доступ до общности (т.е. коррдинаты, ориентация и прочее что есть почти у любого объекта), чуть более медленный для признаков (логарифмическая сложность).
- Возможность реализации "составных" признаков (огонь=рисуемый(с-ма частиц)+звук(огонь)+...+тепмпература(значение)+...)
- Система сообщений (очень. быстрая) через которую всё и живёт.
31 окт. 2008 г.
Halloween
27 окт. 2008 г.
Code, freaks and university
Итак всю минувшую неделю готовилсь к коллоку (МАТАН) в универе. А потому ничего нового не написали, лень же не позволяла даже залить свежие сорцы на репозиторий google. А на нашем локальном репе, как нетрудно догадаться, они значительно свежее. В субботу таки сдали злосчастный коллок (на 4, оба). Вчера нашло вдохновение и снова уселись за буки. Итого отловлен эпичный баг в ядре, пофиксен. Оно собрано под окнами. До написания нормального линкера осталось только побороть одну (вы уверены? может больше? O_o не не не!) странность под окнами.
На данный момент я пишу simple render, прикручиаю Horde3D. ChaoX - simple physics и shared memory zone.
Написание документации как-то повисло где-то на мне.
В проекте: адвенчура по манге, инди Thermal Cubes.
Грядёт коллок по линалу...
На данный момент я пишу simple render, прикручиаю Horde3D. ChaoX - simple physics и shared memory zone.
Написание документации как-то повисло где-то на мне.
В проекте: адвенчура по манге, инди Thermal Cubes.
Грядёт коллок по линалу...
21 окт. 2008 г.
Core completed
Сегодня, вернее уже вчера. Мы с ChaoX'ом таки дописали ядро plainEngine.
Осталось (из наиболее важных задач):
Осталось (из наиболее важных задач):
- Linker
- Graphics
- Lua
Подписаться на:
Сообщения (Atom)
