Google Summer of Code 2017

His pull request is here: Change current layer depending on selected objects, usability issue #1424 by Glavak · Pull Request #1466 · mapeditor/tiled · GitHub

No project is really taken yet, there’s just multiple people expressing interest in the same thing. But Connecting Objects and Object Library projects seems not the most popular, so you could have a good chance with them. Actually the “Connecting Objects” task depends on PR #1408, so one way to prepare for that would be to help that one to get merged. All feedback from my last review is still open currently. If you’re interested in helping, I would suggest first asking the author what his status is.

Sure, here is my github: https://github.com/Glavak
But source code of games from Google Play is not in public access, but if you want I can send or publish it, there is nothing secret there.
I’ve looked through the wiki page, Connected Object seems interesting (I actually could make use of this feature in one of my games). If I understand the procedure correctly, I should explicitly choose a project, write proposal with my plans and deadlines, and if multiple students choose the same project idea, there is going to be some king of competition between them?
@bjorn, I’ve seen this PR when reading about Connected Object idea, I’ll take a closer look at it.

Hopefully @leonidax can provide some answers here, because he’s participated in GSoC before. In the end, the Tiled organization will request a certain number of slots, and the students will submit their applications to Google (there will likely be more than we will request slots). Google, in their infinite wisdom, will decide the final number of slots we get allocated and which students will get to participate.

We are three mentors in total currently, which are me, @leonidax and @Ablu. I could mentor two students, and maybe the others take one each, which could mean that we’ll request 4 slots.

2 Likes

Thank you!

What do you think about automatic style guide checking when make pull request? For example, it can be implemented using vera++ . Also it can be used to check locally.

UPD: Here the project where vera++ used with Qt : https://github.com/trikset/trikRuntime

Well automatic style checking is always nice, but I never heard from vera++ and I’m not sure if it would work along with Qt, in any case I think @bjorn has already something in place for this topic but I’m not sure. In any case I don’t think this idea would be enough for a GSoC project, it would need to be done along with other general improvements.

I doubt @a.sharganov was suggesting to do this as a GSoC project, but merely that it could help enforce certain rules in a way that would save us all a bit of time compared to the current approach of me pointing our minor coding style issues in each submitted patch.

I would welcome the use of an automatic style checker, so this could make a nice pull request, at least the initial setup. I have actually nothing set up for this currently.

2 Likes

I tested clang-format at some point. That looked very promising. I only
automatically formatted code with it, but I guess one can also use it to
check existing code…

Yes, I thought about this after making two commit with code style fix :slight_smile:

Ok, i can start it now but i don’t known how much time it can take.

Hello.
I am fourth year applied mathematics student.
In last year I completed an six-month internship. I got a lot of experience in c++, qt, git and other technologies.
I’d like to work on the project Object Library or Add Scripting Capabilities.
Now i am trying to solve this https://github.com/bjorn/tiled/pull/1481.

2 Likes

Hello @bjorn and @leonidax,

I am a first year computer science and mathematics student. I’m extremely excited to start contributing to tiled. I started working with the software to get a feel for how it worked, and was blown away by it’s capabilities. I think it solves a problem that not much else is doing as well right now. And I feel I could contribute something significant to its development.

I had a few ideas of projects to work on.

  1. From your idea list, I’m very interested in wang tiles, and would love to research into, and implement it into functions of a fill bucket and brush.

  2. What really excited me when working in tiled was the terrain brush. It’s a beautiful and simple tool, which makes map creation a dream. My idea would be to add a function which takes a tile set, and automatically generated the terrain information in a single click. I believe this is a totally doable feature, and would drastically improve the workflow of terrain building.

  3. When navigating the software, it seems there is opportunity to add several quality of life upgrades to pieces of the interface. Like for example the ability to click and drag to change layer order. I’m not sure this is a significant enough project for GSOC but could be paired with other items?

I’d really appreciate feedback on these ideas. Especially with the latter 2, like if a similar idea already exists, or is being implemented. As well which would be best to pursue further, for the betterment of Tiled.

Some about me:

I’ve been programming for the last few years, mostly working on personal projects. This would be my first time doing open source work, and I’m thrilled to learn all about it, and make meaningful contributions!

I’ve mostly worked with C#, C, and java. And am currently learning C++ as quick as I can for this project! I’ve worked extensively with git.

Many of my projects have been done within a team, though most have been independent.

A lot more about me, and stuff I’ve done can be found on my website :
Bentrotter.com
It’s currently in progress of being built, so more is to be added.

Thanks for taking the time to read!
Benjamin Trotter
bdtrotte@ucsc.edu

1 Like

Hey @Vitek1425 and welcome! As you noticed, that issue turned out to be a little more work (also more than I had expected), as is unfortunately often the case. Thanks for your hard work to try getting that resolved!

We’ll see whether Object Library or Script is a good fit, but since we have many candidates I think it would also make sense to consider other projects. I could imagine for example to revive the possibility of supporting bezier curves (issue #562 and pull request #776). Would that also be interesting?

Welcome @Benjamin_Trotter! It sounds like indeed the Wang tiles could be a good project for you, though of course there have also been others expressing interest.

The the ability to click and drag to change layer order is something I planned to work on soon, but you may feel free to have a go at it instead and I’ll be your reviewer. I think it will be 1-2 days of work, though mind you it got a little trickier on the master branch because the layers now form a hierarchy. But, it’s fine if you’d prefer to stick to the hexagonal rotation support now (just let me know).

1 Like

@bjorn, since I’ve finished (almost) the custom shortcuts for commands task now, can you suggest me what issue should I move on to now?

You could continue in the area where you’ve already made contributions by working on issues #941 or #942, for example. However, you should probably consider what kind of project you’d like to apply with and see if there is anything you could do that has some relevance to it.

I’m not exactly sure, as to which project I’m interested in. Previously I was hoping to apply under ‘General Improvements and Bug Fixes’ but I’m assuming it won’t be of much priority.

After contributing a bit, I’m getting interested in the ‘Scripting Capabilites’ one. I was going through the documentation of QJSEngine today and I’m thinking of making a prototype for this before submitting my proposal. Is this a good idea or should I try fixing the issues you mentioned first?

1 Like

Feel free to look into prototyping a solution for making Tiled scriptable, but be warned that this is a tough one and there are already 5 others who have expressed interest in that project. I think making general improvements could be a better proposal. That of course requires that we define a list of interesting things to improve, which isn’t necessarily the list mentioned on the wiki. You could browse the issues or make up your own things to see if you can fill up about three months.

I wrote first version of Tiled proposal, would be grateful for the feedback :slight_smile:

Some question:
What’s about Tiled code sample?
Should i include implementation details like UML diagrams or text is enough?

1 Like

Since you made a PR, I think the details there are enough…

Regards,
Ablu

Ok, thanks for the answer

@a.sharganov yes the pull request is enough.

No UML diagrams, mockups or images are required but they might help to communicate some ideas, I know that planning and estimation might be tricky and we don’t expect any perfect plan.

There are three evalutions and I would suggest to take the evaluation’s dates into account to come with three well defined deliverables which will be used for the evalutions at the end of each phase . After defining those deliverables you should divide them into more managable chuncks and come with a more clear and organized timeline.

Here is an example of a proposal from 2016, that might give you an idea for your timeline.

This an extreme example and it’s probably too much, but it has a very clean timeline.

Take into account the GSoC timeline.

1 Like