При начале проекта выбирали движок. Посмотрели и поработали с каждым из вышеперечисленных. С любым из них можно делать open source игру на некоммерческой основе — и если она «выстреллит», купить лицензию на дальнейшую разработку. И это доступно.
Мы выбрали для проекта Unity3d. Если вам чего-то не хватает в бесплатной лицензии для прототипа — вы что-то не так делаете. Группы LOD'ов те же реализовать самостоятельно не проблема.
Такое впечатление, что увидел несколько отрывков из умных книг, сложенных в один тазик. И в большинстве этих книг авторы видят С++ по разному. И каждый опытный программист видит этот язык по своему. Вот вы его видите так. А я немного иначе.
OS/2 API скорее всего представляет собой набор заголовочных файлов, используемых для линковки и компиляции конечного нативного приложения и кроме уровня абстракции (необходимого, впрочем, imho) ничего более не утяжеляет.
Опять же — не знаю, может, не прав. ;)
Я извиняюсь за долгий ответ, правила хабрахабра. Теги также не проходят.
Скажем, стоит задача отправить по сети пакет, сформированный из структуры с данными. Допустим, необходимо обеспечить время жизни этого пакета до окончания его отправки. Необходимо уметь писать и читать структуру из этого пакета.
1. Реализовать для структуры методы serialize() и deserialize(). Проблема кроется в том, что при изменении в заголовочном файле состава структуры можно забыть обновить эти методы. Да и добавление нового функционала не должно требовать изменения старого кода.
2. Просто копировать структуру (конечно, обеспечить простую структуру с pod членами, размер которых не зависит от платформы, выравнивание которой установлено в 1)
void OutStruct::write(std::vector& buffer)
{
data.resize(sizeof(OurStruct));
new (&data.front()) OurStruct(*this);
}
Код написан прямо в форме и может содержать ошибки. Он некрасив, но так я его себе представляю, он избавит нас от необходимости его поддержки при изменении структуры OurStruct.
Является ли приведенный мною пример исключением, которое имеет право на жизнь?
Я только что из Беларуси вернулся, вы у нас бензин (95) покупаете, а продаете вместо 29 рублей (СПб) за 19 (Вся РБ).
И аквапарк за 50 рублей/час радует.
www.unrealengine.com/en/udk/licensing/
www.mycryengine.com/index.php?conid=70
unity3d.com/unity/licenses
Мы выбрали для проекта Unity3d. Если вам чего-то не хватает в бесплатной лицензии для прототипа — вы что-то не так делаете. Группы LOD'ов те же реализовать самостоятельно не проблема.
Пока — при попытке внести в программу объем двигателя не удается напечатать запятую или точку (1.6). (Galaxy Nexus, Android 4.0.4)
Опять же — не знаю, может, не прав. ;)
Скажем, стоит задача отправить по сети пакет, сформированный из структуры с данными. Допустим, необходимо обеспечить время жизни этого пакета до окончания его отправки. Необходимо уметь писать и читать структуру из этого пакета.
1. Реализовать для структуры методы serialize() и deserialize(). Проблема кроется в том, что при изменении в заголовочном файле состава структуры можно забыть обновить эти методы. Да и добавление нового функционала не должно требовать изменения старого кода.
2. Просто копировать структуру (конечно, обеспечить простую структуру с pod членами, размер которых не зависит от платформы, выравнивание которой установлено в 1)
void OutStruct::write(std::vector& buffer)
{
data.resize(sizeof(OurStruct));
new (&data.front()) OurStruct(*this);
}
Код написан прямо в форме и может содержать ошибки. Он некрасив, но так я его себе представляю, он избавит нас от необходимости его поддержки при изменении структуры OurStruct.
Является ли приведенный мною пример исключением, которое имеет право на жизнь?
И аквапарк за 50 рублей/час радует.
typedef std::vector инсерт_ёр_нейм;