diff --git a/docs/04-game-asset-structure/01-default-assets-structure.md b/docs/04-game-asset-structure/01-default-assets-structure.md index fe6ee71..7e70a43 100644 --- a/docs/04-game-asset-structure/01-default-assets-structure.md +++ b/docs/04-game-asset-structure/01-default-assets-structure.md @@ -3,5 +3,82 @@ sidebar_position: 1 --- # Default Asset Structure +--- -> To be added \ No newline at end of file +## Overview + +| | Core Asset | Game Asset | +| :--: | :---------- | :---------- | +|![Overview](./img/overview.png) | - Contains all the necessary game modules.
- Reviewing the [Add submodules](../setup-the-project/add-submodules) for details. | - Contains all the necessary game assets.
- Reviewing the [Create Game Folder Structure](../setup-the-project/create-game-folder-structure) for details. | + +## Asset Folder Structure + +### Asset Loading Manager + +#### Preloads Asset + +Refers to the process of loading necessary game resources (such as images, audio, animations, prefabs, etc.) into memory before they are needed in the game. + +❓ Why Preload Asset? + +🔹Reduce runtime lag: Prevents the game from stuttering or freezing when assets are loaded on demand.
+🔹Improve user experience: Ensures smooth transitions between scenes or when many resources are needed quickly.
+🔹Better memory management: Allows you to control exactly when and what to load into memory. + +#### Postloads Asset + +Refers to the process of loading resources after the game or a scene has already started running. This is often used to optimize initial loading time and to progressively load non-critical assets in the background. + +❓ Why Use Postloads Asset? + +🔹Faster initial loading: Only essential assets are preloaded; the rest can be loaded later.
+🔹Better performance on low-end devices: Distributes memory usage more efficiently.
+🔹Allows dynamic content loading: You can load content only when it’s actually needed (e.g., when entering a specific area or level). + +**Example:** Assets used for background. + +🔹Preloads Asset contains static image with low capacity.
+🔹Postloads Asset contains animation with higher capactity. + +![Asset Loading Manager](./img/assets-loading-manager.png) + +### Asset Platform Manager +#### 💻 Desktop Asset + +Refer to visual, audio, or data resources that are specifically designed to take advantage of the performance, resolution, and user interaction available on desktop computers and laptops. + +🔹High-resolution textures and sprites
+🔹Advanced visual effects (particles, lighting, shaders)
+🔹High-quality audio files (uncompressed or lightly compressed)
+🔹UI/UX elements optimized for mouse and keyboard
+🔹Assets that support large resolutions (Full HD, 2K, 4K)
+ +❓ Why use Desktop-Specific Assets? + +🔹Performance optimization: Desktops can handle larger and more detailed assets due to stronger hardware.
+🔹Enhanced experience: Larger screens and precise input devices allow for more complex and polished visuals.
+🔹Scalability: Developers can utilize advanced shaders, visual effects, or input schemes not suitable for other platforms. + +#### 📱Mobile Asset + +Refers to images, audio, and other data that are specifically designed or adjusted to meet the hardware limitations, screen sizes, and memory constraints of smartphones and tablets. + +🔹Smaller and optimized images (compressed textures).
+🔹UI/UX tailored for touch input and smaller screens.
+🔹Simplified effects with reduced use of heavy shaders.
+🔹On-demand asset loading to minimize memory usage. + +❓ Why Optimize Assets for Mobile? +🔹Hardware limitations: Mobile devices have less RAM and GPU power compared to desktops → assets must be lightweight.
+🔹Storage size constraints: Mobile apps are often limited in total install size.
+🔹Better performance & stability: Lighter assets improve game loading speed, reduce crashes, and enhance compatibility across different devices. + +**Example:** Assets used for background. + + - Assets used for desktop have larger size and capacity than mobile. + +![Asset Platform Manager](./img/assets-platform-manager.png) + +### Asset Feature Manager +#### Main Game Asset +#### Feature Game Asset \ No newline at end of file diff --git a/docs/04-game-asset-structure/img/assets-loading-manager.png b/docs/04-game-asset-structure/img/assets-loading-manager.png new file mode 100644 index 0000000..495121f Binary files /dev/null and b/docs/04-game-asset-structure/img/assets-loading-manager.png differ diff --git a/docs/04-game-asset-structure/img/assets-platform-manager.png b/docs/04-game-asset-structure/img/assets-platform-manager.png new file mode 100644 index 0000000..ff58f8e Binary files /dev/null and b/docs/04-game-asset-structure/img/assets-platform-manager.png differ diff --git a/docs/04-game-asset-structure/img/overview.png b/docs/04-game-asset-structure/img/overview.png new file mode 100644 index 0000000..2e357ba Binary files /dev/null and b/docs/04-game-asset-structure/img/overview.png differ