Наслідування в іграх - це насправді одна з найгірших речей, яку ти можеш зробити - зокрема, стосовно юридичних осіб. Прочитайте це для чого. Склад над спадщиною переносить вас довгий шлях з іграми. Що стосується інших областей вашого двигуна, це насправді не має значення. Скажімо, наприклад, ви здійснюєте виклик у якусь послугу зовнішньої мережі, тоді ви можете успадкувати один загальний тип сервісу, наприклад. HTTPService і SocketService - дуже багато, як у корпоративних додатках, до яких ви звикли.
Якщо ваша гра не дуже просто, ви будете хотіти використовувати суті (CBE) архітектуру на основі компонентів. Загальна думка полягає в тому, що в сутностях причина, чому вони так складені, а не успадковується, тому що ви не можете до часу виконання часу знати, які можливості даної сутності матимуть. Наприклад, візьміть корабель гравця в космічному шутрі. Ви не знаєте до певного моменту ігрового процесу, яку зброю, броню, системи (тобто компоненти), який гравець збирає забрати, придбати, продати, програти, знищити і т. Д. Тож єдиний реалістичний спосіб моделювати це через об’єктну композицію. Плюсом цього сценарію є те, що у вас також можуть бути повністю настроювані вороги, побудовані однаково, а не вороги, які завжди однакові щоразу, коли ви бачите цього типу ворога. Так що з CBE, ви можете побачити марсіанський вантажник і подумати: "А, у нього є лише крихітні лазери, я зніму його", і зазвичай це було б правдою, але коли раптом потрапляєш у діапазон, то розумієш, що у нього є велика дупа червоточний пістолет. Сюрприз сюрприз!
Компонентизація - це усунення неявного зв’язку логіки, і це добре.