#Little Town
Design your own isometric world,
build a town or a castle,
with this 2D game
#Screenshot
#Roadmap
- [x] Placing & Removing blocks
- [x] Basic Welcome Screen
- [x] Inventory
- [x] Basic block list
- [x] Inventory categories
- [x] p2p local multiplayer (using mdns discovery)
- [x] world selection & better storage
- [x] World selection screen & loading from seperate files
- [x] World creation screen
- [ ] (MAYBE) campaign mode (build & expand a city with limited ressources)
- [ ] Touch control
- [ ] Move screen with 2 fingers
- [ ] zoom camera with pinch gesture
- [ ] place block with single click
- [ ] destroy block with long click
- [ ] Settings menu (i.e for Keybindings and audio)
- [x] Background music (ambient)
- [x] Add more assets
- [x] Placing blocks on the other side of a block (Shift+Mouse)
- [x] (requires) rotate block using Ctrl+Mouse
#Keymap
#in-Game
Action |
Key(s) / MouseButton |
place Block |
Left mouse button |
place Block on inverted face |
<Shift> and left mouse button |
destroy Block |
right mouse button |
Save Game |
S |
Save & Quit |
Q or <Escape> |
#Block orientations
Action |
Key(s) / MouseButton |
North |
K |
South |
J |
West |
H |
East |
L |
rotate CCW |
<Ctrl> and left mouse button |
rotate CW |
<Ctrl> and right mouse button |
#Camera movement
Action |
Key(s) / MouseButton |
Up/North |
<ArrowUp> |
Down/South |
<ArrowDown> |
Left |
<ArrowLeft> |
Right |
<ArrowRight> |
#Inventory
Action |
Key(s) / MouseButton |
Select Item & close inventory |
Left mouse button (on item) |
Close Inventory |
Q , I or <Escape> |
Page down |
<ArrowDown> |
Page up |
<ArrowUp> |
rotate blocks: North |
K |
rotate blocks: South |
J |
rotate blocks: West |
H |
rotate blocks: East |
L |
#Level Select screen
Action |
Key(s) / MouseButton |
Page down |
<ArrowDown> |
Page up |
<ArrowUp> |
Close Screen |
Q or <Escape> |
#Level Creation Screen
Action |
Key(s) / MouseButton |
Close Screen |
<Escape> |
Input |
A - Z or a - z (will be lower case either way) |
#Building
We are currently building binaries
for some distros using the Sourcehut CI.
If your setup is not supported,
or you don't want to use the default features,
you can follow this guide to build the binary yourself.
#Dependencies
- rustup,
cargo
and rust
alsa-lib-dev
(or libasound
depending on your distro) on Linux
protoc
on Linux, with multiplayer
feature enabled
#Steps
- Clone this repo:
git clone https://codeberg.org/comcloudway/little_town
cd little_town
- Download the assets using the provided script:
- Build the binary using cargo:
- The output binary can be found in the
target
folder.
#Credits
The assets are designed by Kenney
and are licensed under CC0 1.0 Universal.
See below or a detailed list:
The Background music has been obtained from pixabay.
The song is called Raining - Ambient Calm Piano Music,
and has been composed by HarumachiMusic.
According to the pixabey license,
it may be used for personal and commercial use.