З'ясуйте вузьке місце
Кілька сотень рухомих об’єктів не повинні бути проблемою. Однак може бути кілька сотень об’єктів, що стикаються. Пройде певне тестування, але я вважаю, що у вас вузьке місце - це зіткнення.
До речі, про скільки об’єктів ми говоримо? Що таке платформа? Сто об’єктів для мобільної гри - це не те, що сотня для веб-гри, а сто об’єктів для настільної гри.
Перевірте ту саму гру, але зіткнення між вирізаними об'єктами вимкнено, і подивіться, чи не затримаєте ви її на подібних об'єктах. Якщо це так, це означає, що велика кількість предметів є причиною неприємностей; інакше проблема зіткнень.
Це інформує ваше рішення про те, що ви зробите для підвищення ефективності. Не всі наведені нижче ідеї застосовуватимуться, і вам все одно знадобиться тестування.
Я не буду говорити про оптимізацію великої кількості об'єктів, далеких від програвача, оскільки, здається, проблеми виникають при взаємодії з об'єктами.
виникає проблема, коли ви змушуєте їх рухатися.
Якщо проблема виникає під час взаємодії з об’єктами, незрозуміло, як видалення невидимих об’єктів вирішить її ... все ж, я припускаю, що це може допомогти.
Я просто скажу, що якщо об’єкти, далекі від гравця, є проблемою, ви можете почати, маючи менші рівні, або роздивитись на поділ гри на шматки, які ви можете завантажувати та розвантажувати залежно від того, куди грає.
Поза межами
Я вважаю, що, якщо мова йде про очищення щебеню, перше, що потрібно - це видалити предмети, що знаходяться поза межами. Наприклад, шматок, який впав у яму. Якщо гравець не зможе дістатися туди, щоб побачити це, немає ніяких причин тримати його навколо.
Я повернусь до цього.
Зробіть це більш реалістичним (частина 1)
Коли ви ріжете деревину пилкою, сокирою чи подібним інструментом, то втрачається матеріал (на тирсу, стружку тощо). Навіть якщо ви ріжете лазером, лазер спалить трохи деревини. Крім того, для речі, яка не є деревиною, зазвичай буде деформація навколо розрізу, руйнування тощо.
Я говорю, що розріз не є ідеальним, і деякий матеріал буде втрачений. Ви можете моделювати це у своїй грі. Ця чарівна різання червоного кольору має товщину. Видаліть цю товщину з предметів (додайте ефектів частинок, якщо ви відчуваєте себе занадто винними).
Це означає, що ви не зможете вирізати нічого, що менше тієї товщини, насправді спроба зробити це видалить його з гри. Це добре! Це означає, що у верхній межі є кількість щебеню, яка там буде, і є механічно обгрунтований спосіб її очищення в грі.
Міняйте передачі для дрібних предметів
Це буде працювати краще, якщо проблеми будуть зіткненнями.
Коли об'єкт занадто малий, деталі різних кутів у ньому менш актуальні. Ви можете перейти на менш точний механік зіткнення. Наприклад, ви можете використовувати колісні кола.
Ви можете поводитися з ще меншими предметами без зіткнення між собою; розглядають лише зіткнення між ними та об’єктами агента (наприклад, аватара гравця або контрольовані символи AI).
Нарешті, дуже маленькі предмети можуть просто перетворитися на пил (ефекти частинок).
Зробіть це більш реалістичним (частина 2)
Це буде працювати краще, якщо проблеми будуть зіткненнями.
Матеріал деформується і руйнується під тиском. Якщо ви закінчилися довгими предметами з дуже малою товщиною, розбийте їх на більш дрібні предмети, щоб вони могли скористатися рішенням вище.
Ми можемо зробити вигляд, що він мав занадто малу товщину, що він руйнується і ламається при ударі.
Об’єднання об'єктів
Це буде працювати краще, якщо проблема з кількістю об’єктів.
Поширений трюк, який багато ігор використовують для боротьби з великою кількістю краплі, яка може зашкодити продуктивності, - це згуртування крапель разом.
Можна спробувати щось подібне для невеликих предметів, які знаходяться поруч. Нехай вони стануть єдиним об’єктом. Однак я не маю на увазі склеювати шматки. Я маю на увазі створити єдиний об’єкт для обробки їх фізики; Ви все ще можете представляти окремі фрагменти, що складали об'єкт, можливо, використовуючи методи, подібні до ефектів частинок.
Зробіть це більш реалістичним (частина 3)
Ви чули про вітер? У реальному світі вітер.
Використовуйте вітер, щоб відштовхнути дрібні предмети.
Я знаю, що це може здатися протилежним інтуїтивно зрозумілим, бо це означає, що дрібні предмети не отримують спокою, принаймні не відразу. Прочитайте нижче, перш ніж приймати рішення.
Ви можете використовувати вітер, щоб відштовхнути невеликий предмет до того, як вони почнуть накопичуватися. Що буде краще, якщо ви використовуєте оптимізацію для невеликих об’єктів (наприклад, комбінуючи їх або видаляючи зіткнення між ними).
Крім того, якщо ви можете використовувати вітер для підштовхування предметів до ям чи іншим чином поза межами, ви можете використовувати привід для видалення предметів. Я сказав вам, що я повернусь до цього. Навіть якщо ви цього не зробите, це може послужити приводом для видалення невеликих предметів, які знаходяться занадто далеко від гравця, просто робите вигляд, що вітер позбувся їх, поки гравець не шукав.
Ви можете видалити деякі предмети, поки гравець не дивиться, у вас є моє благословення.
На додаток до цього, тепер у вас є привід додати вітер, який ви можете додати вітру як частину іншої механіки чи перешкод у грі. Ви навіть можете додати в розповідь дух вітру, який намагається утримувати речі в чистоті, якщо ви так схильні.
Примітка : Вам не обов’язково запускати вітер, коли для очищення є сміття (хоча це може спрацювати), можливо, вітер може траплятися з випадковими інтервалами.
Бобри!
Якийсь дратівливий бобер підійде і вкраде ваш ліс!
Тепер у вас є тип ворога!
Крім того, звичайно, вони прибирають деревину, поки ви не шукали. Ви навіть можете спроектувати це, щоб повернутися, щоб побачити одного бобра, який тікає з деревом, куди раніше була купа. Це зробило б незабутні хвилини, пояснить, чому деревина зникла, і вирішить деякі проблеми із виконанням, з якими ви стикаєтесь, і все відразу.
Це все компроміси
Існують обмеження платформи чи вибраних вами інструментів, навіть час і бюджет, який ви маєте на розробку гри, є обмеженням. Ви не можете зробити ідеальну імітацію реальності, тим НЕ менш . Ніхто не може .
Кожен розробник працює в межах тих обмежень, які їх цільова платформа та інструменти, які вони їм на той час наклали, і найкращі ігри повинні були робити компроміси, щоб зробити гру веселою та захоплюючою ... навіть якщо це означає менше реалізму, насправді, часто вони веселі та захоплюючі, тому що вони не реалістичні.
Нехай творчість виходить із цих обмежень.
Хоча, ви також можете зробити свою гру більш реалістичною , вибравши частини реальності, зручні для вашого розвитку. Врахуйте, що іноді видалення предметів, які знаходяться вдалині від гравця, є частиною витрат на створення веселої гри.