~comcloudway/little_town

Design your own isometric world
Updated the pipeline badge url
Added block-hover highlight
Migrated from nightly channel to stable channel

clone

read-only
https://git.hut.ccw.icu/~comcloudway/little_town
read/write
git@git.hut.ccw.icu:~comcloudway/little_town

You can also use your local clone with git send-email.

LittleTown Banner

#Little Town

Design your own isometric world, build a town or a castle, with this 2D game

#Screenshot

In-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. builds.sr.ht status

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

  1. Clone this repo:
    git clone https://codeberg.org/comcloudway/little_town
    cd little_town
    
  2. Download the assets using the provided script:
    ./fetch-assets.sh
    
  3. Build the binary using cargo:
    cargo build --release
    
  4. 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.