mapeditor / mapeditor/tiled

Randomly place Tiles from a selection of multiple Tiles from a ObjectCollection. 🧙

Open
#4,556 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
12.9k
Forks
2k
Avg merge
4h 27m
Merged PRs (30d)
8

Description

### Is your feature request related to a problem? Please describe.

As a Level Designer I would often like to also use a random placement feature like I already can with Tilesets - but now also with ObjectCollections. This would be great for easy decoration and versatility placements.
(And I don't want to script extra auto mapping for this)

### Describe the solution you'd like.

I multi-select (holding down CTRL) multiple Tiles from ObjectCollection. And when I place them in the Map, only one of the selected Tile is placed - ranomdly chosen.

Nice bonus would be (implemented via buttons at the top bar maybe?):
- Enable rotation (randomly places in 90° steps)
- Enable flipping (h / v)

Image

### Describe alternatives you've considered.

_No response_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the existing random placement behavior for Tilesets, then trace how multi-selection and placement work for ObjectCollections in the editor. The feature is done when placing multiple selected ObjectCollection Tiles randomly chooses one item, with the requested rotation and flipping options if included.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.