Welcome to LibraCity - city planning on a needle!

Overview

🏙 LibraCity - city planning on a needle!

Tentative entry for LDJam #49 - Theme: unstable.

LibraCity is a city planning game on a needle. Literally. In this puzzle game, the entire city rests on a base plate at equilibrium over a needle. Adding buildings destabilizes the entire city. Complete each level by laying out the required buildings while keeping the stability of the entire city.

Libra City early screenshot

Made in 🦀 Rust with 🕊 Bevy Engine.

How to play

The goal is to place all buildings available in the inventory while keeping the base plate of the city at equilibrium over the needle (the center of the plate). Each building has a weight, making it tilt the plate more or less. Buildings further away from the needle also "count" more toward tilt (level effect).

Controls:

  • W/A/S/D to move cursor (the dark grey cube)
  • Q/E or TAB to change current inventory slot
  • SPACE to place a building
  • R to reset a level and retry
  • ESC to exit game

Buildings

Hut

Weight: 1.0

The building of choice of ermits and other isolated souls.

Chieftain Hut

Weight: 2.0

A larger, heavier, and more imposing hut marking the superiority of the Chieftain of the village.

You might also like...
Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like.

bevy_cleancut Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like. Stuff It's all in the prelude: use bevy_c

Comments
  • Update to Bevy 0.6 and Rust 2021

    Update to Bevy 0.6 and Rust 2021

    • Update to Bevy 0.6
    • Update Rust edition to 2021 to follow Bevy
    • Remove WebGL2 renderer; Bevy 0.6 handles wasm directly
    • Remove custom shader for Boot to simplify it and avoid having to write an entire custom pipeline just to animate a progress bar
    opened by djeedai 0
  • Add Boot sequence

    Add Boot sequence

    Add an AppState::Boot state before the main menu, which loads the critical assets (mainly, fonts) required to display a loading screen, and without which the game cannot start. The sequence should be kept minimal as no user interaction can be provided during this time. Most loading should occur during the AppState::MainMenu state that follows, where some progress and feedback can be displayed.

    opened by djeedai 0
  • Refactor as ECS

    Refactor as ECS

    Refactor the game code as more ECS-oriented, partitioning it in more coherent systems for the inventory management, the level loading, and the deserialization of the levels from disk.

    Move levels definition to assets/levels.json, and load it via a custom TextAsset asset. This ensures it can be loaded in wasm. Handle async loading with "Loading..." text on main menu, and extra MainMenuLoading app state.

    opened by djeedai 0
  • Add web support via wasm build

    Add web support via wasm build

    • Add cargo make targets
    • Add web and native features
    • Switch rendering to webgl2 for wasm, as wgpu is not supported in browsers
    • Convert sound to OGG, as bevy_kira_audio does not support MP3 on wasm
    • Add controls on web page directly for ease of use
    • Work around AssetFolder::load_folder() not implemented in wasm (bevyengine/bevy#2916)
    enhancement 
    opened by djeedai 0
Releases(v0.1.2)
Owner
Jerome Humbert
Jerome Humbert
Hierarchical Task Network Planning deeply integrated with bevy, which I use in my games :P

Note that CI currently tests against a matrix of (windows, mac, linux) * (toolchain stable, nightly) * (cargo build, test, clippy), which ensures vali

null 29 Oct 16, 2024
Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like.

bevy_cleancut Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like. Stuff It's all in the prelude: use bevy_c

Nathan Stocks 3 Aug 15, 2024
A work-in-progress, open-source, multi-player city simulation game.

Citybound is a city building game with a focus on realism, collaborative planning and simulation of microscopic details. It is independently developed

Citybound 7.2k Jan 3, 2023
This crate implements fast route planning algorithms in Rust.

This crate implements fast route planning algorithms in Rust. Algorithms Currently implemented: Contraction Hierarchies: The implementat

Payas Rajan 4 Aug 15, 2021
Abstreet - Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit

A/B Street Ever been stuck in traffic on a bus, wondering why is there legal street parking instead of a dedicated bus lane? A/B Street is a project t

A/B Street 6.8k Jan 9, 2023
Multi-agent (path finding) planning framework

multi-agent (path finding) planning framework Mapf is a (currently experimental) Rust library for multi-agent planning, with a focus on cooperative pa

null 17 Dec 5, 2022
Hierarchical Task Network Planning deeply integrated with bevy, which I use in my games :P

Note that CI currently tests against a matrix of (windows, mac, linux) * (toolchain stable, nightly) * (cargo build, test, clippy), which ensures vali

null 29 Oct 16, 2024
Dfinity's fungible token standard. Any PRs and comments are welcome,collaborate with us to build this standard

Dfinity's fungible token standard. Any PRs and comments are welcome,collaborate with us to build this standard

Deland Labs 46 Nov 7, 2022
Components of Fornjot that are no longer actively maintained. Pull requests still welcome!

Fornjot - Extra Components About These are extra components from the Fornjot repository, that are no longer actively maintained. Fornjot's goal was to

Hanno Braun 4 Jun 6, 2023