*The embedded demo is from the Pro version. Godot 4.4+

The goal of this project is to give you all the tools you might need to make a base builder game. The architecture is designed to be expandable and easy to use.


Basic Features (Free)

  • Ghost Builder: Places buildings in-game.
  • Gridmap Builder: Places buildings in the editor (for level design).
  • Basic building components:
    • Base collision – generates a collision shape based on BuildingData.size.
    • Base highlight – highlights the base of the building.
    • Building highlight – highlights the building on request.
    • Grid lines – renders gridlines around the building.
    • Range outline – renders a dotted line within range tiles of the building.

Extra Features (Pro)

  • Includes all Basic Features.
  • Extra building components:
    • Building selection – detects selection via mouse input.
    • Building UI – a basic interface to control the building.
    • BBCode Popup – animates BBCode text popups.
    • Progress indicator – shows a progress bar above the building.
    • Under-construction – renders construction/repair/upgrade state, and disables the node while active.
  • More features and updates coming soon...

Tutorial

  • Download the source code.
  • Drag and drop the "core" folder into your project.
  • Use core/example as a guide to create your own levels.

How to Make a Building

A building needs 3 items: Mesh scene, Building scene, and BuildingData resource.

  • Mesh Scene: A simple MeshInstance3D with your building model. Ensure the node is above the floor (y > 0) and centered on X and Z axes. You can change the transform attributes as you see fit.
  • Building Scene: Uses a StaticBody3D as root with the Building script attached. Add:
    • The mesh scene as a child.
    • Base collision.
    • Other optional components.
  • BuildingData resource:
    • Set size to define how many tiles your building occupies.
    • Leave surface collision layer as default if unsure.

How to Make a Level

To create a level, you need:

  • Static bodies that make up the level’s design.
  • Ghost Builder + Building Button + Camera3D.
  • Gridmap Builder.
  • An empty BuildingContainer node.

Important: Pay attention to your static bodies’ collision layer. If it doesn’t match the building’s surface collision layer, the building cannot be placed overlapping it.

The Building Button opens the Ghost Builder inside the level. You can replace it with another implementation, but make sure to call: ghost_builder.open(building_data).

To use GridmapBuilder: Create an empty MeshLibrary, add the BuildingData resources to buildings, and the node will auto-update the library. Buildings placed in the Godot editor will then instantiate when the game starts.


HELP

If you need more help, please leave a comment on this page. I'll try my best to answer everyone :).


Credit to Kaykit: https://kaylousberg.itch.io/city-builder-bits

Download

Download NowName your own price

Click download now to get access to the following files:

Source Code (Pro) 12 MB
Source Code (Free) 12 MB

Leave a comment

Log in with itch.io to leave a comment.