Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Property enhancements #129

Closed
llafuente opened this issue Dec 21, 2011 · 4 comments
Closed

Property enhancements #129

llafuente opened this issue Dec 21, 2011 · 4 comments
Labels
feature It's a feature, not a bug.

Comments

@llafuente
Copy link

Hi,

I was playing around with tiled for a few time, and I find a big pain the system that actually tiled has to define objects properties for games.
Not because it's not flexible, it's just is not intuitive for new people in a dev team. You should know and remember all the properties needed to do a Door, for example.

So my request is simple.
Either support some Game Data formats (like FGD: https://developer.valvesoftware.com/wiki/FGD) or build a new one.

I think the next part could be like a prototype to build the spec on top.

The Object form has the folowing fields:

  • Name (String)
  • Type (String)
  • Properties (String pairs)
  • X (Float)
  • Y (Float)

Type should be a Choice list and also a Text box (to keep compatibility and support advanced behaviours)
Depend on the selection, Properties get filled.

Properties:
The name could be a Choice list or String
The value now have a type (default: string)
"Do not add more properties" support

Types for value:

  • Object [name]
  • Object [name] but with a type forced
  • Object [property[,]] "link" properties from object into another
  • A color picker with an formatted output for example: r,g,b,a / rgba(r,g,b,a) / #rrggbb etc...
  • Choices list
  • Angle
  • A tile (in use to keep things easy)
  • A tileset (in use to keep things easy)
  • basic types: String, float, integer and TEXT (a big TEXT!!!)
  • basic type combo: for example: integer integer (this could define vector)

Misc
Object to Object relationship could be displayed with a line.
Vectors should be displayed with a line centered in the object.

Format example (JSON-ish)

Vector = {
    value:{ type: ["integer", "integer"] }, // optional at the end, but could be there
};

Switch = {
    initial: { type: "string" : default: "off"},
    target: { type: "object" : default: null, filter_by_type: false, get_property: false, get_name: true},
    delay: { type: "integer" : default: "1000", comment: "milliseconds"},
};

// suppose you have a tile animiation: 0 1 2 3 4...
TileAnimation = {
    start_tile: { type: "tile" : default: "0", comment: "Choose the first tile"},
    end_tile: { type: "tile" : default: "0", comment: "Choose the last tile"},
    fps: { type: "integer" : default: "24", comment: "Frames per second"},
    rotation: { type: "angle" : default: "0", comment: "Rotation in degree"},
};


// suppose you have a tile animiation: 0 1 2 3 4...
Prop = {
    life: { type: "integer" : default: "100"},
    on_fire: { type: "text" : default: "", comment: "This will evaled when the prop life down to cero."},
    on_die: { type: "text" : default: "", comment: "This will evaled when the prop life down to cero."},
};

It's just a propposal...

@llafuente
Copy link
Author

Hi

I'm thinking about it lately, and I think that maybe a have some time to spend here.

Can anyone point me in the right direction, what what files/functions do I need to search...

And If I modify anything will it be in the official release ?

@stefanbeller
Copy link
Contributor

Hi, sorry for the late answer.

Can anyone point me in the right direction, what what files/functions do I need to search...

Well the best thing is to visit us in IRC at http://webchat.freenode.net/?channels=tiled

And If I modify anything will it be in the official release ?

That depends essentially on the coding and design quality. Of course we can help you at discussing the software de# IRC or here.
And it depends a little on the schedule of releasing, the last month before a tiled release is only for bug fixes, translating to all the languages and very final polishing, but there will be just another release after that in a few monthes.
and the schedule.

@bjorn bjorn added the feature It's a feature, not a bug. label May 17, 2016
@bjorn bjorn changed the title [Request] properties enhancement Property enhancements May 17, 2016
@bjorn
Copy link
Member

bjorn commented May 17, 2016

This request contains a huge amount of related features. Some of them have been implemented recently, some are still pending implementation. Here's a list of issues with overlapping scope:

I think it would make sense to open additional issues for other things requested here, and then to close this issue.

@bjorn
Copy link
Member

bjorn commented May 31, 2019

I've lookup up and created more issues about specific things requested here:

I didn't create issues for the following mentioned features:

I'll close this issue now since there would be no point in keeping it open until everything is implemented. Thanks for the great list of suggestions @llafuente! With time I hope to get around to implementing more of them. :-)

@bjorn bjorn closed this as completed May 31, 2019
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
feature It's a feature, not a bug.
Projects
None yet
Development

No branches or pull requests

3 participants