Play online at: [https://yuxiaomao.github.io/unity-soko]
Learning project
- Unity Editor Version:
2021.3.12f1 Assets/Audio/BGM/: 魔王魂 MaouDamashiimaou_bgm_8bit01.mp3: 8bit01
Assets/Audio/SE/: 小森平 Taira Komorimove.mp3: select01error.mp3: blip02win.mp3: crrect_answer2
Assets/Localization/Fonts/: 思源黑体 Source Han SansSourceHanSansCN-VF.otf: Subset Variable Simplified Chinese OTF
- Gameplay
- Support multiples player objects in level
- Reset level with
R, undo level withZ
- Menu
- Main menu
- Pause menu
- Level select menu: automatically generated based on
LevelManager.Leveland game progress - Buttons generated by script based on info instead of directly in inspector (voluntary to facilitate adaptation)
- Button navigation with mouse/keyboard, automatic remove/add select for keyboard navigation
- Audio: Music and sound effets
- Localization: with Unity Localization package
- Supported locale: English (
en), Simplified Chinese (zh-Hans, with fontSourceHanSans) - Supported UI element:
- Text TMPro (with prefab
UILocalizedTextTMPset entry with script or in inspector) - Dropdown TMPro (with prefab
UILocalizedDropdown)
- Text TMPro (with prefab
- Supported locale: English (
- Editor
- Level: store/load level data from/to scene with custom editor button (
LevelManager)- Note: To add a level in game, you'll need
Assets/Levels/Level[N].json(can be generated byLevelManagerin Unity editor) and add the level in c# enumLevelManager.Level.
- Note: To add a level in game, you'll need
- Level: store/load level data from/to scene with custom editor button (
- Internal implementation
- Object: each object (player, box, target, ...) works independently, and does not know the global state of the game (voluntary to make difference with the pico-8 version)
- User input: with Unity Input System package
- Scenes: menu and levels are in separate Unity scenes (voluntary to experiment cross-scene functionalities)
- Dynamic asset load from script: with Unity Addressable package
- Unity on Windows
- Visual Studio for Unity
- Visual Studio Code
- git for Windows