{{notification.text}}

MirGames

MeF Dei Corvi

MirGames Dev
Питер
Зарегистрирован 20.03.03 20:12
Последний раз был в сети 19.05.17 00:54
200 
MySQL и SQLite: что быстрее?
02.04.16 11:47

Все равно fopen быстрее этих вашей query

Базы данных достаточно умные, чтобы часто используемые данные держать в памяти, а чтение из памяти на порядки быстрее файловой системы. Тем более, что после fopen данные сначала пойдут в RAM :-)

Путин против Инопланетян (Демо внутри)
02.04.16 11:43

Ну в игре планирую 3 миниигры, так что не морхухном единым) Делаю с одной целью - отследить тэнденцию скачек игр на гугл плэй, ибо по неведомым причинам крайне слабые игры (про того же путина) имеют десятки тысяч скачек, и даже сами разработчики, зачастую, не знают, отчего так. а имея хоть один "взлетевший" проект можно его развивать, прикручивать рекламу, ну и ,как результат, иметь пассивный доход. А дальше можно сидеть и спокойно разрабатывать то что хочешь, для души, так сказать.

Действительно, уже более 10000 закачек, 653 пятерок при средних четырех звездах и почти тысяче отзывов. Удаётся получать доход от этого?

Сайта нету в каталогах
02.04.16 11:33

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

MySQL и SQLite: что быстрее?
22.03.16 23:34

Ты пытаешься сравнивать теплое и мягкое. Всё зависит от задачи и требований. SQLite хорош именно как встраиваемая база данных, т.е. подходит для работы только с одним клиентом, что хорошо для десктопа. Для серверных приложений рано или поздно возникает потребность в горизонтальном масштабировании, или в high availability, тогда у тебя будет несколько серверов бэк-энда и несколько серверов MySQL с репликацией и шардингом. А что до чтения... то быстрее будет CouchBase :-) Или redis/memcached.

А вообще современные ORM позволяют не привязываться к хранилищу данных. Да даже и без ORM, если использовать простые выборки без лишней магии, то переезд с MySQL на любое другое SQL хранилище занимает не так много времени.

Т.е. основной вывод - код нужно писать так, чтобы было без разницы, SQLite под капотом, Oracle или MySQL.

Я в MirGames использую MS SQL и MongoDB, хотя постепенно данные мигрируются в Mongo. При этом у меня почти нет ни одного JOIN.

Texture Error GLscene
19.11.15 01:27

Здесь, кстати, у людей схожая проблема. Судя по всему, это баг в GLScene, который уже должен быть исправлен. В обсуждении речь шла о том, что в GLGraphics.pas используется метод glTextureParameterf с неправильной сигнатурой. Возможно, что вы используете версию без фикса, а скомпилированный exe файл содержит этот фикс.

Texture Error GLscene
19.11.15 01:07

Когда запускаю скачанный готовый проект то текстуры есть, но после компиляции сразу пропадают текстуры.

Глупое, наверное, предположение, но может быть просто файл не загружается? Скажем, он не попадает в папку "texture", или программа пытается загружать его не оттуда, откуда должна? Я бы предложил указать абсолютный путь в SetCurrentDir на случай, если по какой-то причине CurrentDir при запуске отличается от ожидаемого (что GetCurrentDir до этого вызова возвращает?).

Или версия GLScene отличается от той, что использовалась в готовом проекте, и с тех пор API поменялся.

ZenGL Столкновения
06.05.15 01:45

Хм, вероятно проще всего связаться с Andru, хотя в целом сама по себе задача поворота произвольного прямоугольника вокруг некоторой точки достаточно простая: http://www.tvd-home.ru/prog/13_7 или http://www.codenet.ru/progr/cg/lec_1_2.php

Т.е. применяем поворот для всех четырех точек, ну и дальше считать столкновения прямоугольников. Можно по http://algolist.manual.ru/maths/geom/intersect/convex_intersect.php. Хотя это от задачи зависит, можно просто для четырех точек одного прямоугольника проверить не находятся ли они в другом прямоугольнике (http://algolist.manual.ru/maths/geom/belong/poly2d.php).

Или вот на SF ответ: http://stackoverflow.com/questions/10962379/how-to-check-intersection-between-2-rotated-rectangles

