RGDEngine

Журнал

25 фев 2007

Мы перехали. Теперь мы живем на SVN хостинге от Google. Наш новый адресс http://code.google.com/p/rgdengine/

Ссылка

4 фев 2007

Работа над инпутом продолжается. Было запланировано сделать следующие изменения (см. предыдущий пост):

1) сохранение/загрузка раскладки
2) хелпер для потока символов (к примеру для текстового ввода)
3) написать классы для девайсов
4) пофиксить баг, когда при зажимании двух клавиш все последующие нажатия не проходят
5) включение/выключение команд

Из них сделано:

  • сохранение/загрузка раскладки
  • включение/выключение команд
  • Не сделано:

  • пофиксить баг, когда при зажимании двух клавиш все последующие нажатия не проходят
  • Этот баг - следствие аппаратных особенностей клавиатуры. Может он и решается, но пока стоят другие, более приоритетные задачи.

    Делается:

  • хелпер для потока символов (к примеру для текстового ввода)
  • классы девайсов
  • добавить поддержку джойстиков
  • добавить обнаружение дополнительных подключенных устройств ввода
  • добавить обнаружение контролов (например мышь одно- или трех- кнопочная)
  • Обсуждается:

  • создание групп команд (для того, чтобы команды можно было включать/выключать не по отдельности а группами)
  • После дописывания всего вышеперечисленного будет выложена демка. А пока можете смотреть демку из предыдущего поста. Сама библиотека для компиляции тербует установленый dx sdk и boost.

    Ссылка

    29 янв 2007

    Готова к тестированию новая система ввода. Брать здесь. Критика приветствуется.

    Зачем оно надо:
    Идея в том, что гейм-программист не должен задумываться о том, какую именно клавишу нажал игрок, чтобы произвести то или иное действие. Его интересует сам факт, что игрок хочет выстрелить, повернуть голову и т.п. Поэтому появляется две сущности: команда (название для действия игрока) и хелпер (обьект-посредник, с которым работает программист, когда хочет узнать о действиях игрока).

    Команда связывается с контролами ввода (причем для одной команды можно назначить несколько контролов). Например выстрел повесить на ctrl и левую кнопку мыши. Связку связку команда <-> контрол(ы) можно сохранять/загружать (будет реализовано позже).

    Хелперы. Позволяют узнать о срабатывании команд. Поддерживается несколько видов (список будет расширен):
    1) CButton
    2) CTrigger
    3) CKeyUp
    4) CKeyDown
    5) CRelativeAxis
    6) CAbsoluteAxis

    К хелперу можно обращаться в любой момент, чтобы узнать его статус, а так же можно назначить для него call-back функцию, чтобы обработать команду непосредственно в момент ее срабатывания:

    class CTest
    {
    public:
      CTest();
    
      void update ();
      void onFire (bool bPress);
    
    private:
      CButton btnFire;
    };
    
    CTest::CTest ()
    {
      //...
      btnFire.attach(input, L"Fire");
      btnFire += boost::bind(CTest::onFire, this, _1);
    }
    
    void CTest::update ()
    {
      if (btnFire())
      {
        //стрелять, т.к. игрок держит кнопку "огонь"
      }
    }
    
    void CTest::onFire (bool bPress)
    {
      if (bPress)
      {
        //начать проигрывание звука стрельбы
      }
      else
      {
        //остановить проигрывание звука стрельбы
      }
    }

    Что делается дальше:
    1) сохранение/загрузка раскладки
    2) хелпер для потока символов (к примеру для текстового ввода)
    3) написать классы для девайсов
    4) пофиксить баг, когда при зажимании двух клавиш все последующие нажатия не проходят
    5) включение/выключение команд

    p.s. для тестового примера использовалась библиотека viv'а для работы с окнами windows.

    Ссылка

    3 окт 2006

    После полумесяца убитого на работу, преподдавание и прочее, таки переставил систему и приступаю к переписыванию библиотеки инпута.

    Ссылка | Комментарии [3]

    6 сен 2006

    Приветствую, товарищи. Впереди у меня 11 класс, который, хочу я этого или нет, связан с поступлением в ВУЗ.
    Я пробовал совмещать учебу с работой над проектом, но у меня ничего не получалось. Работа всецело поглощала меня (по собственной инициативе, не стоит думать, что всех нас тут палками бьют! :) ) и времени на учебу просто не оставалось. Поэтому я решил временно прекратить работу над проектом до тех пор, пока не поступлю в ВУЗ...
    До встречи!

    Ссылка | Комментарии [7]

    5 сен 2006

    Выложен трек эдитор. Просьба потестить.

    http://rgde.org/files/track_editor.rar (~1mb)

    Ссылка | Комментарии [1]

    4 сен 2006

    Занялся переписыванием системы ввода. Это папка input. А то слишком много кода для обвязки приходится писать, чтобы ввод обрабатывать. Скорее всего изменения коснутся и евентов (event). Евенты меняться не будут, а будут дополнятся. Из ожидаемых фич:

  • поддержка именованных евентов с шаблонным параметром (если не понятно, что такое, то не парьтесь - нужная вещь)
  • сохранение/загрузка раскладки ввода
  • менеджер команд (т.е. можно програмно создавать/удалять/редактировать команды ввода)
  • новый обьект ввода - поток символов (нужен будет для EditBox'ов и тому подобного)
  • Математика (камеры и интерполяторы) уже переписана и неделю как лежит в открытом доступе в папке contribs (проекты Cameras, Track, Innterpolator, TrackEditor). Параллельно займусь переносом математики в основную либу движка. Т.к. все тестовые приложения используют камеры, то прошу обратить на изменения пристальное внимание. А то у вас компиляться ничего не будет =) Если возникнут вопросы по-поводу, что проект перестал работать, то пишите на мыло или стучите в асю.

    Ссылка

    31 авг 2006

    Последний день на старой работе. Радуюсь жутко. Т.к. 2 дня назад отрубили всем рядовым программистам интеренет в рабочее время, и есть подозрение что этим дело не ограничится. Забавно, что за неделю до этого ввели обязательные ежедневные отчеты о проделанной работе. Притензий по отчетам ни к кому я не слышал, следовательно можно расценивать отключение интернета как маразм. Причем мотивация строилась на примере Акеллы и Snowball 2-х летней давности. (в Акелле вроде сейчас интерет не отключают, а вот на счет Snowball - хз)
    Собственно если сотрудник настолько "хочет" работать, что сидит на форумах - то может проще его уволить? :)
    В общем прощай Diamond Scent Ltd. и здраствуй Sibilant :)

    Ссылка | Комментарии [3]

    27 авг 2006

    Ночью приехал в город из деревни. Бук себя оправдал: садишся писать с утра, за окном речка, туман, под рукой банка молока... Красотищща!

    Сейчас займусь перекидыванием того, что написал с ноутбука в CVS (интерполяторы, камеры и редактор треков. многострадальные =) смотреть в Contribs проекты Camera, Interpolator, Spline и  TrackEditor). После одобрения Korak'a перенесу из этих проектов всю математику в основной проект. Так что готовтесь )))

    Ссылка | Комментарии [2]

    24 авг 2006

    В общем так, не знаю кто как, а я ничего не успел сделать за прошедший месяц и тому есть радостная причина - я стал папой. Сейчас возобновляю работы. Отпуск от проекта закончен.

    Ссылка | Комментарии [8]

    10 авг 2006

    Перенёс в здешний форум темы из группы RGDEngine со старого форума GameDev.ru.

    Ссылка | Комментарии [1]

    8 авг 2006

    Я улетел  в Баку, не успел отписать об этом т.к. в последний день в Москве у меня отказал интернет. Буду отдыхать еще неделю. Как появлюсь сразу дам знать новым апдейтом.

    PS: жара тут сейчас дикая, зато есть морее :)

    Ссылка | Комментарии [2]

    30 июля 2006

    Сегодня вечерком уезжаю на отдых. Времени закончить обещанный паблик билд "Убер-системы для FFP", к сожалению, не остается, посему беру проект с собой на флешке, студию, DX SDK и т.д.. И буду пробовать закончить там. О успехах рапортую.

    Ссылка | Комментарии [8]

    24 июля 2006

    Сегодня мне привезли ноутбуку. Теперь буду с двух компутеров писать. Так что вот. Принимаю поздравления =)

    "Теперь мы с нашей муркой в два раза больше сена запасем!" (с) Кот матроскин.

    Ссылка | Комментарии [8]

    20 июля 2006

    Объявляется сбор нашей команды в IRC на канале #rgde, 22.07.2006, в 16-00.

    Вопросы на обсуждение:

  • Текущее состояние
  • Текущие задачи
  • Будущее развитие
  • Идеи\Предложение
  • Изменения архитектуры
  • Далее собрания планирую сделать регулярными. После 17-00 все НЕ участники проекта могут задать вопросы по RGDE.

    Ссылка | Комментарии [6]

    Архив 

    Предыдущие записи