Skip to content

GSoC 2017

Thorbjørn Lindeijer edited this page Apr 5, 2018 · 28 revisions

Google Summer of Code 2017

Tiled was accepted in the Google Summer of Code 2017. This page contains a list of projects we suggested. We mentored three students who all succeeded in their projects. The following posts summarize how it went:

Please note that Google Summer of Code projects are a full (day-) time job.

Projects

Add Scripting Capabilities

There is the desire of adding scripting capabilities to Tiled with the intention of letting end users extend editor's functionality and get it closer to the end user specific needs.

This project would be to create a basic API to expose some of the current editor functionality. JavaScript would be the desired scripting language, based on the QJSEngine.

The feature should allow to enable / disable the scripts within the editor, but the scripts are expected to be written using an external editor initially.

For more information follow the ticket #949.

Wang Tiles and Filling Tools

One of the things that you might want to do while filling a tiled map is to reduce the repetitiveness of the tiles and keep a continuous map. Wang Tiles provide a nice approach to this issue (#1455).

The idea is to create a workflow for a filling tool that uses Wang Tiles as a strategy for filling a selected area. This project can be combined with some general improvements to filling methods (#1272).

Object Library / Object Templates

Be able to re-use objects with a specific set-up (#70). This could mean either a way to persistently store certain objects in a library from which they can be later copied again, or to allow object instances to refer to a full definition elsewhere, which can be edited to affect all instances of the object.

Custom Property Improvements

There is a need for allowing the definition of enumerated properties (#1211), as well as nested properties (#489) and array properties (#1493).

Connecting Objects

Often users could use native support for making connections between objects (#707). This project would include adding an object reference property type (finishing #1408), visualizing such referencing in the map view and allowing to navigate the map through these reference.

The object reference could be extended to also support referring to objects on other maps (in games often useful for "teleports").

General Improvements

There are big amount of small and tiny improvements that can be done for Tiled. This project would aim to close a good chunk of this issues and missing features.

  • Remember previous file edit session (#408)
  • Reload images when changed on disk (#825)
  • Broken references dialog (#1189)
  • Tile set navigation (#1238)
  • Add lz-string compression (#1394)
  • Improve data compression (#1191)

Your Project Idea

We are open to your ideas! If you have your own ideas for improving Tiled, you are more than welcome to send a proposal.

Application Process

If you got interested in any of our projects and you are willing to be part of us and contribute to improving Tiled follow the next guideline to apply.

  • Sign-up in our forum and establish contact with any of the administrators. [1][2]

  • Tell us in which project you are interested.

  • Why would you like to work with us?

  • Let us know your previous experience as programmer.

  • Which programming projects have you done before?

  • Which languages and technology did you use for them?

  • Did you worked in a team or alone?

  • Have you done any contribution to any open source project before?

  • Do you have any previous experience working with Git or any versioning software?

  • Do you have any prior experience with C++ and Qt?

  • Do you have any project in a public repository we can take a look at?

  • If you have a CV/resume online, feel free to include a link.

  • Let's us know if there is any contact we can refer to, they can be either a professor or a previous employer.

For latest news check the GSoC 2017 thread.

Requirements

All applicants should fork the Tiled repository, compile it and make a change or small improvement to the editor.

  1. Follow the instructions to compile the project (https://github.com/bjorn/tiled).

  2. Fix a simple issue or bug like one of the outstanding usability improvements:

https://github.com/bjorn/tiled/labels/Usability

  1. Commit your changes in your personal repository and create a pull request.

  2. Send the administrators your proposal with the following our template.
    Do this before doing your final application, this will allow us to give you feedback.

For any feedback or private communication send us a mail to tiled.gsoc@gmail.com.