Google Summer of Code 2017

(Mohamed Thabet) #81

Here are some projects we’ve done with Qt (link) (link).

(Thorbjørn Lindeijer) #82

Welcome @thabetx! I’m sorry that in my excitement I kind of grabbed your PR and fixed up all the feedback I had myself, so I didn’t give you an opportunity to respond to it. I even missed an issue with the updating of the marching ants offset that I pushed a fix for just now.

The Object Library project is probably best covered by issue #70 at the moment. The idea is first of all to save people time by providing a way to quickly insert common objects into a level, but in addition it could allow for changing those objects later on and affecting the instances already placed (which would then need to refer to the original definition in some way). It would be good to do some research on how this could be done in order to write a good proposal.

(Mohamed Thabet) #83

@bjorn no problem :smiley: and thanks for the lead.

I kind of have a picture in my mind about how the result would look like, but as you said, I still need to reason about the code and find an appropriate approach, will share my proposal in the upcoming days.

(Artem) #84

I rethink list of issues that seems me interesting, also reduce time for feature realization, I looked at the code and understood that some part of my timeline was too pessimistic :smile:.

Here is a link. Will be grateful for feedback

(Thorbjørn Lindeijer) #86

While I may be a little flattered that Tiled is such a great inspiration for you, I am not at all happy with what you’re doing here. Your Fission-Toolkit contains large parts of Tiled source code, which is copyright mostly by me and released under the General Public License (Free Software). However, in copying the source code you have removed the copyright notices as well as the license. So you’re in violation of the following:

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

I’m going to assume this was unintentional, but you should be careful when copying other people’s source code that you do so in a way that respects the license it was released under. How now should I judge any of the code I see in your other projects, if you are presenting my code as your own proprietary code?

For a) I think it’s alright to simply keep the license comment in each file, adding a copyright line with your name and the year(s) of modification. For b) you need to add appropriate licensing information to your repository.

(Rostislav Stelmach) #87

Hello, you are right, sorry for that!
This repository was private, and I opened a few days ago for GSoC, I just forgot to change the license file/modifications and credit file. I feel bad about this, really sorry. I don’t have to say anything else.

(Logan Spencer) #88


I am Logan Spencer, second and half year student from the University of Oklahoma. I am pursuing my degree in Computer Science, and have been programming for over 13 years. I started out in GameMaker when it was first released and my interest has always been Game Design. Shortly after High School I joined the United States military and did 6 years in the armed forces. After the military I went straight to University and that is what I have been doing full time since.

My passion has always been programming and game design. I will not lie, I am fairly new to QT (its super easy and I have kind of fallen in love), but have been using C++ for a very long time. Over the course of only 3 days (part time), I have created my first pull request referencing issue 1492.

I try to be quick and efficient with everything I program. My philosophy is “The best one solution is one solution that solves multiple issues”. Everything I create I try to make flexible and easy to use. I am very meticulous, and careful to be sure everything is problem free, to the best of my ability.

I would love to work on this project full time, though if I do not get accepted to GSoC I will have to work elsewhere :slight_smile: With my strength of being quick and efficient I believe my biggest contribution would be through clearing out the issues list (Though I am not against adding new huge features either). I believe the base of good software is ease of use and functionality. Software can be powerful but limit its user base by being clunky and hard to interact with. I believe it is important to have a strong foundation on the little things to gain mass popularity.

I will save the “rest” for my proposal! Thank you for reading
p.s. My communication skills are unprecedented <<<<---- Important :slight_smile:

(Kalinich Ignat) #89

Hello again,thanks for feedback! I have wrote a more detailed plan of work and allowed review, it’s without time estimation yet. I tried to follow Tiled architecture in my solution. Does it has enough details? Link

(Nashmia Riaz) #90

Hello, all :slight_smile:

My name is Nashmia Riaz & I’m looking forward to submitting my proposal to Tiled for GSoC 2017. I would like to work on “General Improvements” idea given by the Tiled team. Any help on getting started (help documentation regarding the code etc) would be great.

I’m a third year university student majoring in Software Engineering at National University of Science & Technology (NUST), Pakistan. One of the reasons I got into this major was because I wanted to make games as a profession.

C and C++ were the very first couple of languages I was introduced to as a programmer, so I’m very proficient at these. Some of my first projects included making games in C and C++ accompanied by SDL and OpenGL. My recent projects include a silly little game I made in Unity that you can see here, an online resume building website and countless other projects that you can view on my Github.

Besides this, I’m a graphic designer. I believe that presentation and aesthetics are key towards building any program. Therefore, I have a good eye for detail as well.

(Thorbjørn Lindeijer) #91

Hey Rostislav, it’s alright. It happens and I’m sorry as well because I think I overreacted a little. I’m looking forward to your comeback when you resolve this little issue. You’re still welcome to submit a proposal for doing Tiled project and I would also look forward to collaborating with you in general.

(Thorbjørn Lindeijer) #92

Hey @laspencer91! I’m curious to see your proposal and I hope you’ll get around to resolving the issues with your pull request soon. :slight_smile:

It’s an nice improvement. Your timeline is still a bit thin though and I had some comments on the general planning.