Начинающий композитор, ищу заказы.
02.02.15 22:27

Должен отметить, что Unstoppable звучит здорово, ре-минор, если не ошибаюсь. И Convince (ре фригийский вроде?). На игру типа Arcanum, мне кажется, хорошо бы легли.

Отрисовка объекта
08.12.14 23:34

Правда, в случае с OpenGL здесь есть ещё некоторые хитрости с сохранением состояния в render, ну т.е. флаг, выставленный одним объектом, может ненароком повлиять на другой. В этом случае часто вводят абстракцию некой StateMachine, которая следит за состоянием и не дергает без нужды glEnable, glDisable, etc..

Отрисовка объекта
08.12.14 23:29

Надеюсь, что я понял вопрос правильно.

Обычно делают, условно говоря, независимые модель и отрисовку. Т.е. модель - это набор объектов в системе, которые каким-либо образом взаимодействуют друг с другом, имеют позицию в пространстве, и т.п. И отдельно отрисовка, которая их, собственно, и рендерит.

Чаще всего создаются классы сущностей, в каждом классе есть методы Render и Update. Я бы на самом деле сделал пару интерфейсов IRenderable и IUpdatable, но это уже на вкус и цвет.

Соответственно, есть глобальные методы Render и Update, которые проходят по сущностям и отрисовывают их. При этом используются некоторые оптимизации, в зависимости от системы. Например, не вызывают Render для тех объектов, которые не попадают в область видимости. Сущности могут лежать как и в простом списке, так и в виде дерева (binary tree, quad-tree). В виде дерева проще определять возможные столкновения объектов, ну и оптимизировать ренденинг.

Ну т.е. в простом варианте в псевдо-коде что-то вроде

TMesh cube = ObjectsFactory.createCube(); // создаём куб
cube.setPosition(new Vec3(x, y, z));

Scene.addEntity(cube); // добавляем куб на сцену
...
class Scene {
    TMesh[] entities;
    ...
    addEntity(TMesh mesh) {
        this.entities.add(mesh);
    }
    ...
    render() {
        for (int i = 0; i < this.entities.length; i++) {
            this.entities[i].render();
        }
    }
    ...
    update(double delta) {
        for (int i = 0; i < this.entities.length; i++) {
            this.entities[i].update(delta);
        }
    }
}

class TMesh {
    void setPosition(Vec3 position);
    ...
    void render() {
        // отрисовка объекта
    }

    void update(double delta) {
        // обновление объекта с учетом delta - количеством секунд, прошедших со времени последнего обновления
    }
}

Можно даже попытаться render и update в разных потоках производить. Только аккуратно :-)

Как альтернативный вариант реализации, можно модель держать совсем отдельно - т.е. никаких методов Render. И отдельно создавать классы, которые занимаются только рендерингом. Это в некоторых ситуация позволяет отвязаться от используемой графической подсистемы или движка.

Разделы форума
23.11.14 22:52

Мне кажется, что существующие разделы форума уже не отражают реалии современного мира. Итак, сейчас есть следующие разделы:

  • DirectX API
  • OpenGL API
  • Игроделание
  • Алгоритмы
  • Delphi & Pascal language
  • Языки C
  • Графика
  • Конкурсы по программированию игр
  • WinAPI
  • Сети
  • Mobile GameDev
  • Ваши проекты
  • Объявления о сотрудничестве
  • Работа сайта
  • Различные железячные вопросы, новости
  • Потрепаться
  • Литературный

Мне кажется, что Delphi и Языки C не нужны. Можно объединить в "Языки программирования". DirectX, OpenGL на мой взгляд тоже можно объединить в один форум Общее. Игроделание - это тоже слишком абстрактно.

Я думаю о следующем наборе:

  • Общее
  • Игровые движки
  • Инструментарий
  • Дизайн игр
  • Мобильная и консольная разработка
  • HTML5 разработка
  • Алгоритмы и языки программирования
  • Моделирование и графика
  • Конкурсы по программированию игр
  • Ваши проекты
  • Объявления о сотрудничестве
  • Работа сайта
  • Потрепаться

Ещё я хочу почистить форумы от всякого накопившегося шлака...
Что вы об этом думаете?