Android

Как оптимизировать игру?

Здрасте, делаю экономическую игру и 8 миллиардов экземпляров класса человек почему-то заняли 1150 гигабайт памяти, как это можно оптимизировать? Корпоративизм не предлагать. Сам класс отредачил как мог, пришлось от системы родословной отказаться.
Чушь какая-то... Даже 8миллиардов экземпляров класса не нагрузят комп настолько, даже если зделать им кучу переменных и массивов данных. В игре, которую делал я было 127 образцов ручного оружия, на каждое съемные модули и для оптимизации нагрузки на видеокарту, каждая модель была сделана в нескольких экземплярах с разной степенью детализации, низкая, средняя, высокая и кино... По мере удаления от объекта его модель заменялась на более простую, в зависимости от настроек дальности прорисовки... И папка со стволами весила 700мб, но это вместе с геометрией, с людьми проще у них одна анимированная геометрия может использоваться для генерации множества образов, экземпляр класса просто содержит математические параметры генерации внешности, и только при необходимости отрисовать модель эта математика станет геометрией... Сами же экземпляры будут исчисляться в Кб.
Артур Абдулакимов
Артур Абдулакимов
11 405
Лучший ответ
Хуршеди Рахматшох Да, ошибся, но дела это не меняет. Один экземпляр весит 256 бит, 8 000 000 000 умножить на 256 = 238 Gb.
Артур Абдулакимов Так дойдешь до 150 гигов, а это уже норма по меркам современных игр...
Зачем создавать все 8 миллиардов? Для выделяемых в процессе игры персон - да, создаём экземпляры. Но вся остальная масса - это только цифры и статистические закономерности. Когда людей совсем мало - да, есть какие-то индивидуальные особенности. Но чем людей больше, тем точнее их усреднённое поведение укладывается в простые формулы.

P.S. 238 гигов при 8 миллиардах объектов - это всего 32 байта на один объект. Очень хороший результат.

P.P.S. Делаем модель не одного человека, а страны. И объектов сразу становится - даже с непризнанными странами и особыми территориями - меньше 300.
Рустем Бекиров
Рустем Бекиров
94 200
можно устроить ядерную войну и сократить количество экземпляров класса до 8 миллионов.
Хуршеди Рахматшох Они у меня размножаются, не вариант. Если убрать размножение, то смысл игры теряется, победит Китай, в любом случае.