Hey @Nashmia_Riaz, welcome! My main piece of advice regarding “General Improvements” is what I’ve said earlier about it, so to make your own list of things you’d like to work on. For getting started, we unfortunately just have the Contributing to Tiled page with some instructions on needed setup for compiling Tiled yourself. The source code in general should be easy to read and has some comments, but no external documentation about the design exists.

Do you have an idea of what small change you’d like to do to Tiled now? Maybe you can find something on the issue list, but you can feel free to make up an improvement of your own as well.

(Ketan Gupta) #93

I’ve submitted my proposal for review via the official website :slight_smile:

(Ketan Gupta) #94

Also, I just saw that one of the features that I’ve mentioned in my proposal is being worked upon by @laspencer91 so I think I need to remove that particular feature.

(Logan Spencer) #95

Proposal draft 1 submitted! Thank you guys for taking your time doing this, its awesome.

(Jim Lynch) #96

Hey, I’m also interested in helping out where I can. I graduated college a few years ago and have been working with primary node.js recently. I’m trying to build a little 2d virtual world right now. Tbh I’m primarily a coder and still learning Tiled myself, but I think it’s an awesome map editor a like getting involved in random projects.

(Brandon Manseau) #97

My name is Brandon and I am soon to be a junior attending
the University of Massachusetts, Lowell
for Computer Science. I have been practicing
Java for ~5 years and C++ for ~2 years.

I work with Win 10, Ubuntu 16 (and sometimes Arch).
Each uses virtual box to boot the other physically.
I am decent at batch / bash scripting and am in love
with Makefiles on Unix machines.

I have not used QT before, but I am picking it up.
I do have to learn more about the macros, build-system, and linking.
I have QTCreator and its very use-able.

Tiled literally got me bootstrapped when I wanted to learn
about game development. I have used tmx runtimes from
and have written and parsed both Xml / Json notations with
this library.

I would love to work on:
*- Wrappable, Orthographic tile drawing
*- Wrappable, Isometric tile drawing ( may need help with isometric )
- Save tile by overwritting spritesheet file (png) at correct x, y, width, height
- Support Create spritesheet from scratch functionality.
- Palette import, save, edit
.pal is encoded using this scheme

unsigned m = #colors
int c[m];

[File begin] m | c[0] | c[1] | … | c[m-1] | ‘\0’ [File end]

-	Adding GLSL shaders to specific layers under layer properties ( or even globally ) 
	-	dynamic uniform passing from tiled to shader so that parameters can be tweaked ( e.g. "blur-amount = 16" ) on the fly.
	-	shadow, blur, sharpen, 'cartoon' shaders are freely available... find standard GLSL 150 implementations to distribute to 3rd parties
		-	Allow plugin packs to come with uniquely named shaders that become available to the users
	-	implement this built-in property in the most popular, open source, tmx runtime.
		-	(using a cached spritebatch, as most of them already do)

What I want to learn:
- The ins and outs of Qt’s library, build system and linking
- The ins and outs of Qt’s rendering pipeline
- To understand the plugin interface you have developed
- If it is possible to pass a configuration pointer (pointer to map obj) to plugins during runtime to extend plugin functionality
- How to write my own plugin
- Cross-platform C++ development, multi-OS debugging.

  • How to work with an open source community to deliver my skills to the features that matter to that community the most.

(Alexander Shaposhnikov) #98

@bjorn, I’m a young 3rd year student of National University of Ukraine “Kyiv Polytechnical Institute” for Computer Engineering. I’m proficient with modern C++ and Qt 5. I’m also familiar with a bunch of other technologies and it’s very easy for me to learn new. I have examples of my works on my Github page (ones with the cg_lab* in it) although they are rather sketchy.
I’ve used Tiled for my little Pacman game that is not on Github a week ago and I was amazed to see it on GSoC!
I’m interesed in the Project system in Tiled. That is the feature I felt missing. I believe that it would be super easy to manage multiple maps and resources and would help with some other features like issues #1313,
#1263, #1191 and else. Also, projects are kind of mature way to manage maps for different games and it will allow making maps in a studio environment with a minimal hassle.

I’m currently working on my PR. It’s Move Selection (issue #650). Thats a shame that it was missing :slight_smile: I’ve uploaded my draft without PR for now as there is a little time to get any feedback.


My name is Kyrylo Yeremenko and I’m a second year student of systems engineering in Kiev Polytechnic Institute. I’m interested in working on Object Library project of Tiled and if all else fails, Tiled in general.
I usually use C++ and Qt in my projects but also have a handful of experience with C and x86 Assembly. My experience mostly consists of work on awkward Tetris ripoff and collection of pseudo-random number generators along with small test battery, aside from 2d-pathfinding class tasks. Made a PR addressing #563, looking forward to your feedback

(Mohamed Thabet) #100


I’ve updated my draft and submitted the final PDF, would be glad to receive some final feedback if the time permits, thank you.

(Erik Schilling) #101

@bjorn and I started reviewing earlier. But @bjorn is a bit busy. We plan to finish it later today.

Sorry for the delay.