{"action":"created","issue":{"url":"https://api.github.com/repos/SuperTux/supertux/issues/272","labels_url":"https://api.github.com/repos/SuperTux/supertux/issues/272/labels{/name}","comments_url":"https://api.github.com/repos/SuperTux/supertux/issues/272/comments","events_url":"https://api.github.com/repos/SuperTux/supertux/issues/272/events","html_url":"https://github.com/SuperTux/supertux/issues/272","id":123194292,"number":272,"title":"Editor Decisions [Poll - vote now!]","user":{"login":"Karkus476","id":14023329,"avatar_url":"https://avatars.githubusercontent.com/u/14023329?v=3","gravatar_id":"","url":"https://api.github.com/users/Karkus476","html_url":"https://github.com/Karkus476","followers_url":"https://api.github.com/users/Karkus476/followers","following_url":"https://api.github.com/users/Karkus476/following{/other_user}","gists_url":"https://api.github.com/users/Karkus476/gists{/gist_id}","starred_url":"https://api.github.com/users/Karkus476/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Karkus476/subscriptions","organizations_url":"https://api.github.com/users/Karkus476/orgs","repos_url":"https://api.github.com/users/Karkus476/repos","events_url":"https://api.github.com/users/Karkus476/events{/privacy}","received_events_url":"https://api.github.com/users/Karkus476/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/SuperTux/supertux/labels/category:code","name":"category:code","color":"d4c5f9"},{"url":"https://api.github.com/repos/SuperTux/supertux/labels/category:levels","name":"category:levels","color":"fbca04"},{"url":"https://api.github.com/repos/SuperTux/supertux/labels/involves:editor","name":"involves:editor","color":"207de5"},{"url":"https://api.github.com/repos/SuperTux/supertux/labels/priority:medium","name":"priority:medium","color":"fbca04"},{"url":"https://api.github.com/repos/SuperTux/supertux/labels/type:poll","name":"type:poll","color":"00FFFF"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/SuperTux/supertux/milestones/5","html_url":"https://github.com/SuperTux/supertux/milestones/0.5.0","labels_url":"https://api.github.com/repos/SuperTux/supertux/milestones/5/labels","id":1345155,"number":5,"title":"0.5.0","description":"Every bug that most likely needs bigger code changes that can't be integrated in time for 0.4.0, due in December, and/or changes too much to be considered as bug fix to 0.4.z.","creator":{"login":"tobbi","id":583169,"avatar_url":"https://avatars.githubusercontent.com/u/583169?v=3","gravatar_id":"","url":"https://api.github.com/users/tobbi","html_url":"https://github.com/tobbi","followers_url":"https://api.github.com/users/tobbi/followers","following_url":"https://api.github.com/users/tobbi/following{/other_user}","gists_url":"https://api.github.com/users/tobbi/gists{/gist_id}","starred_url":"https://api.github.com/users/tobbi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobbi/subscriptions","organizations_url":"https://api.github.com/users/tobbi/orgs","repos_url":"https://api.github.com/users/tobbi/repos","events_url":"https://api.github.com/users/tobbi/events{/privacy}","received_events_url":"https://api.github.com/users/tobbi/received_events","type":"User","site_admin":false},"open_issues":29,"closed_issues":0,"state":"open","created_at":"2015-10-08T17:28:45Z","updated_at":"2015-12-21T01:19:27Z","due_on":"2031-10-30T23:00:00Z","closed_at":null},"comments":1,"created_at":"2015-12-21T01:16:54Z","updated_at":"2015-12-21T01:37:49Z","closed_at":null,"body":"Some big decisions need to be made regarding the situation of level editing in SuperTux.\r\n\r\n\r\nIt has been decided that @Hume2 's [in-game level editor](https://github.com/SuperTux/supertux/pull/269) (composed partly of code from and) based around the old in-game level editors will be added for 0.5.0. But what should we have as an external level editor (for more complex things like scripting)? \r\n\r\n\r\n**Here are some options (make a comment if you've got any ideas):**\r\n\r\n\r\n1) Use *only* @Hume2 's in-game editor. Add features like scripting anyway, and possibly rethink the SuperTux GUI? Of course, when considering the two options below, we assume that @Hume2 's editor will be included too.\r\n2) Use [Tiled](http://www.mapeditor.org/) by creating a SuperTux plugin for s-expressions (the SuperTux level format) and squirrel scripting, as well as many, many other things.\r\n```\r\n<Karkus> Is there any way to create plugins for Tiled? A plugin API?\r\n<o11c> Karkus: yes, at least for input/output\r\n<o11c> Karkus: but really it's best just to use the standard formats\r\n```\r\n3) Use [Flexlay](https://github.com/supertux/flexlay). This is already partially developed by myself  ( @Karkus476 ) and @Grumbel , with SuperTux level editing in mind.\r\n4) Use [the c#/mono editor](https://github.com/SuperTux/supertux-editor). It's already very able, and has been used to develop features in the past. It has also suffered from some portability issues, and interest has been decreasing over time. It is not actively being developed, but has potential\r\n\r\n\r\n*Here are some pros and cons for each option, I have attempted to be as unbiased as possible:*\r\n\r\n\r\n**Pros**|**Cons**\r\n-----------|-----------\r\n_Option 1_ - Only Ingame Editor | _Option 1_ - Only Ingame Editor\r\nNo-one would have to download the SuperTux editor. Everything would be contained within the game. There would be no questions asking how to and where to download the editor. | The SuperTux GUI isn't capable of this kind of complexity. It would take literally years of work to get anything done, and we'd likely have to redesign SuperTux's GUI system, or use an externally developed GUI manager\r\n_Option 2_ - Tiled Editor plugin | _Option 2_ - Tiled Editor plugin \r\nAs it's externally developed, we wouldn't have to worry so much about the UI, and other more visible parts of the editor, we could simply create a plugin which worked as a backend to the editor which would create SuperTux .stl and .stwm files. This could make the editor far more stable, and we might have to worry less about portability | There would still be a huge amount of work to be done, and we would be starting from scratch. Some more impressive features like script editing may take longer to implement.\r\nThis may bring more people into the project, and if people recognize the name \"Tiled\", they may be interested in trying level editing. | Some features in Tiled may be incompatible with SuperTux's level format. This could overload the issues page, when people complain\r\nSome publicity may be gained through Tiled (website coverage) and developers may be attracted to the project. | Suddenly working with a huge codebase may make development slow and hard\r\n_Option 3_ - Flexlay Level Editor | _Option 3_ - Flexlay Level Editor\r\nDeveloped especially for this purpose, Flexlay is already halfway to becoming a decent editor. It can already be used to develop SuperTux levels (albeit somewhat limited in this regard) and I have planned to include a built-in scripting API and editor and many other features | Although well developed, some code is going out of date and needs updating (PyQt4 -> PyQt 5?, I've already rewritten worldmap loading!) This could take time, but not so much as complete reimplementation\r\nWritten in Python 3 with PyQt, it is a versatile codebase which will be able to very quickly produce new (SuperTux specific) features and grow into a SuperTux-oriented development environment. | <b>\r\n_Option 4_ - C# Level Editor | _Option 4_ - C# Level Editor\r\nAn already functional SuperTux level editor, what more do we need? | There have been some portability issues and is based around C# (Microsoft, ugh!)\r\nIt has most of the features currently implemented in SuperTux, and has been used to create levels in the past. | Except, no-one's developing it now, and I haven't seen anyone around who's still interested in developing it. Can it keep up with improvements to the normal game (which I'm sure will happen someday)\r\n\r\n## Go ahead and comment your opinion below: 1, 2, 3 or 4. Make sure you evaluate all the possibilities first and if you like, give a reason.\r\n"},"comment":{"url":"https://api.github.com/repos/SuperTux/supertux/issues/comments/166171923","html_url":"https://github.com/SuperTux/supertux/issues/272#issuecomment-166171923","issue_url":"https://api.github.com/repos/SuperTux/supertux/issues/272","id":166171923,"user":{"login":"Karkus476","id":14023329,"avatar_url":"https://avatars.githubusercontent.com/u/14023329?v=3","gravatar_id":"","url":"https://api.github.com/users/Karkus476","html_url":"https://github.com/Karkus476","followers_url":"https://api.github.com/users/Karkus476/followers","following_url":"https://api.github.com/users/Karkus476/following{/other_user}","gists_url":"https://api.github.com/users/Karkus476/gists{/gist_id}","starred_url":"https://api.github.com/users/Karkus476/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Karkus476/subscriptions","organizations_url":"https://api.github.com/users/Karkus476/orgs","repos_url":"https://api.github.com/users/Karkus476/repos","events_url":"https://api.github.com/users/Karkus476/events{/privacy}","received_events_url":"https://api.github.com/users/Karkus476/received_events","type":"User","site_admin":false},"created_at":"2015-12-21T01:37:49Z","updated_at":"2015-12-21T01:37:49Z","body":"My vote goes to 2 or 3, as I personally don't want to work on 4 (C#), and 1 (fullt-fledged in-game) is not practical *at all*"}}