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.Level
and 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
UILocalizedTextTMP
set 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 byLevelManager
in 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