Skip to content
New issue

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

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

Already on GitHub? Sign in 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 design in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature It's a feature, not a bug.
Projects
None yet
Development

No branches or pull requests

3 participants