Тема: Melissa Project
Показать сообщение отдельно
Старый 24.10.2014, 14:39   #1
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Melissa Project

Всем привет! Готовлюсь к релизу беты библиотечки (движка), для создания игр под Android.
Кратко опишу, что на данный момент есть:
  • Билд система. Это приложение, которое собирает проект в двух режимах, это релиз - на устройство, и симулятор, для просмотра на компе. Билд система на фход принимает билд-файл, простой xml с заполнеными полями (планируется гуй). Пока, что полноценно работает под Linux (я виндой уже 5 лет не пользуюсь), на винде, только симулятор.
  • Движок состоит только из файлов подключений и динамических библиотек. Из этого следует, что вам не нужно мучится со сборкой проекта и скачивать зависимости, все уже готово.
  • Для сборки вам достаточно накодить все в main.cpp и выполнить сборщик.
  • Свой формат сцены, в котором объекты находятся как отдельные Entity. Это значит, что вы можете в движке их использовать, например для установки физики по префиксу имени.
  • Экспортер сцены для Blender.
  • Скелетная анимация.
  • Текстуры Png, Jpeg.
  • Light Mapping
  • Normal Mapping
  • Попиксельное освещение
  • Тени от направленного источника
  • Физика Bullet, встроеная в движок
  • 2Д рисуемое на трехмерную плоскость и экран
  • Пост обработка (композитинг)
  • Система частиц

Это, то, что я пока помню.
Для работы на винде, нужен будет компилятор MinGW (TDM).
На линуксе и так все понятно, gcc установленный в системе.

Чем это лучше или хуже аналогов.
Скажу сразу: я не соревнуюсь с гигантами типа Unreal, Unity и т.д.,
я делаю легковесный движок для инди разработчика.

Чем это лучше Ogre3D. Огр крутой, мощный движок, но вы пробовали его собрать?
Чем это лучше Unity, ничем, легковесней.

Вобщем цель движка, писать простенькие игры легко и быстро, без хорошего знания c++, систем сборки и
платформы Android. Это почти так же легко как писать скрипт!

Для релиза пока мешает отсутствие на винде сборки под андроид,
обработка нормалей при направленном освещении, спекуляры,
немного оптимизации и регресс тестирование.

Пример тестового приложения:
#include "m3iRoot.h"
#include "m3iLight.h"
#include "m3iScene.h"
#include "m3iCamera.h"
#include "m3iRootApplication.h"

class Test : public m3iRootApplication
{
public:
    void initialize(m3iSystem *system, m3iRoot *root)
    {
        m3iLight *getRoot()->getScene() = s->createLight();
        l->setPosition(glm::vec3(0, 5, 0));
        l->setDiffuseColor(glm::vec4(0.4, 0.5, 0.6, 1.0));

        getRoot()->getScene()->getCamera()->setPosition(glm::vec3(-3, 7, -3));
        getRoot()->getScene()->getCamera()->setEuler(glm::vec3(50, 40, 0));

        getRoot()->getScene()->loadModelSets("lm.m3json");
    }

    std::string loadingScreenFilename() const { return "loading.png"; }
    void render(double dt) { }
};

m3iRootApplication *createRootApplication() { return new Test; }
Как видите, тут нем void main(), вместо этого реализуется класс с интерфейсом m3iRootApplication, и метод createRootApplication, который вызовет движок при создании.

Ставьте "Спасибо" если вам интересен данный проект.

З.Ы. на этом движке была сделана игра https://play.google.com/store/apps/d...alcdevelop.las
Миниатюры
Нажмите на изображение для увеличения
Название: снимок1.png
Просмотров: 1004
Размер:	552.2 Кб
ID:	21070  
(Offline)
 
Ответить с цитированием
Эти 12 пользователя(ей) сказали Спасибо pozitiffcat за это полезное сообщение:
DStalk (24.10.2014), HolyDel (25.10.2014), Igor (24.10.2014), KCEPOKC (16.11.2014), L-ee-X (18.11.2014), LLI.T.A.L.K.E.R. (27.10.2014), mr.DIMAS (24.10.2014), Nerd (24.10.2014), pax (05.11.2014), Samodelkin (24.10.2014), St_AnGer (24.10.2014), Жека (28.10.2014)